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,如需转载请自行联系原作者





相关文章
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
存储 域名解析 网络协议
在Linux中,/usr和/etc目录的用途有什么?
在Linux中,/usr和/etc目录的用途有什么?
|
机器学习/深度学习 Linux Shell
Linux 基础-文本处理命令
Linux 基础-文本处理命令
317 0
Linux系统时间不一致咋调,他显示的时区是UTC,第一步,su - 切换成root用户,rm -f /etc/localtime,ln -s /usr/share/zoneinfo/Asia/Sha
Linux系统时间不一致咋调,他显示的时区是UTC,第一步,su - 切换成root用户,rm -f /etc/localtime,ln -s /usr/share/zoneinfo/Asia/Sha
|
Java Linux
linux配置jdk环境出现错误:/usr/libexec/grepconf.sh: line 5: grep: command not found 的解决办法
linux配置jdk环境出现错误:/usr/libexec/grepconf.sh: line 5: grep: command not found 的解决办法
769 0
|
Linux
Linux 基础-查看 cpu、内存和环境等信息
Linux 基础-查看 cpu、内存和环境等信息
490 0
|
缓存 运维 监控
Linux 基础-查看进程命令 ps 和 top
Linux 基础-查看进程命令 ps 和 top
903 0
|
存储 Unix Linux
Linux 基础-文件权限与属性
Linux 基础-文件权限与属性
233 0
|
算法 Linux Shell
Linux 基础-新手必备命令
Linux 基础-新手必备命令
257 0
|
Linux Shell
Linux 基础-学会使用命令帮助
Linux 基础-学会使用命令帮助
207 0