Linux系统目录/bin /sbin /usr/bin /usr/sbin和/lib /usrlib的一些分析

其实就是相当于转载了。

/bin,/sbin,/usr/sbin,/usr/bin 目录

这些目录都是存放命令的,首先区别下/sbin和/bin:

从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统,/bin下存放一些普通的基本命令,如ls,chmod等,这些命令在Linux系统里的配置文件脚本里经常用到。

从用户权限的角度看,/sbin目录下的命令通常只有管理员才可以运行,/bin下的命令管理员和一般的用户都可以使用。

从可运行时间角度看,/sbin,/bin能够在挂载其他文件系统前就可以使用。

而/usr/bin,/usr/sbin与/sbin /bin目录的区别在于:

/bin,/sbin目录是在系统启动后挂载到根文件系统中的,所以/sbin,/bin目录必须和根文件系统在同一分区;

/usr/bin,usr/sbin可以和根文件系统不在一个分区。

/usr/sbin存放的一些非必须的系统命令;/usr/bin存放一些用户命令,如led(控制LED灯的)。

转下一位网友的解读,个人认为诠释得很到位:

    /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 是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如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等。
    如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么
    首先就要考虑root 的$PATH里是否已经包含了这些环境变量。
    可以查看PATH,如果是:PATH=$PATH:$HOME/bin则需要添加成如下:
    PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin

/lib   /usr/lib  /usr/local/lib的关系

有区别的。
/lib里面给的是root和内核所需so或者a之类的库文件,而/usr/lib是普通用户能够使用的。
Linux的程序有两种模式,这个你应该知道,是用户模式和内核模式,和这个也是有关系的,不再冗述。

================

/lib和/usr/lib和/usr/local/lib的区别(zz)

文章分类:操作系统

简单说,/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的.

/lib/ — 包含许多被 /bin//sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。/lib目录下放置的是/bin和/sbin目录下程序所需的库文件。/lib目录下的文件的名称遵循下面的格式:
libc.so.*

ld*

仅仅被/usr目录下的程序所使用的共享库不必放到/lib目录下。只有/bin和/sbin下的程序所需要的库有必要放到/lib目录下。实际上,libm.so.*类型的库文件如果被是/bin和/sbin所需要的,也可以放到/usr/lib下。

  • /bin/ — 用来贮存用户命令。目录 /usr/bin 也被用来贮存用户命令。

  • /sbin/ — 许多系统命令(例如 shutdown)的贮存位置。目录 /usr/sbin 中也包括了许多系统命令。

  • /root/ — 根用户(超级用户)的主目录。

  • /mnt/ — 该目录中通常包括系统引导后被挂载的文件系统的挂载点。譬如,默认的光盘挂载点是 /mnt/cdrom/.

  • /boot/ — 包括内核和其它系统启动期间使用的文件。

  • /lost+found/ — 被 fsck 用来放置零散文件(没有名称的文件)。

  • /lib/ — 包含许多被 /bin//sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。

  • /dev/ — 贮存设备文件。

  • /etc/ — 包含许多配置文件和目录。

  • /var/ — 用于贮存variable(或不断改变的)文件,例如日志文件和打印机假脱机文件。

  • /usr/ — 包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。

  • /proc/ — 一个虚拟的文件系统(不是实际贮存在磁盘上的),它包括被某些程序使用的系统信息。

  • /initrd/ — 用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。

    警告

    不要删除 /initrd/ 目录。如果你删除了该目录后再重新引导 Red Hat Linux 时,你将无法引导你的计算机。

  • /tmp/ — 用户和程序的临时目录。 /tmp 给予所有系统用户读写权。

  • /home/ — 用户主目录的默认位置。

  • /opt/ — 可选文件和程序的贮存目录。该目录主要被第三方开发者用来简易地安装和卸装他们的软件包。

 
references:
http://blog.csdn.net/fengyunjh/article/details/6232894
http://blog.csdn.net/kkdelta/article/details/7708250
 
 
上一篇:Java面试题精选(一)基础概念和面向对象


下一篇:Review software requirements specification and create test scenarios (what to test for a certain functionality)