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

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

 

先说/bin和/sbin,bin实际上是binary二进制的缩写,sbin我我的理解是否是就是super bin的缩写。linux

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

/bin是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。sql

 /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、个人我的理解他们与上面两个文件的区别在于,这两个文件夹是后期用户安装上去的命令,而上面的文件夹是系统安装时的必备包程序,例如:bash

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

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

 

以前在作天津移动的项目时,遇到过一个问题,用非root用户登陆,在执行mysql和ifconfig这种命令是提示command not found,当时个人作法是作了一个软链接解决了问题:工具

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

 

可是如今看来应该并很差,由于问题的根源应该是非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

相关文章
相关标签/搜索