一个用纯 JavaScript 编写的模拟 Bash shell,内存中带有虚拟文件系统和约 35 个真实命令(ls、cd、cat、grep、find、pipe、redirect、chmod、ps 等)。瞬间启动,约 30 KB。通过 15 节实操课程,配合可用的 shell 学习命令行。没有模拟器,没有内核——只有你在真实 Linux 上会输入的那些命令。
点击某节课程以展开。请在左侧终端中输入命令。
pwd — 显示你在文件系统中的当前位置。ls 列出文件,ls -la 查看全部(含隐藏文件)。cd /etc 切换目录,用 cd ~ 回到主目录。 cat file.txt 显示全部内容。less file 用分页器打开(空格滚动,q 退出)。head -20 file 显示前 20 行,tail -20 file 显示最后 20 行。 touch new.txt 创建空文件。echo "hello" > file.txt 写入字符串(覆盖)。echo "line2" >> file.txt 追加到末尾。mkdir folder 创建目录。 cp source dest,整个目录用 cp -r。mv old new 移动或重命名。rm file 删除文件,rm -rf folder 递归删除(小心使用!)。 ls -l 显示 -rwxr--r--。chmod 755 file = rwx-r-x-r-x。chmod +x script.sh 添加可执行权限。 find /path -name "*.txt" 按名称搜索。find / -size +10M 查找大于 10 MB 的文件。which cmd 查找可执行文件的位置。locate word(使用索引数据库)。 grep "word" file 在文件中搜索字符串。grep -r "word" . 递归搜索。grep -i 忽略大小写。grep -v 反向匹配(显示不包含该字符串的行)。 ls -la | grep txt 过滤 ls 的输出。cat file | wc -l 统计行数。ps aux | grep sh 查找 shell 进程。 > 将输出覆盖写入文件。>> 追加而不删除原内容。< 从文件读取输入。2>/dev/null 丢弃错误信息。cmd > out.txt 2>&1 将所有内容写入同一文件。 ps aux 显示所有进程。top 实时监控(q 退出)。kill 1234 终止 PID 为 1234 的进程。kill -9 1234 强制终止(SIGKILL)。jobs、bg、fg 管理后台任务。 whoami 显示当前用户。id 显示 UID + GID + 所属组。su - user 切换为另一用户。sudo cmd 以 root 身份运行。who 显示已登录用户。 uname -a 内核/CPU 信息。df -h 磁盘空间。du -sh folder 查看占用空间大小。free -h 可用内存。uptime 系统运行时长。 ip addr 网络接口。ping host ICMP 连通性测试。curl url 获取网页内容。wget url 下载文件。netstat -tlnp 查看监听端口。 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。 nano file.txt 打开编辑器。vi file,i 插入,Esc+:wq 保存并退出。 man cmd 显示命令手册(q 退出)这是 Alessandro Barone 为本网站从零开始用纯 JavaScript 编写的Bash shell 模拟器。内存中的虚拟文件系统,约 35 个真实命令。没有模拟器,没有内核,没有 ROM:不包含任何第三方专有代码。非常适合学习命令行,而不会有破坏你真实系统的风险。