游玩linux(03)- 从“bash: command not found“进一步理解linux的“文件精神”

背景:无聊,玩了cmatrix后,打算跑一跑小火车,于是

$ sudo apt install sl

但是,运行就寄了

$ sl

bash: command not found: sl

我寻思着,不是安了吗,为啥找不到,就看看sl安在哪里了

$ whereis sl

sl:/usr/games/sl

大概明白了,默认不是安装在系统目录,所以找不到sl这个命令,于是看看系统目录在哪

$ echo $PATH

/opt/ros/melodic/bin:/root/anaconda3/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

那要解决问题就很简单了,把/usr/games下的sl拷贝或移动到PATH之一,或者把/usr/games添加到PATH

但我进一步好奇,PATH里/bin /sbin /usr/bin /usr/sbin这四个经常看见,有什么特别之处吗,于是进去看看

$ cd /sbin && la

依次把这四个里的东西看了一遍后,发现了很多熟悉的面孔,比如

# /bin里有
bash cp rm echo rmdir uname ls chmod touch # 等

# /sbin里有
shutdown reboot init halt poweroff # 等

# /usr/bin里有
apt #等超多

#/usr/sbin里有
addgroup chgpasswd # 等

那就很清楚了,本着"linux一切皆文件"的理念,我们平常用到的rm等命令,本质也是一个二进制文件,shell会去PATH下找它们,找不到就是command not found

而/bin和/sbin的区别是一个放普通命令,一个放系统命令。/usr的bin sbin就好说了,放的很多事自己安装的脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值