在线运行 Linux,强的离谱!

作者:JackTian
文章首发于公众号:【杰哥的IT之旅】

大家好,我是杰哥。

对于 Linux 初学者来说,当接触 Linux 操作系统时,可通过虚拟机、云主机或企业服务器的环境学习 Linux,有朋友可能会问了,那有没有无需安装即可运行的操作系统呢?

正好,我最近发现了一个非常不错的网站 —— DistroTest

1、DistroTest

这个网站可以让你免费使用在线版的 Linux 和 Unix 操作系统,无需在本地进行安装。

你只需找到自己需要的操作系统版本即可在线进行测试,而且操作系统没任何限制,可使用系统的所有功能,包括卸载安装软件、测试安装程序、甚至删除或格式化硬盘、删除系统文件等;

我这里试用的是 Archlinux,点击start按钮即可启动所选的操作系统。

此在线版操作系统将会在新浏览器窗口中进行启动,当弹出如下界面时,会有一些提示,例如:停止系统、重置系统、root 用户密码和普通用户密码。点击Open VNC-Viewer(allow POP-UPs!)按钮即可进入到系统登录界面。

这里可以通过内建的 noVNC viewer 访问,但需要在浏览器中启用 / 允许 DistroTest 网站的弹出窗口,否则将无法看到弹出的 noVNC 窗口。

如果你不想启用 DistroTest 页面的弹出窗口,可在本地系统安装任意 VNC 客户端,VNC 登录信息同样也是可以在同一页面中找到的。

这样最终就进入到Arch Linux在线版的操作系统了。

若每次关机后,系统将会恢复到默认配置,当试用结束后,回到 DistroTest 页面将会停止试用的操作系统。

DistroTest 地址:https://distrotest.net/

据 2021.12.29 官方统计数据显示,DistroTest 提供了 373 种操作系统的 762 个版本。

讲真,这么多年我所接触的 Linux,但在这个网站里所列出的有一些从未听说过的发行版,甚至都不知道 Linux 操作系统原来有如此之多的版本。

除此之外,也包括部分非 Linux 的操作系统,比如:FreeBSD、FreeDOS、Gparted(磁盘分区工具)简直是刷新了我对 Linux 的认知。

2、OnWorks

OnWorks 是一个免费的托管运行 Linux Mint 在线服务器,需要在 Chrome 浏览器中安装 Linux Mint 在线服务器插件,是可以基于多种操作系统,例如:CentOS、Fedora、Ubuntu 和 Debian 等等,是一个多操作系统平台,可以从任何地方运行和测试任何类型的操作系统。简单、功能齐全、轻便且易使用。

OnWorks 地址:https://www.onworks.net/

插件下载地址:https://chrome.google.com/webstore/detail/linux-mint-online-server/ohcdfkmeiinmedcnjfdpdmffmohlomjd

3、Webminal

Webminal 是一款免费的 GNU/Linux 在线终端和编程 IDE,为用户提供了一个独特的免费在线学习平台,可以在其中了解 Linux、练习 Linux 以及与其他 Linux 用户进行互动。

使用 Webminal,可以练习 Linux 命令、编写 Bash 脚本、创建和访问 MySQL 表、学习 Python、C、Ruby、Java、Rust 编程以及使用虚拟平台执行基本的 root 用户任务。借助“Webminal Play”功能,还可以观看视频(而不是阅读文档)并进行练习。

Webminal 的功能:

  • 在线 Linux/bash 终端,无需安装;
  • 练习 Linux 命令,包括文件系统、文件管理、在 bash/awk/sed 和 MySQL 中编写脚本;
  • 可获得 100MB 存储空间;
  • 最多可创建 1000 个文件;
  • 可以创建的最大文件大小为 1MB;
  • 可以与社区成员共享文件并让他们使用你的脚本/程序验证/调试问题等;
  • 一个进程可以打开的最大文件数为 15;
  • 最多可同时运行 10 个进程;
  • 不能登录多次,除非退出;
  • 创建属于自己的群组并在群组成员之间共享文件;

除此之外,Webminal 官方也明确指出了 MySQL 的特性,如下:

