在線運(yùn)行 Linux,強(qiáng)的離譜!
大家好,我是杰哥。
對(duì)于 Linux 初學(xué)者來(lái)說(shuō),當(dāng)接觸 Linux 操作系統(tǒng)時(shí),可通過(guò)虛擬機(jī)、云主機(jī)或企業(yè)服務(wù)器的環(huán)境學(xué)習(xí) Linux,有朋友可能會(huì)問(wèn)了,那有沒(méi)有無(wú)需安裝即可運(yùn)行的操作系統(tǒng)呢?
正好,我最近發(fā)現(xiàn)了一個(gè)非常不錯(cuò)的網(wǎng)站 —— DistroTest。

1、DistroTest
這個(gè)網(wǎng)站可以讓你免費(fèi)使用在線版的 Linux 和 Unix 操作系統(tǒng),無(wú)需在本地進(jìn)行安裝。
你只需找到自己需要的操作系統(tǒng)版本即可在線進(jìn)行測(cè)試,而且操作系統(tǒng)沒(méi)任何限制,可使用系統(tǒng)的所有功能,包括卸載安裝軟件、測(cè)試安裝程序、甚至刪除或格式化硬盤、刪除系統(tǒng)文件等;
我這里試用的是?Archlinux,點(diǎn)擊start按鈕即可啟動(dòng)所選的操作系統(tǒng)。

此在線版操作系統(tǒng)將會(huì)在新瀏覽器窗口中進(jìn)行啟動(dòng),當(dāng)彈出如下界面時(shí),會(huì)有一些提示,例如:停止系統(tǒng)、重置系統(tǒng)、root 用戶密碼和普通用戶密碼。點(diǎn)擊Open VNC-Viewer(allow POP-UPs!)按鈕即可進(jìn)入到系統(tǒng)登錄界面。

這里可以通過(guò)內(nèi)建的 noVNC viewer 訪問(wèn),但需要在瀏覽器中啟用 / 允許 DistroTest 網(wǎng)站的彈出窗口,否則將無(wú)法看到彈出的 noVNC 窗口。
如果你不想啟用 DistroTest 頁(yè)面的彈出窗口,可在本地系統(tǒng)安裝任意 VNC 客戶端,VNC 登錄信息同樣也是可以在同一頁(yè)面中找到的。
這樣最終就進(jìn)入到Arch Linux在線版的操作系統(tǒng)了。

若每次關(guān)機(jī)后,系統(tǒng)將會(huì)恢復(fù)到默認(rèn)配置,當(dāng)試用結(jié)束后,回到 DistroTest 頁(yè)面將會(huì)停止試用的操作系統(tǒng)。
DistroTest 地址:https://distrotest.net/
據(jù) 2021.12.29 官方統(tǒng)計(jì)數(shù)據(jù)顯示,DistroTest 提供了 373 種操作系統(tǒng)的 762 個(gè)版本。

講真,這么多年我所接觸的 Linux,但在這個(gè)網(wǎng)站里所列出的有一些從未聽說(shuō)過(guò)的發(fā)行版,甚至都不知道 Linux 操作系統(tǒng)原來(lái)有如此之多的版本。
除此之外,也包括部分非 Linux 的操作系統(tǒng),比如:FreeBSD、FreeDOS、Gparted(磁盤分區(qū)工具)簡(jiǎn)直是刷新了我對(duì) Linux 的認(rèn)知。
2、OnWorks
OnWorks 是一個(gè)免費(fèi)的托管運(yùn)行 Linux Mint 在線服務(wù)器,需要在 Chrome 瀏覽器中安裝 Linux Mint 在線服務(wù)器插件,是可以基于多種操作系統(tǒng),例如:CentOS、Fedora、Ubuntu 和 Debian 等等,是一個(gè)多操作系統(tǒng)平臺(tái),可以從任何地方運(yùn)行和測(cè)試任何類型的操作系統(tǒng)。簡(jiǎn)單、功能齊全、輕便且易使用。

OnWorks 地址:https://www.onworks.net/
插件下載地址:
https://chrome.google.com/webstore/detail/linux-mint-online-server/ohcdfkmeiinmedcnjfdpdmffmohlomjd
3、Webminal
Webminal 是一款免費(fèi)的 GNU/Linux 在線終端和編程 IDE,為用戶提供了一個(gè)獨(dú)特的免費(fèi)在線學(xué)習(xí)平臺(tái),可以在其中了解 Linux、練習(xí) Linux 以及與其他 Linux 用戶進(jìn)行互動(dòng)。
使用 Webminal,可以練習(xí) Linux 命令、編寫 Bash 腳本、創(chuàng)建和訪問(wèn) MySQL 表、學(xué)習(xí) Python、C、Ruby、Java、Rust 編程以及使用虛擬平臺(tái)執(zhí)行基本的 root 用戶任務(wù)。借助“Webminal Play”功能,還可以觀看視頻(而不是閱讀文檔)并進(jìn)行練習(xí)。

