Linux基础之/bin、 /sbin、/ usr/bin,、/usr/sbin的用处-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Linux基础之/bin、 /sbin、/ usr/bin,、/usr/sbin的用处

简介:

在linux的应用中修改脚本,变量等是经常遇到的,在各类软件的安装配置文档中几乎都会有关于/bin、/sbin、/usr/bin、/usr/sbin的配置,这次就详细的研究一下这些文件下都有什么,以下的内容多数是从各个文档中摘抄总结的.


先说/bin和/sbin,bin其实是binary二进制的缩写,sbin我个人理解是不是就是super bin的缩写。


/bin和/sbin下都存放有各类系统的指令,区别就是/sbin下的设计的系统指令需要更高的权限和安全保证,例如:


    /bin是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。
    /sbin一般是指超级用户指令主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
 


接下来说/usr/bin和/usr/sbin、我的个人理解他们与上面两个文件的区别在于,这两个文件夹是后期用户安装上去的命令,而上面的文件夹是系统安装时的必备包程序,例如:


    /usr/bin 是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。

    /usr/sbin   放置一些用户安装的系统管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。


之前在做天津移动的项目时,遇到过一个问题,用非root用户登录,在执行mysql和ifconfig这种命令是提示command not found,当时我的做法是做了一个软连接解决了问题:

  ln -s /mysql_home/mysql /usr/bin     ln /sbin/ifconfig /usr/bin


但是现在看来应该并不好,因为问题的根源应该是非root用户没有权限执行这个命令,单纯链接并不是根本解决方法,那控制某个用户执行命令的权限在哪呢?这个其实是由环境变量决定的,可以在各自项目上看一下:

    如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么
    首先就要考虑用户的$PATH里是否已经包含了这些环境变量。
    可以查看PATH,如果是:PATH=$PATH:$HOME/bin则需要添加成如下:
    PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin

    直接输入export可以查看path:

[root@localhost u-boot-sh4]# export
****

****
declare -xPATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/us






    本文转自UVN2015  51CTO博客,原文链接:http://blog.51cto.com/10851095/1709895,如需转载请自行联系原作者





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: