Linux 基础知识 /bin,/sbin,/usr/sbin,/usr/bin 目录 区别详解

说到 Linux 的目录:

Linux中的某些重要的目录:
•主目录:/root、/home/username
•用户可执行文件:/bin、/usr/bin、/usr/local/bin
•系统可执行文件:/sbin、/usr/sbin、/usr/local/sbin

•其他挂载点:/media、/mnt
配置:/etc
•临时文件:/tmp
•内核和Bootloader:/boot
•服务器数据:/var、/srv
•系统信息:/proc、/sys
•共享库:/lib、/usr/lib、/usr/local/lib

他们之间的区别又是什么呢?

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

 

简单归纳:

/bin目录(binary)是二进制执行文件目录,主要用于具体应用

/sbin目录(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理

 

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

其实一般情况下 path 环境变量配置会把几个目录都包含进来) 还有一篇实战性文章,大家可以对着敲一下:如果是用户和管理员必备的二进制文件,就会放在/bin;如果是系统管理员必备,但是一般用户根本不会用到的二进制文件,就会放在/sbin;如果不是用户必备的二进制文件,多半会放在/usr/bin;如果不是系统管理员必备的工具,如网络管理命令,多半会放在/usr/sbin;
 

    写脚本的第一行指定解释器的时候,要先确定到底把解释器装在了 /bin 还是 /usr/bin 目录下哦

    那么Linux的环境变量怎么弄的呢???

你可能感兴趣的:(/bin,/usr/bin,/sbin,/usr/sbin,目录,Linux,基础知识)