Webminal 的功能:
在線 Linux/bash 終端,無(wú)需安裝;
練習(xí) Linux 命令,包括文件系統(tǒng)、文件管理、在 bash/awk/sed 和 MySQL 中編寫腳本;
可獲得 100MB 存儲(chǔ)空間;
最多可創(chuàng)建 1000 個(gè)文件;
可以創(chuàng)建的最大文件大小為 1MB;
可以與社區(qū)成員共享文件并讓他們使用你的腳本/程序驗(yàn)證/調(diào)試問(wèn)題等;
一個(gè)進(jìn)程可以打開的最大文件數(shù)為 15;
最多可同時(shí)運(yùn)行 10 個(gè)進(jìn)程;
不能登錄多次,除非退出;
創(chuàng)建屬于自己的群組并在群組成員之間共享文件;
除此之外,Webminal 官方也明確指出了 MySQL 的特性,如下:
MySQL 的特性:
最多可創(chuàng)建 4 個(gè)表;
數(shù)據(jù)庫(kù)大小應(yīng)該小于 200KB;
每小時(shí)最多可執(zhí)行 200 個(gè)查詢;
每小時(shí)最多可執(zhí)行 100 個(gè)更新查詢;
只能有一個(gè) MySQL 連接;
不允許訪問(wèn)其他用戶的數(shù)據(jù)庫(kù);

Webminal 地址:https://www.webminal.org/terminal/#
4、Tutorials Point Coding Ground
Tutorials Point Coding Ground 這個(gè)在線工具是開發(fā)工程師們編碼、編輯、運(yùn)行和共享的一個(gè)編碼基礎(chǔ)平臺(tái),它支持多語(yǔ)言、代碼高亮、新建文件 / 項(xiàng)目、下載文件 / 項(xiàng)目、自定義設(shè)置(例如:主題顏色)、錯(cuò)誤提示等功能。
主要包括:
數(shù)據(jù)科學(xué)技術(shù):Python 3、R、Matplotlib、NumPy、Matlab、SciPy 等;
編程語(yǔ)言:C、C++、C#、Java、PHP、Perl、Ruby、Scala、Swift、VB.net 等;
Web 開發(fā)技術(shù):CSS、HTML、Javascript、Jquery、Typescript、VueJS 等;
文件編輯器:Latex、Markdown、Tex 等;
在線編譯器和解釋器:AWK、Bash Shell、GO、Node.JS 等;
當(dāng)然了,也少不了我們?cè)诰€運(yùn)行 Bash Shell 的環(huán)境,我通過(guò)它寫了個(gè)乘法口訣的腳本程序。
代碼如下:
#!/bin/bash
#?Filename:My multiplication.sh
#?Date:2021/12/30
#?公眾號(hào):杰哥的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
輸出結(jié)果:
“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 瀏覽器上運(yùn)行其實(shí)是與 UNIX 的操作系統(tǒng)非常相似,完全基于 JavaScript 編寫,它包括虛擬機(jī)、Shell、虛擬文件系統(tǒng)、進(jìn)程管理、是帶有屏幕和鍵盤映射的終端。

點(diǎn)擊open terminal即可打開終端。

該 JS/UIX 終端的鍵盤是接受 US-ASCII 字符集,如果你希望使用屏幕鍵盤來(lái)進(jìn)行輸入命令,可以點(diǎn)擊終端左下角的顯示鍵盤按鈕來(lái)進(jìn)行操作。
備用鍵盤映射(可能取決于系統(tǒng)和瀏覽器):
CTRL + SHIFT + [KEYPAD]<4> 為左
CTRL + SHIFT + [KEYPAD]<6> 向右
CTRL + SHIFT + [KEYPAD]<8> 向上
CTRL + SHIFT + [KEYPAD]<2> 向下
CTRL + SHIFT + [KEYPAD]<0> 用于退格
JS/UIX 終端是不需要任何插件來(lái)打開終端的,如果你要在 JS/UIX 終端上練習(xí)命令,可以通過(guò)guest 訪客身份登錄,無(wú)需輸入密碼,回車即可進(jìn)行使用。

JS/UIX 地址:https://www.masswerk.at/jsuix/index.html
6、jslinux
jslinux 是基于 JavaScript 語(yǔ)言編寫的 Linux 模擬器包,可以在 Web 瀏覽器中運(yùn)行 Linux。