MySQL 的特性:

  • 最多可创建 4 个表;
  • 数据库大小应该小于 200KB;
  • 每小时最多可执行 200 个查询;
  • 每小时最多可执行 100 个更新查询;
  • 只能有一个 MySQL 连接;
  • 不允许访问其他用户的数据库;

Webminal 地址:https://www.webminal.org/terminal/#

4、Tutorials Point Coding Ground

Tutorials Point Coding Ground 这个在线工具是开发工程师们编码、编辑、运行和共享的一个编码基础平台,它支持多语言、代码高亮、新建文件 / 项目、下载文件 / 项目、自定义设置(例如:主题颜色)、错误提示等功能。

主要包括:

  • 数据科学技术:Python 3、R、Matplotlib、NumPy、Matlab、SciPy 等;
  • 编程语言:C、C++、C#、Java、PHP、Perl、Ruby、Scala、Swift、VB.net 等;
  • Web 开发技术:CSS、HTML、Javascript、Jquery、Typescript、VueJS 等;
  • 文件编辑器:Latex、Markdown、Tex 等;
  • 在线编译器和解释器:AWK、Bash Shell、GO、Node.JS 等;

当然了,也少不了我们在线运行 Bash Shell 的环境,我通过它写了个乘法口诀的脚本程序。

代码如下:

#!/bin/bash
# Filename:My multiplication.sh
# Date:2021/12/30
# 公众号:杰哥的IT之旅
# Name:JackTian
# WeChat:Hc220088
# Description:The multiplication formula program is in bash shell

sum=0

for ((a=1;a<=9;a++))
do
  for ((b=1;b<=$a;b++))
  do
  
  sum=$[$a*$b]

echo -ne “$a*$b=$sum\”

  done
  
echo

  done

输出结果:

“1*1=1”
“2*1=2”“2*2=4”
“3*1=3”“3*2=6”“3*3=9”
“4*1=4”“4*2=8”“4*3=12”“4*4=16”
“5*1=5”“5*2=10”“5*3=15”“5*4=20”“5*5=25”
“6*1=6”“6*2=12”“6*3=18”“6*4=24”“6*5=30”“6*6=36”
“7*1=7”“7*2=14”“7*3=21”“7*4=28”“7*5=35”“7*6=42”“7*7=49”
“8*1=8”“8*2=16”“8*3=24”“8*4=32”“8*5=40”“8*6=48”“8*7=56”“8*8=64”
“9*1=9”“9*2=18”“9*3=27”“9*4=36”“9*5=45”“9*6=54”“9*7=63”“9*8=72”“9*9=81”

Tutorials Point Coding Ground 地址:

https://www.tutorialspoint.com/execute_bash_online.php

5、jsuix

JS/UIX 终端在 Web 浏览器上运行其实是与 UNIX 的操作系统非常相似,完全基于 JavaScript 编写,它包括虚拟机、Shell、虚拟文件系统、进程管理、是带有屏幕和键盘映射的终端。

点击open terminal即可打开终端。

该 JS/UIX 终端的键盘是接受 US-ASCII 字符集,如果你希望使用屏幕键盘来进行输入命令,可以点击终端左下角的显示键盘按钮来进行操作。

备用键盘映射(可能取决于系统和浏览器):

  • CTRL + SHIFT + [KEYPAD]<4> 为左
  • CTRL + SHIFT + [KEYPAD]<6> 向右
  • CTRL + SHIFT + [KEYPAD]<8> 向上
  • CTRL + SHIFT + [KEYPAD]<2> 向下
  • CTRL + SHIFT + [KEYPAD]<0> 用于退格

JS/UIX 终端是不需要任何插件来打开终端的,如果你要在 JS/UIX 终端上练习命令,可以通过guest 访客身份登录,无需输入密码,回车即可进行使用。

JS/UIX 地址:https://www.masswerk.at/jsuix/index.html

6、jslinux

jslinux 是基于 JavaScript 语言编写的 Linux 模拟器包,可以在 Web 浏览器中运行 Linux。

提供多种系统选择,你也可以在上面编译运行代码。
不过整体感觉不是很流畅。

JSLinux 地址:https://bellard.org/jslinux/

7、Copy.sh

Copy.sh 是一个高效的在线 Linux 终端,能够仿真其他操作系统,包括:Arch Linux、FreeDOS、FreeBSD、OpenBSD、Windows 2000、Windows 98 等;

