SIMULATORI · LINUX CLI · IMPARA LA SHELL

Linux CLI nel browser

一个用纯 JavaScript 编写的模拟 Bash shell,内存中带有虚拟文件系统和约 35 个真实命令(ls、cd、cat、grep、find、pipe、redirect、chmod、ps 等)。瞬间启动,约 30 KB。通过 15 节实操课程,配合可用的 shell 学习命令行。没有模拟器,没有内核——只有你在真实 Linux 上会输入的那些命令。

Linux Shell Simulator — 瞬间启动。点击终端内部并输入命令。
15 节实操课程

点击某节课程以展开。请在左侧终端中输入命令。

01. 导航
你的第一个命令:pwd — 显示你在文件系统中的当前位置。
然后用 ls 列出文件,ls -la 查看全部(含隐藏文件)。
cd /etc 切换目录,用 cd ~ 回到主目录。
试试:
$ pwd
$ ls
$ ls -la
$ cd /etc
$ ls
$ cd ~
02. 查看文件
cat file.txt 显示全部内容。
less file 用分页器打开(空格滚动,q 退出)。
head -20 file 显示前 20 行,tail -20 file 显示最后 20 行。
试试:
$ cat /etc/hostname
$ less /etc/passwd
$ head /etc/passwd
$ tail /etc/passwd
03. 创建文件
touch new.txt 创建空文件。
echo "hello" > file.txt 写入字符串(覆盖)。
echo "line2" >> file.txt 追加到末尾。
mkdir folder 创建目录。
试试:
$ touch prova.txt
$ echo "hello" > prova.txt
$ cat prova.txt
$ mkdir nuova
$ ls
04. 复制/移动/删除
cp source dest,整个目录用 cp -r
mv old new 移动或重命名。
rm file 删除文件,rm -rf folder 递归删除(小心使用!)。
试试:
$ cp prova.txt copia.txt
$ ls
$ mv copia.txt copia2.txt
$ rm copia2.txt
$ ls
05. 权限
每个文件有 3 组权限(r=读 w=写 x=执行),分别对应 3 类主体(所有者/组/其他)。
ls -l 显示 -rwxr--r--
chmod 755 file = rwx-r-x-r-x。
chmod +x script.sh 添加可执行权限。
试试:
$ ls -l
$ chmod 600 prova.txt
$ ls -l prova.txt
$ chmod +x prova.txt
$ ls -l prova.txt
06. 文件搜索
find /path -name "*.txt" 按名称搜索。
find / -size +10M 查找大于 10 MB 的文件。
which cmd 查找可执行文件的位置。
locate word(使用索引数据库)。
试试:
$ find / -name "hostname" 2>/dev/null
$ which ls
$ which sh
07. grep
grep "word" file 在文件中搜索字符串。
grep -r "word" . 递归搜索。
grep -i 忽略大小写。
grep -v 反向匹配(显示不包含该字符串的行)。
试试:
$ grep root /etc/passwd
$ grep -c "^" /etc/passwd
$ grep -i BASH /etc/passwd
08. Pipe |
Unix 真正的超能力:将命令串联起来
ls -la | grep txt 过滤 ls 的输出。
cat file | wc -l 统计行数。
ps aux | grep sh 查找 shell 进程。
试试:
$ ls / | wc -l
$ cat /etc/passwd | grep root
$ ls -la | head -5
09. Redirect > < >>
> 将输出覆盖写入文件。
>> 追加而不删除原内容。
< 从文件读取输入。
2>/dev/null 丢弃错误信息。
cmd > out.txt 2>&1 将所有内容写入同一文件。
试试:
$ ls / > listato.txt
$ cat listato.txt
$ echo "extra" >> listato.txt
$ wc -l < listato.txt
10. 进程
ps aux 显示所有进程。
top 实时监控(q 退出)。
kill 1234 终止 PID 为 1234 的进程。
kill -9 1234 强制终止(SIGKILL)。
jobsbgfg 管理后台任务。
试试:
$ ps
$ ps aux | head
$ ps aux | wc -l
11. 用户与 sudo
whoami 显示当前用户。
id 显示 UID + GID + 所属组。
su - user 切换为另一用户。
sudo cmd 以 root 身份运行。
who 显示已登录用户。
试试:
$ whoami
$ id
$ who
12. 系统
uname -a 内核/CPU 信息。
df -h 磁盘空间。
du -sh folder 查看占用空间大小。
free -h 可用内存。
uptime 系统运行时长。
试试:
$ uname -a
$ df -h
$ free
$ uptime
13. 网络
ip addr 网络接口。
ping host ICMP 连通性测试。
curl url 获取网页内容。
wget url 下载文件。
netstat -tlnp 查看监听端口。
试试:
$ ip addr
$ cat /etc/resolv.conf
14. 压缩
tar -cvf archive.tar files/ 创建 tar 归档。
tar -xvf archive.tar 解压。
tar -czvf archive.tar.gz files/ tar+gzip 压缩。
zip -r out.zip folder/unzip file.zip
试试:
$ tar -cvf mio.tar /etc/hostname
$ tar -tvf mio.tar
$ rm mio.tar
15. 文本编辑器
nano file.txt 打开编辑器。
Ctrl+O 保存,Ctrl+X 退出。
Ctrl+K 剪切一行,Ctrl+U 粘贴。
vim 操作:vi file,i 插入,Esc+:wq 保存并退出。
试试:
$ echo "test editors"
Shell 使用技巧
  • Tab 自动补全文件名和命令
  • / 浏览命令历史
  • Ctrl+R 在历史记录中反向搜索
  • Ctrl+C 停止正在运行的命令
  • man cmd 显示命令手册(q 退出)
法律声明——原创代码,零外部依赖

这是 Alessandro Barone 为本网站从零开始用纯 JavaScript 编写的Bash shell 模拟器。内存中的虚拟文件系统,约 35 个真实命令。没有模拟器,没有内核,没有 ROM:不包含任何第三方专有代码。非常适合学习命令行,而不会有破坏你真实系统的风险。