对于Linux初学者来说,当接触Linux操作系统时,可通过虚拟机、云主机或企业服务器的环境学习Linux,有朋友可能会问了,那有没有无需安装即可运行的操作系统呢?
正好,我最近发现了一个非常不错的网站——DistroTest。
这个网站可以让你免费使用在线版的Linux和Unix操作系统,无需在本地进行安装。
你只需找到自己需要的操作系统版本即可在线进行测试,而且操作系统没任何限制,可使用系统的所有功能,包括卸载安装软件、测试安装程序、甚至删除或格式化硬盘、删除系统文件等;
我这里试用的是Archlinux,点击start按钮即可启动所选的操作系统。
这里可以通过内建的noVNCviewer访问,但需要在浏览器中启用/允许DistroTest网站的弹出窗口,否则将无法看到弹出的noVNC窗口。
这样最终就进入到ArchLinux在线版的操作系统了。
若每次关机后,系统将会恢复到默认配置,当试用结束后,回到DistroTest页面将会停止试用的操作系统。
据2021.12.29官方统计数据显示,DistroTest提供了373种操作系统的762个版本。
讲真,这么多年我所接触的Linux,但在这个网站里所列出的有一些从未听说过的发行版,甚至都不知道Linux操作系统原来有如此之多的版本。
除此之外,也包括部分非Linux的操作系统,比如:FreeBSD、FreeDOS、Gparted(磁盘分区工具)简直是刷新了我对Linux的认知。
OnWorks是一个免费的托管运行LinuxMint在线服务器,需要在Chrome浏览器中安装LinuxMint在线服务器插件,是可以基于多种操作系统,例如:CentOS、Fedora、Ubuntu和Debian等等,是一个多操作系统平台,可以从任何地方运行和测试任何类型的操作系统。简单、功能齐全、轻便且易使用。
Webminal是一款免费的GNU/Linux在线终端和编程IDE,为用户提供了一个独特的免费在线学习平台,可以在其中了解Linux、练习Linux以及与其他Linux用户进行互动。
使用Webminal,可以练习Linux命令、编写Bash脚本、创建和访问MySQL表、学习Python、C、Ruby、Java、Rust编程以及使用虚拟平台执行基本的root用户任务。借助“WebminalPlay”功能,还可以观看视频(而不是阅读文档)并进行练习。
Webminal的功能:
除此之外,Webminal官方也明确指出了MySQL的特性,如下:
MySQL的特性:
TutorialsPointCodingGround这个在线工具是开发工程师们编码、编辑、运行和共享的一个编码基础平台,它支持多语言、代码高亮、新建文件/项目、下载文件/项目、自定义设置(例如:主题颜色)、错误提示等功能。
主要包括:
当然了,也少不了我们在线运行BashShell的环境,我通过它写了个乘法口诀的脚本程序。
代码如下:
TutorialsPointCodingGround地址:
JS/UIX终端在Web浏览器上运行其实是与UNIX的操作系统非常相似,完全基于JavaScript编写,它包括虚拟机、Shell、虚拟文件系统、进程管理、是带有屏幕和键盘映射的终端。
点击openterminal即可打开终端。
该JS/UIX终端的键盘是接受US-ASCII字符集,如果你希望使用屏幕键盘来进行输入命令,可以点击终端左下角的显示键盘按钮来进行操作。
备用键盘映射(可能取决于系统和浏览器):
jslinux是基于JavaScript语言编写的Linux模拟器包,可以在Web浏览器中运行Linux。
提供多种系统选择,你也可以在上面编译运行代码。不过整体感觉不是很流畅。
Copy.sh是一个高效的在线Linux终端,能够仿真其他操作系统,包括:ArchLinux、FreeDOS、FreeBSD、OpenBSD、Windows2000、Windows98等;
首次加载仿真器时,可以选择所需的操作系统,并根据自己的要求进行定制,同时还支持多种发行版,想体验不同操作系统的可以试试。
jor1k是一个用运行Linux的JavaScript编写的OpenRISC1000模拟器,几乎可以在任何现代Web浏览器中运行。
linuxcontainers是LXD、LXC、LXCFS和distrobuilder背后的项目,目的是为Linux容器技术的开发提供一个发行版的环境并提供运行完整Linux系统的容器和虚拟机,可以运行一台演示服务器来充当运行Linux终端的Shell环境。
虽然VM提供了一个完整的环境,系统容器所提供的环境与VM的环境尽可能接近,但没有运行单独的内核和模拟所有硬件所带来的消耗。
演示服务器环境有以下限制:
LXD是下一代系统容器和虚拟机管理器,它主要是围绕在容器或虚拟机内运行的完整Linux系统提供统一的用户体验。
LXD是基于映像的,并为大量Linux发行版提供映像。为各种用例提供了灵活性和可扩展性,支持不同的存储后端和网络类型,并且可以选择安装在从单个笔记本电脑或云实例到完整服务器机架的硬件上。
使用LXD时,可以使用简单的命令行工具、直接通过RESTAPI或使用第三方工具集成来管理您的实例(容器和VM)。LXD也为本地和远程访问实现了一个RESTAPI。
注册后,继续创建新连接,并使用您选择的操作系统设置容器。完成所有这些步骤后,您将拥有一个可靠且免费的Linux控制台。
cocalc是一个不会弄乱你自己电脑的在线Linux终端,提供了完整的、协作的、实时同步的Linux命令行终端。
cocalc的好处:
cocalc的特征:
linuxzoo是使用具有root访问权限的远程私有Linux机器访问安全的学习Linux。
jdoodle是一个在线编译器和编辑器,支持76多种语言,具有多个版本和2个数据库。
同样也有专门用来练习Shell编程的在线环境。
jdoodleBashshell地址:
paiza.IO是一个在线编辑器和编译器,可以在其中立即编写和运行代码。
支持多种语言,可以用于学习编程、抓取网站、编写批处理等;
paiza地址:
Shellcheck是一个静态Bash语法检查工具,它可以在多种场景下使用,包括在线使用、命令行检查、编辑器配置。
除了在线使用之外,还可以通过命令行进行检查,支持基于Debian、ArchLinux、EPEL、Fedora、FreeBSD、MacOS、OpenSUSE、Windows等多个操作系统上进行安装检查;
对于Shellcheck命令行的安装方式,可以参考Shellcheck的GitHub库。
脚本案例:
#!/bin/bashDIRPATH='/tmp/jstack'CURRENT_TIME=$(date+'%F'-'%H:%M:%S')if[!-d"$DIRPATH"];thenmkdir"$DIRPATH"elserm-rf"$DIRPATH"/*ficd"$DIRPATH"whiletruedosleep3600#这里需要将inceptor改后自己的java进程名称pid=$(ps-ef|grep'inceptor'|grep-vgrep|awk'{print$2}')jstack$pid>>"jstack_${CURRENT_TIME}"dir_count=$(ls|wc-l)if["$dir_count"-gt10];thenrm-f$(ls-tr|head-1)fidoneShellcheck检查输出结果:
相反,有些网站是需要注册的,但是受权限限制,可能无法使用root用户,可执行的Linux命令也相对会少很多。但总体体验一番,有些在线运行还是非常顺畅的,跟VMwareWorkstation以及实际场景的服务器环境还是有存在很大差别的。
介绍了这么多,您会选择以上哪一个?谁能想到居然还可以通过Web浏览器上运行Linux系统?谁又能想到通过Web浏览器实现在线运行Linux操作系统环境如此的简单?
尽管如此,强烈建议在浏览器上打开任何网站之前检查系统上是否存在任何其他恶意软件或病毒。一个有存在问题或有病毒的浏览器可能会破坏你学习Linux系统的流畅体验。