mybash

内置cd  exit

exit
strtok函数(数组,分隔符)

 创建一个buff存放通过fget获取的命令,获取完之后一定要记得最后的一个回车\n,要把它置为\0

 将分割出来的命令放进myargv中,再存入cmd中

 比较输入的命令是否与exit一致,通过break实现退出程序

普通命令的实现(fork+execvp())

 getuid()  可以获得用户的id 

getpwuid()  获取用户名      失败返回NULL

gethostname(数组,长度)  获取主机的名称,失败返回-1

 getcwd(字符串,大小)获取当前路径

 模拟linux命令提示符

 设置颜色要以\033开头   以  \033[0m 结尾

cd实现

chdir (路径)    改变当前工作目录路径  

clear实现

 ls实现

头文件 #include<dirent.h>  

opendir 打开一个目录   readdir 读取目录中的所有文件   closedir 关闭目录流

 

 stat(文件名称,struct stat存放在该结构体中)

判断文件类型  man inode中查看

 

 判断是否为目录文件

 st_mode 判断文件权限

判断是否为可执行文件

 使用自己做的mybash,先把做好的ls合并到一起

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值