提供多種系統(tǒng)選擇,你也可以在上面編譯運(yùn)行代碼,不過(guò)整體感覺(jué)不是很流暢。
JSLinux 地址:https://bellard.org/jslinux/
7、Copy.sh
Copy.sh 是一個(gè)高效的在線 Linux 終端,能夠仿真其他操作系統(tǒng),包括:Arch Linux、FreeDOS、FreeBSD、OpenBSD、Windows 2000、Windows 98 等;

首次加載仿真器時(shí),可以選擇所需的操作系統(tǒng),并根據(jù)自己的要求進(jìn)行定制,同時(shí)還支持多種發(fā)行版,想體驗(yàn)不同操作系統(tǒng)的可以試試。

Copy.sh:https://copy.sh/v86/
8、jor1k
jor1k 是一個(gè)用運(yùn)行 Linux 的 JavaScript 編寫的 OpenRISC 1000 模擬器,幾乎可以在任何現(xiàn)代 Web 瀏覽器中運(yùn)行。

jor1k 地址:http://s-macke.github.io/jor1k/
9、linuxcontainers
linuxcontainers 是 LXD、LXC、LXCFS 和 distrobuilder 背后的項(xiàng)目,目的是為 Linux 容器技術(shù)的開發(fā)提供一個(gè)發(fā)行版的環(huán)境并提供運(yùn)行完整 Linux 系統(tǒng)的容器和虛擬機(jī),可以運(yùn)行一臺(tái)演示服務(wù)器來(lái)充當(dāng)運(yùn)行 Linux 終端的 Shell 環(huán)境。

雖然 VM 提供了一個(gè)完整的環(huán)境,系統(tǒng)容器所提供的環(huán)境與 VM 的環(huán)境盡可能接近,但沒(méi)有運(yùn)行單獨(dú)的內(nèi)核和模擬所有硬件所帶來(lái)的消耗。
演示服務(wù)器環(huán)境有以下限制:
限時(shí) 30 分鐘
每個(gè) IP 限制 4 個(gè)會(huì)話
2 個(gè)共享 CPU 內(nèi)核
512MB 專用內(nèi)存
5GB 專用磁盤空間
連接受限的僅 IPv6 網(wǎng)絡(luò)連接
LXD 是下一代系統(tǒng)容器和虛擬機(jī)管理器,它主要是圍繞在容器或虛擬機(jī)內(nèi)運(yùn)行的完整 Linux 系統(tǒng)提供統(tǒng)一的用戶體驗(yàn)。
LXD 是基于映像的,并為大量 Linux 發(fā)行版提供映像。為各種用例提供了靈活性和可擴(kuò)展性,支持不同的存儲(chǔ)后端和網(wǎng)絡(luò)類型,并且可以選擇安裝在從單個(gè)筆記本電腦或云實(shí)例到完整服務(wù)器機(jī)架的硬件上。
使用 LXD 時(shí),可以使用簡(jiǎn)單的命令行工具、直接通過(guò) REST API 或使用第三方工具集成來(lái)管理您的實(shí)例(容器和 VM)。LXD 也為本地和遠(yuǎn)程訪問(wèn)實(shí)現(xiàn)了一個(gè) REST API。

linuxcontainers 地址:
https://linuxcontainers.org/lxd/try-it/
10、CodeAnywhere
Codeanywhere 是一個(gè)即服務(wù)為最終用戶提供跨平臺(tái)的 Cloud IDE,可以在幾秒鐘內(nèi)部署開發(fā)環(huán)境來(lái)節(jié)省時(shí)間,能夠?qū)?xiàng)目進(jìn)行編碼、學(xué)習(xí)、構(gòu)建和協(xié)作。要運(yùn)行免費(fèi)的 Linux 虛擬機(jī),首先需要在網(wǎng)站上注冊(cè),然后訂閱他們的免費(fèi)計(jì)劃。
注冊(cè)后,繼續(xù)創(chuàng)建新連接,并使用您選擇的操作系統(tǒng)設(shè)置容器。完成所有這些步驟后,您將擁有一個(gè)可靠且免費(fèi)的 Linux 控制臺(tái)。

CodeAnywhere 地址:https://codeanywhere.com/
11、cocalc
cocalc 是一個(gè)不會(huì)弄亂你自己電腦的在線 Linux 終端,提供了完整的、協(xié)作的、實(shí)時(shí)同步的 Linux 命令行終端。
cocalc 的好處:
不需要安裝和維護(hù)任何軟件;
支持多人實(shí)時(shí)協(xié)作使用同一個(gè)終端;
可編輯和運(yùn)行 shell 腳本文件;
使用終端可以與旁邊的聊天功能與他人討論相關(guān)命令;
自動(dòng)備份可確保您的文件安全;
可以在本地桌面和在線終端之間進(jìn)行復(fù)制和粘貼;
cocalc 的特征:
學(xué)習(xí) Bash 腳本;
了解如何使用 Linux 命令行;
運(yùn)行用 Python、R、PHP、Ruby、Go、Perl、Nodejs 等編寫的腳本;
編譯用 C/C++、Java、Rust、Assembly、Fortan、Julia、Zig、Haskell 等編寫的程序;
處理和存儲(chǔ)數(shù)據(jù)文件;
使用圖形 X11 應(yīng)用程序;

