zoukankan      html  css  js  c++  java
  • 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
     

     
  • 相关阅读:
    mac安装protobuf2.4.1时报错./include/gtest/internal/gtest-port.h:428:10: fatal error: 'tr1/tuple' file not found和google/protobuf/message.cc:175:16: error: implicit instantiation of undefined template
    java基础六 [异常处理](阅读Head First Java记录)
    安装和使用iOS的包管理工具CocoaPods
    Node.js的知识点框架整理
    java基础五 [数字与静态](阅读Head First Java记录)
    java基础四 [构造器和垃圾回收](阅读Head First Java记录)
    Appium学习路-安装篇
    Dell笔记本Ubuntu无线网卡驱动安装
    Ubuntu系统使用命令禁用触摸板等输入设备
    linux(ubuntu) 查看系统设备信息
  • 原文地址:https://www.cnblogs.com/foohack/p/4028411.html
Copyright © 2011-2022 走看看