首次加载仿真器时,可以选择所需的操作系统,并根据自己的要求进行定制,同时还支持多种发行版,想体验不同操作系统的可以试试。

Copy.shhttps://copy.sh/v86/

8、jor1k

jor1k 是一个用运行 Linux 的 JavaScript 编写的 OpenRISC 1000 模拟器,几乎可以在任何现代 Web 浏览器中运行。

jor1k 地址:http://s-macke.github.io/jor1k/

9、linuxcontainers

linuxcontainers 是 LXD、LXC、LXCFS 和 distrobuilder 背后的项目,目的是为 Linux 容器技术的开发提供一个发行版的环境并提供运行完整 Linux 系统的容器和虚拟机,可以运行一台演示服务器来充当运行 Linux 终端的 Shell 环境。

虽然 VM 提供了一个完整的环境,系统容器所提供的环境与 VM 的环境尽可能接近,但没有运行单独的内核和模拟所有硬件所带来的消耗。

演示服务器环境有以下限制:

  • 限时 30 分钟
  • 每个 IP 限制 4 个会话
  • 2 个共享 CPU 内核
  • 512MB 专用内存
  • 5GB 专用磁盘空间
  • 连接受限的仅 IPv6 网络连接

LXD 是下一代系统容器和虚拟机管理器,它主要是围绕在容器或虚拟机内运行的完整 Linux 系统提供统一的用户体验。

LXD 是基于映像的,并为大量 Linux 发行版提供映像。为各种用例提供了灵活性和可扩展性,支持不同的存储后端和网络类型,并且可以选择安装在从单个笔记本电脑或云实例到完整服务器机架的硬件上。

使用 LXD 时,可以使用简单的命令行工具、直接通过 REST API 或使用第三方工具集成来管理您的实例(容器和 VM)。LXD 也为本地和远程访问实现了一个 REST API。

linuxcontainers 地址:https://linuxcontainers.org/lxd/try-it/

10、CodeAnywhere

Codeanywhere 是一个即服务为最终用户提供跨平台的 Cloud IDE,可以在几秒钟内部署开发环境来节省时间,能够对项目进行编码、学习、构建和协作。要运行免费的 Linux 虚拟机,首先需要在网站上注册,然后订阅他们的免费计划。

注册后,继续创建新连接,并使用您选择的操作系统设置容器。完成所有这些步骤后,您将拥有一个可靠且免费的 Linux 控制台。

CodeAnywhere 地址:https://codeanywhere.com/

11、cocalc

cocalc 是一个不会弄乱你自己电脑的在线 Linux 终端,提供了完整的、协作的、实时同步的 Linux 命令行终端。

cocalc 的好处:

  • 不需要安装和维护任何软件;
  • 支持多人实时协作使用同一个终端;
  • 可编辑和运行 shell 脚本文件;
  • 使用终端可以与旁边的聊天功能与他人讨论相关命令;
  • 自动备份可确保您的文件安全;
  • 可以在本地桌面和在线终端之间进行复制和粘贴;

cocalc 的特征:

  • 学习 Bash 脚本;
  • 了解如何使用 Linux 命令行;
  • 运行用 Python、R、PHP、Ruby、Go、Perl、Nodejs 等编写的脚本;
  • 编译用 C/C++、Java、Rust、Assembly、Fortan、Julia、Zig、Haskell 等编写的程序;
  • 处理和存储数据文件;
  • 使用图形 X11 应用程序;

cocalc 地址:https://cocalc.com/features/terminal

12、linuxzoo

linuxzoo 是使用具有 root 访问权限的远程私有 Linux 机器访问安全的学习 Linux。

linuxzoo 地址:https://linuxzoo.net/

13、jdoodle

jdoodle 是一个在线编译器和编辑器,支持 76 多种语言,具有多个版本和 2 个数据库。

同样也有专门用来练习 Shell 编程的在线环境。

jdoodle Bash shell 地址:

https://www.jdoodle.com/test-bash-shell-script-online/

14、paiza.io

paiza.IO 是一个在线编辑器和编译器,可以在其中立即编写和运行代码。

支持多种语言,可以用于学习编程、抓取网站、编写批处理等;