cocalc 地址:https://cocalc.com/features/terminal
12、linuxzoo
linuxzoo 是使用具有 root 訪問(wèn)權(quán)限的遠(yuǎn)程私有 Linux 機(jī)器訪問(wèn)安全的學(xué)習(xí) Linux。

linuxzoo 地址:https://linuxzoo.net/
13、jdoodle
jdoodle 是一個(gè)在線編譯器和編輯器,支持 76 多種語(yǔ)言,具有多個(gè)版本和 2 個(gè)數(shù)據(jù)庫(kù)。

同樣也有專門用來(lái)練習(xí) Shell 編程的在線環(huán)境。

jdoodle Bash shell 地址:
https://www.jdoodle.com/test-bash-shell-script-online/
14、paiza.io
paiza.IO 是一個(gè)在線編輯器和編譯器,可以在其中立即編寫和運(yùn)行代碼。
支持多種語(yǔ)言,可以用于學(xué)習(xí)編程、抓取網(wǎng)站、編寫批處理等;

同樣也有專門用來(lái)練習(xí) Shell 編程的在線環(huán)境。

paiza 地址:
https://paiza.io/projects/s0poMEX88nNR_Pd7IByIFQ?language=bash
15、Shellcheck
Shellcheck 是一個(gè)靜態(tài) Bash 語(yǔ)法檢查工具,它可以在多種場(chǎng)景下使用,包括在線使用、命令行檢查、編輯器配置。
當(dāng)你在 Linux / Unix 平臺(tái)下編寫 Bash Shell 編譯大量代碼的時(shí)候,常常會(huì)花費(fèi)大量的時(shí)間,然而這時(shí)你可以通過(guò) Shellcheck 提前知道你所寫腳本的語(yǔ)法問(wèn)題,同樣也會(huì)給出你相關(guān)糾錯(cuò)提示。

除了在線使用之外,還可以通過(guò)命令行進(jìn)行檢查,支持基于 Debian、Arch Linux、EPEL、Fedora、FreeBSD、MacOS、OpenSUSE、Windows 等多個(gè)操作系統(tǒng)上進(jìn)行安裝檢查;
對(duì)于 Shellcheck 命令行的安裝方式,可以參考 Shellcheck 的 GitHub 庫(kù)。
腳本案例:
#!/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進(jìn)程名稱
????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 檢查輸出結(jié)果:
$?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
最后
以上就是我所列出的一些可以幫助您通過(guò) Web 瀏覽器在線運(yùn)行 Linux 的網(wǎng)站以及一些在線編譯器,雖然說(shuō)大大減少了我們通過(guò) VMware Workstation 安裝虛擬機(jī)的時(shí)間,各有利弊,但是上述有些網(wǎng)站是無(wú)需注冊(cè)的,可直接通過(guò) root 用戶在線運(yùn)行,可用的 Linux 命令也很多。
相反,有些網(wǎng)站是需要注冊(cè)的,但是受權(quán)限限制,可能無(wú)法使用 root 用戶,可執(zhí)行的 Linux 命令也相對(duì)會(huì)少很多。但總體體驗(yàn)一番,有些在線運(yùn)行還是非常順暢的,跟 VMware Workstation 以及實(shí)際場(chǎng)景的服務(wù)器環(huán)境還是有存在很大差別的。
介紹了這么多,您會(huì)選擇以上哪一個(gè)?誰(shuí)能想到居然還可以通過(guò) Web 瀏覽器上運(yùn)行 Linux 系統(tǒng)?誰(shuí)又能想到通過(guò) Web 瀏覽器實(shí)現(xiàn)在線運(yùn)行 Linux 操作系統(tǒng)環(huán)境如此的簡(jiǎn)單?
盡管如此,強(qiáng)烈建議在瀏覽器上打開任何網(wǎng)站之前檢查系統(tǒng)上是否存在任何其他惡意軟件或病毒。一個(gè)有存在問(wèn)題或有病毒的瀏覽器可能會(huì)破壞你學(xué)習(xí) Linux 系統(tǒng)的流暢體驗(yàn)。
最后的最后,除上述介紹的在線運(yùn)行 Linux 以及在線編譯器之外,你平時(shí)還在用哪些?歡迎大家留言分享。
推薦閱讀
10 款你不知道的 Linux 環(huán)境下的替代工具!
