关于Linux操作系统的一些事儿,你知道多少?
你们好,我是杰哥。
对于Linux初学者来说,当接触Linux操作系统时,可通过虚拟机、云主机或企业服务器的环境学习Linux,有同学可能会问了,那有没有无需安装即可运行的操作系统呢?
刚好,我近来发觉了一个十分不错的网站——DistroTest。
1、DistroTest
这个网站可以让你免费使用在线版的Linux和Unix操作系统,无需在本地进行安装。
你只需找到自己须要的操作系统版本即可在线进行测试,但是操作系统没任何限制,可使用系统的所有功能,包括卸载安装软件、测试安装程序、甚至删掉或低格硬碟、删除系统文件等;
我这儿试用的是Archlinux,点击start按键即可启动所选的操作系统。
此在线版操作系统将会在新浏览器窗口中进行启动,当弹出如下界面时,会有一些提示,比如:停止系统、重置系统、root用户密码和普通用户密码。点击OpenVNC-Viewer(allowPOP-UPs!)按键即可步入到系统登入界面。
这儿可以通过内建的noVNCviewer访问,但须要在浏览器中启用/容许DistroTest网站的弹出窗口,否则将难以见到弹出的noVNC窗口。
假如你不想启用DistroTest页面的弹出窗口linux系统,可在本地系统安装任意VNC顾客端,VNC登陆信息同样也是可以在同一页面中找到的。
这样最终就步入到ArchLinux在线版的操作系统了。
若每次死机后,系统将会恢复到默认配置,当试用结束后,回到DistroTest页面将会停止试用的操作系统。
DistroTest地址:
据2021.12.29官方统计数据显示,DistroTest提供了373种操作系统的762个版本。
讲真,那么多年我所接触的Linux,但在这个网站里所列举的有一些未曾据说过的发行版,甚至都不晓得Linux操作系统原先有这么之多的版本。
除此之外,也包括部份非Linux的操作系统,例如:FreeBSD、FreeDOS、Gparted(c盘分区工具)简直是刷新了我对Linux的认知。
2、OnWorks
OnWorks是一个免费的托管运行LinuxMint在线服务器,须要在Chrome浏览器中安装LinuxMint在线服务器插件,是可以基于多种操作系统,比如:CentOS、Fedora、Ubuntu和Debian等等,是一个多操作系统平台,可以从任何地方运行和测试任何类型的操作系统。简单、功能齐全、轻便且易使用。
OnWorks地址:
插件下载地址:
3、Webminal
Webminal是一款免费的GNU/Linux在线终端和编程IDE,为用户提供了一个奇特的免费在线学习平台,可以在其中了解Linux、练习Linux以及与其他Linux用户进行互动。
使用Webminal,可以练习Linux命令、编写Bash脚本、创建和访问MySQL表、学习Python、C、Ruby、Java、Rust编程以及使用虚拟平台执行基本的root用户任务。利用“WebminalPlay”功能,还可以观看视频(而不是阅读文档)并进行练习。
Webminal的功能:
除此之外,Webminal官方也明晰强调了MySQL的特点,如下:
MySQL的特点:
Webminal地址:#
4、TutorialsPointCodingGround
TutorialsPointCodingGround这个在线工具是开发工程师们编码、编辑、运行和共享的一个编码基础平台,它支持多语言、代码高亮、新建文件/项目、下载文件/项目、自定义设置(比如:主题颜色)、错误提示等功能。
主要包括:
其实了,也少不了我们在线运行BashShell的环境,我通过它写了个加法口诀的脚本程序。
代码如下:
#!/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”
复制
TutorialsPointCodingGround地址:
5、jsuix
JS/UIX终端在Web浏览器上运行虽然是与UNIX的操作系统十分相像,完全基于JavaScript编撰,它包括虚拟机、Shell、虚拟文件系统、进程管理、是带有屏幕和鼠标映射的终端。
点击openterminal即可打开终端。
该JS/UIX终端的按键是接受US-ASCII字符集,假如你希望使用屏幕按键来进行输入命令,可以点击终端左下角的显示按键按键来进行操作。
备用按键映射(可能取决于系统和浏览器):
JS/UIX终端是不须要任何插件来打开终端的linux命令在线模拟器,假如你要在JS/UIX终端上练习命令,可以通过guest访客身分登入,无需输入密码,回车即可进行使用。
JS/UIX地址:
6、jslinux
jslinux是基于JavaScript语言编撰的Linux模拟器包,可以在Web浏览器中运行Linux。
提供多种系统选择,你也可以在里面编译运行代码,不过整体觉得不是很流畅。
JSLinux地址:
7、Copy.sh
Copy.sh是一个高效的在线Linux终端,还能仿真其他操作系统,包括:ArchLinux、FreeDOS、FreeBSD、OpenBSD、Windows2000、Windows98等;
首次加载仿真器时,可以选择所需的操作系统,并按照自己的要求进行订制,同时还支持多种发行版,想体验不同操作系统的可以试试。
Copy.sh:
8、jor1k
jor1k是一个用运行Linux的JavaScript编撰的OpenRISC1000模拟器,几乎可以在任何现代Web浏览器中运行。
jor1k地址:
9、linuxcontainers
linuxcontainers是LXD、LXC、LXCFS和distrobuilder背后的项目,目的是为Linux容器技术的开发提供一个发行版的环境并提供运行完整Linux系统的容器和虚拟机,可以运行一台演示服务器来充当运行Linux终端的Shell环境。
尽管VM提供了一个完整的环境,系统容器所提供的环境与VM的环境尽可能接近,但没有运行单独的内核和模拟所有硬件所带来的消耗。
演示服务器环境有以下限制:
LXD是下一代系统容器和虚拟机管理器,它主要是围绕在容器或虚拟机内运行的完整Linux系统提供统一的用户体验。
LXD是基于映像的,并为大量Linux发行版提供映像。为各类用例提供了灵活性和可扩充性,支持不同的储存前端和网路类型,而且可以选择安装在从单个电脑笔记本或云实例到完整服务器机架的硬件上。
使用LXD时,可以使用简单的命令行工具、直接通过RESTAPI或使用第三方工具集成来管理您的实例(容器和VM)。LXD也为本地和远程访问实现了一个RESTAPI。
linuxcontainers地址:
10、CodeAnywhere
Codeanywhere是一个即服务为最终用户提供跨平台的CloudIDE,可以在几秒钟内布署开发环境来节约时间,才能对项目进行编码、学习、构建和协作。要运行免费的Linux虚拟机,首先须要在网站上注册,之后订阅她们的免费计划。
注册后,继续创建新联接,并使用您选择的操作系统设置容器。完成所有这种步骤后,您将拥有一个可靠且免费的Linux控制台。
CodeAnywhere地址:
11、cocalc
cocalc是一个不会弄湿你自己笔记本的在线Linux终端,提供了完整的、协作的、实时同步的Linux命令行终端。
cocalc的益处:
cocalc的特点:
cocalc地址:
12、linuxzoo
linuxzoo是使用具有root访问权限的远程私有Linux机器访问安全的学习Linux。
linuxzoo地址:
13、jdoodle
jdoodle是一个在线编译器和编辑器,支持76多种语言,具有多个版本和2个数据库。
同样也有专门拿来练习Shell编程的在线环境。
jdoodleBashshell地址:
14、paiza.io
paiza.IO是一个在线编辑器和编译器,可以在其中立即编撰和运行代码。
支持多种语言,可以用于学习编程、抓取网站、编写批处理等;
同样也有专门拿来练习Shell编程的在线环境。
paiza地址:
15、Shellcheck
Shellcheck是一个静态Bash句型检测工具,它可以在多种场景下使用,包括在线使用、命令行检测、编辑器配置。
当你在Linux/Unix平台下编撰BashShell编译大量代码的时侯,往往会耗费大量的时间,但是这时你可以通过Shellcheck提早晓得你所写脚本的句型问题,同样也会给出你相关纠错提示。
不仅在线使用之外,还可以通过命令行进行检测,支持基于Debian、ArchLinux、EPEL、Fedora、FreeBSD、MacOS、OpenSUSE、Windows等多个操作系统上进行安装检测;
对于Shellcheck命令行的安装方法linux命令在线模拟器,可以参考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在线使用地址:
ShellcheckGitHub地址:
最后
以上就是我所列举的一些可以帮助您通过Web浏览器在线运行Linux的网站以及一些在线编译器,即使说大大降低了我们通过VMwareWorkstation安装虚拟机的时间,各有优劣,而且上述有些网站是无需注册的,可直接通过root用户在线运行,可用的Linux命令也好多。
相反,有些网站是须要注册的,并且受权限限制,可能难以使用root用户,可执行的Linux命令也相对会少好多。但总体体验一番免费linux主机,有些在线运行还是十分顺畅的,跟VMwareWorkstation以及实际场景的服务器环境还是有存在很大差异的。
介绍了如此多,您会选择以上哪一个?谁能想到竟然还可以通过Web浏览器上运行Linux系统?谁又能想到通过Web浏览器实现在线运行Linux操作系统环境这么的简单?
虽然这么,强烈建议在浏览器上打开任何网站之前检测系统上是否存在任何其他恶意软件或病毒。一个有存在问题或有病毒的浏览器可能会破坏你学习Linux系统的流畅体验。
最后的最后,除上述介绍的在线运行Linux以及在线编译器之外,你平常还在用什么?欢迎你们留言分享。