同样也有专门用来练习 Shell 编程的在线环境。

paiza 地址:

https://paiza.io/projects/s0poMEX88nNR_Pd7IByIFQ?language=bash

15、Shellcheck

Shellcheck 是一个静态 Bash 语法检查工具,它可以在多种场景下使用,包括在线使用、命令行检查、编辑器配置。

当你在 Linux / Unix 平台下编写 Bash Shell 编译大量代码的时候,常常会花费大量的时间,然而这时你可以通过 Shellcheck 提前知道你所写脚本的语法问题,同样也会给出你相关纠错提示。

除了在线使用之外,还可以通过命令行进行检查,支持基于 Debian、Arch Linux、EPEL、Fedora、FreeBSD、MacOS、OpenSUSE、Windows 等多个操作系统上进行安装检查;

对于 Shellcheck 命令行的安装方式,可以参考 Shellcheck 的 GitHub 库。

脚本案例:

#!/bin/bash

DIRPATH='/tmp/jstack'
CURRENT_TIME=$(date +'%F'-'%H:%M:%S')

if [ ! -d "$DIRPATH" ];then
    mkdir "$DIRPATH"
else
    rm -rf "$DIRPATH"/*
fi

cd "$DIRPATH"

while true
do
    sleep 3600
    # 这里需要将inceptor改后自己的java进程名称
    pid=$(ps -ef | grep 'inceptor' | grep -v grep | awk '{print $2}')
    jstack $pid >> "jstack_${CURRENT_TIME}"
    dir_count=$(ls | wc -l)
    if [ "$dir_count" -gt 10 ];then
       rm -f $(ls -tr | head -1)
    fi
done

Shellcheck 检查输出结果:

$ shellcheck myscript
 
Line 10:
    rm -rf "$DIRPATH"/*
           ^-- SC2115 (warning): Use "${var:?}" to ensure this never expands to /* .
 
Line 13:
cd "$DIRPATH"
^-- SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

Did you mean: (apply this, apply all SC2164)
cd "$DIRPATH" || exit
 
Line 19:
    pid=$(ps -ef | grep 'inceptor' | grep -v grep | awk '{print $2}')
          ^-- SC2009 (info): Consider using pgrep instead of grepping ps output.
 
Line 20:
    jstack $pid >> "jstack_${CURRENT_TIME}"
           ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: (apply this, apply all SC2086)
    jstack "$pid" >> "jstack_${CURRENT_TIME}"
 
Line 21:
    dir_count=$(ls | wc -l)
                ^-- SC2012 (info): Use find instead of ls to better handle non-alphanumeric filenames.
 
Line 23:
       rm -f $(ls -tr | head -1)
             ^-- SC2046 (warning): Quote this to prevent word splitting.
               ^-- SC2012 (info): Use find instead of ls to better handle non-alphanumeric filenames.

$

Shellcheck 在线使用地址:https://www.shellcheck.net/#

Shellcheck GitHub 地址:https://github.com/koalaman/shellcheck

最后

以上就是我所列出的一些可以帮助您通过 Web 浏览器在线运行 Linux 的网站以及一些在线编译器,虽然说大大减少了我们通过 VMware Workstation 安装虚拟机的时间,各有利弊,但是上述有些网站是无需注册的,可直接通过 root 用户在线运行,可用的 Linux 命令也很多。

相反,有些网站是需要注册的,但是受权限限制,可能无法使用 root 用户,可执行的 Linux 命令也相对会少很多。但总体体验一番,有些在线运行还是非常顺畅的,跟 VMware Workstation 以及实际场景的服务器环境还是有存在很大差别的。

介绍了这么多,您会选择以上哪一个?谁能想到居然还可以通过 Web 浏览器上运行 Linux 系统?谁又能想到通过 Web 浏览器实现在线运行 Linux 操作系统环境如此的简单?

尽管如此,强烈建议在浏览器上打开任何网站之前检查系统上是否存在任何其他恶意软件或病毒。一个有存在问题或有病毒的浏览器可能会破坏你学习 Linux 系统的流畅体验。

最后的最后,除上述介绍的在线运行 Linux 以及在线编译器之外,你平时还在用哪些?欢迎大家留言分享。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容