Skip to content

hdu-OS-simple-shell,Linux 的 Shell 命令窗口 demo 版实现

Notifications You must be signed in to change notification settings

mendge/shell-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

实现思路

针对每个命令功能写一个xx.c文件,然后编译产生可执行文件到/bin目录。
shell.c作为主程序循环接收用户输入命令,根据命令调用对应可执行文件。

构建运行

git clone https://github.com/mendge/shell-demo.git
cd shell-demo
make

点击运行bin目录下的shell即可

注意

  • 代码中有大量中文注释,特别是ls.c。
  • 没有完全测试所功能,但是可以保证基本正确。
  • 只能运行在 Linux 系统(不支持 Macos 和 Windows )

命令实现

命令 解释
whoami 我是谁??
clear 清屏
pwd 打印工作路径
cd [dir] 跳转工作目录到指定目录
cp [src] [dest] 复制文件
head <-n x> filename 打印文件前 x 行,默认 5 行
echo [str] 在命令行中打印 str ,会去掉首尾的单双引号
cat [file] 打印文件内容
cat [src] [> | >>] [dest] 重定向打印:>覆盖式,>>追加式
mv [file1] [file2] 移动文件
rmdir dir 创建目录
rm [file/dir] 移除文件或者目录
ls -[a/l/al/R] <dir> 列出指定目录下的文件
-a打印所有(包括"."开头的文件)
-l以列表形式打印
-R表示递归打印子目录的文件

注:[xx]中的是命令参数,<xx>中的是可选参数

此代码参考 MyShell/myshell at main · DreamboatW/MyShell (github.com)

About

hdu-OS-simple-shell,Linux 的 Shell 命令窗口 demo 版实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published