linux文件目錄詳解

linux目錄結構

  (且看且不看)

歷史上 /usr和 /etc文件夾下既保存靜態文件,也保存可變文件,后來有了/var層次結構,/usr下面的可變文件被轉移到/var下面。因而/usr現在可以只讀的方式掛載(如果它在單獨的文件系統上)。 /etc下的可變文件早已轉移到/var,因為技術上允許
/

根是系統內核啟動后掛載的第一個分區,掛載到根上的分區是應用程序的基礎,boot分區是內核的基礎。如果只分了一個區那么就都基礎吧,內核被加載運行,其中的根是一個抽象的概念,發行版的內核加載至系統初始化完成根一共會發生3次掛載,initramfs,只讀掛載指定的根分區,重新掛載根分區,平時說的根是指掛載在根上的分區。啟動完成后可以在根分區上的文件夾下掛載其他區分。

bin
注:
  /bin 包含了系統管理員和用戶都可能使用的命令,或/bin只能存放供用戶自由使用的命令。并且是那些要求在沒有掛載其他文件系統的情況下能夠使用(例如在單用戶模式下)的命令,也就是說軟鏈接的命令不能跨分區。它也可能包含腳本間接使用的命令。
并且 /bin下不能有子文件夾
為了能夠備份系統,添加了 tar、gzip 和 cpio 命令(在/完整的前提下)
如果不會還原根分區,則可以忽略這些二進制文件
例:/在 ROM 芯片上,通過 NFS 掛載/usr 的情況。
如果計劃通過網絡還原系統,則 ftp 或 tftp(及所有其他 ftp 連接所需的東西)應該放置在根分區中。

/bin 下要求有如下命令。
    cat 將文件連接到標準輸出的工具
    chgrp 改變文件所在組的工具
    chmod 改變文件訪問權限的工具
    chown 改變文件所有者和組的工具
    cp 復制文件和文件夾的工具
    date 打印或設置系統日期和時間的工具
    dd 轉換和復制文件的工具
    df 報告文件系統磁盤空間使用情況的工具
    dmesg 打印或控制內核消息緩存區的工具
    echo 顯示一行文本的工具
    false 什么也不做,只返回不成功的工具
    hostname 顯示或設置系統主機名的工具
    kill 向進程發送消息的工具
    ln 在文件之間創建鏈接的工具
    login 在系統上開啟會話的工具
    ls 列出文件夾內容的工具
    mkdir 創建文件夾的工具
    mknod 創建塊或字符特殊文件的工具
    more 按頁翻看文本的工具
    mount 掛載文件系統的工具
    mv 移動/重命名文件的工具
    ps 報告進程狀態的工具
    pwd 打印當前工作文件夾名稱的工具
    rm 刪除文件或文件夾的工具
    rmdir 刪除空文件夾的工具
    sed ‘sed’流編輯器
    sh Bourne 命令 Shell ->如果/bin/sh 不真是 Bourne shell,它必須為指向真正shell命令的硬鏈接或軟鏈接。
    stty 改變和打印終端行設置的工具
    su 改變用戶 ID 的工具
    sync 清洗文件系統緩存區的工具
    true 什么也不做,只返回成功的工具
    umount 卸載文件系統的工具
    uname 打印系統信息的工具
如果安裝了對應的子系統,/bin 下必須有以下程序或指向它們的符號鏈接:
    csh C shell(可選)
    ed ‘ed’編輯器(可選)
    tar tar 檔案工具(可選)
    Cpio cpio 檔案工具(可選)
    gzip GNU 壓縮工具(可選)
    gunzip GNU 解壓工具(可選)如果 gunzip 程序存在,則它們必須是指向 gzip 的符號鏈接或硬鏈接。
    zcat GNU 解壓工具(可選)如果 zcat 程序存在,則它們必須是指向 gzip 的符號鏈接或硬鏈接。
    netstat 網絡統計工具(可選)
    ping ICMP 網絡測試工具(可選)

sbin
注:在centos 7 中/sbin被軟鏈接至 /usr/sbin目錄.
/sbin存放管理員使用的工具
系統管理員使用的工具(和其他只有 root 使用的命令)保存在 /sbin 、 /usr/sbin 和
/usr/local/sbin 中。/sbin 包含除了/bin 中之外其他的啟動、還原、恢復和/或修復系統所必
需的二進制文件。在已知/usr 已經掛載(并且沒有問題)的情況下執行的程序通常位于
/usr/sbin 下。本地安裝的系統管理程序應該位于/usr/local/sbin 下

/sbin 下應該有以下命令或符號鏈接。
  shutdown 關閉系統的命令
如果安裝了相應子系統,/sbin 下必須有以下文件或符號鏈接:
命令描述
  fastboot 不檢查磁盤重啟系統(可選)
  fasthalt 不檢查磁盤停止系統(可選)
  fdisk 操作分區表(可選)
  fsck 文件系統檢查和修復工具(可選)
  fsck.* 針對某一特定文件系統的檢查和修復工具(可選)
  getty getty 程序(可選)
  halt 停止系統的命令(可選)
  ifconfig 配置網絡接口的命令(可選)
  init 初始化進程(可選)
  mkfs 創建文件系統的命令(可選)
  mkfs.* 創建特定文件系統的命令(可選)
  mkswap 設置交換區的命令(可選)
  reboot 重啟系統的命令(可選)
  route IP 路由表工具(可選)
  swapon 啟用分頁和交換(可選)
  swapoff 關閉分頁和交換(可選)
  update 周期性的清洗文件系統緩存區的后臺服務(可選)
lib

/lib存放必需的共享庫和內核模塊
  /lib 文件夾包含了啟動系統和運行根文件系統中命令,如/bin 和/sbin 下的二進制文件所需的共享庫鏡像
如果安裝了 C 預處理器,/lib/cpp 可以作為它的一個引用,這是出于歷史原因
下列文件名模式至少要有一個(它們可以是文件或符號鏈接)
    libc.so.* 動態鏈接的 C 語言庫(可選)
    ld* 執行時鏈接器/裝載器(可選)
如果安裝了相應子系統,/lib 中應該有如下文件夾或符號鏈接:
    modules 可加載內核模塊(可選)

lib64

屬于/lib<qual>是lib 文件夾的變體
系統中可能有一個或多個/lib 文件夾的變體,以支持多種二進制格式文件對各自庫的要求。
如果存在一個或多個這樣的文件夾,對其內容的要求與正常的/lib 文件夾相同,只是不要求有/lib<qual>/cpp

srv

存放系統所提供服務的數據文件

opt

/opt是第三方應用程序軟件包安裝目錄

home
普通用戶的家目錄

root
管理員的家目錄

etc
/etc 層次結構包含了配置文件?!芭渲梦募笔且粋€用于控制程序操作的本地文件;它必須是靜態文件而且不能是可執行的二進制文件

/etc 下面不能放置二進制文件
/etc 文件夾下要求有如下文件夾或符號鏈接。
  opt /opt 的配置
  X11 X 窗口系統的配置(可選)
  sgml SGML 的配置(可選)
  xml XML 的配置(可選)
如果如果安裝了相應的子系統,/etc 下必須有以下文件或符號鏈接
  csh.login 系統范圍的 C shell 登錄初始化文件(可選)
  exports NFS 文件系統訪問控制表(可選)
  fstab 文件系統的靜態信息(可選)
  ftpusers FTP 后臺服務用戶訪問控制表(可選)
  gateways 路由用的網關列表文件(可選)
  gettydefs getty 用的速率和終端設置(可選)
  group 用戶組文件(可選)
  host.conf 解析器配置文件(可選)
  hosts 有關主機名的靜態信息(可選)
  hosts.allow TCP wrapper 的主機訪問文件(可選)
  hosts.deny TCP wrapper 的主機訪問文件(可選)
  hosts.equiv rlogin、rsh、rcp 的信任主機表(可選)
  hosts.lpd lpd 的信任主機表(可選)
  inetd.conf inetd 的配置文件(可選)
  inittab init 的配置文件(可選)
  issue 預登錄消息和認證文件(可選)
  ld.so.conf 搜索共享庫的附加文件夾列表(可選)
  motd 當天的登錄后消息文件(可選)
  mtab 文件系統的動態信息(可選)
  mtools.conf mtools 的配置文件(可選)
  networks 網絡名稱的靜態信息(可選)
  passwd 密碼文件(可選)
  printcap lpd 打印機功能數據庫(可選)
  profile 系統范圍的 sh shell 登錄初始化文件(可選)
  protocols IP 協議列表(可選)
  Resolv.conf 解析器配置文件(可選)
  rpc RPC 協議列表(可選)
  securetty root 登錄的 TTY 訪問控制(可選)
  services 網絡服務的端口名稱(可選)
  shells 有效的登錄 shell 的路徑名稱(可選)
  Syslog.conf syslogd 的配置文件(可選)

dev
/dev 文件夾是放置特殊或設備文件的地方。
如果有/dev 下的文件需要手動創建的情況,/dev 必須包含一條叫做 MAKEDEV 的命令,
它可能創建所需的設備。它也可以包含一個用于任何本地設備的叫MAKEDEV.local 的節點。
如果需要,MAKEDEV必須提供創建系統中能發現的所有設備的功能,而不僅僅是那些一種特定實現所安裝的設備文件。

boot
/boot 中存儲了內核在開始執行用戶模式程序之前所使用的數據
  (包含了啟動過程中所需的所有文件,除了啟動時不需要的配置文件和映射安裝程序)  
這會包括保存的主啟動扇區和扇區映射文件
操作系統內核必須位于/或者/boot

mnt
掛載使用的目錄

tmp

臨時的數據存放的目錄,此目錄會定期被清理,清理的執行程序來自計劃任務腳本,但是在centos 7 中使用unit實現

proc
簡介:
proc 目錄存放內核中的系統狀態信息,以及統計信息。其中系統狀態信息可接受配置。
目錄結構如下:
[root@localhost proc]# ls
1     1271  18   28   47   acpi         interrupts    modules       sys
10    1273  19   29   48   asound       iomem      mounts        sysrq-trigger
1049  1275  2    3    49   buddyinfo    ioports      mpt           sysvipc
107   1277  20   30   5    bus          irq         mtd           timer_list
1071  13    204  33   592  cgroups      kallsyms     mtrr          timer_stats
1093  1344  205  34   6    cmdline      kcore        net           tty
11    1357  21   35   660  cpuinfo      keys         pagetypeinfo  uptime
1153  1359  211  36   7    crypto       key-users     partitions     version
12    1374  212  37   751  devices      kmsg        sched_debug   vmallocinfo
1233  1375  213  378  780  diskstats    kpagecount  schedstat      vmstat
1245  1377  22   379  781  dma        kpageflags  scsi          zoneinfo
1246  14    23   4    79   driver       loadavg     self
1247  1408  24   415  8    execdomains  locks       slabinfo
1265  15    25   44   80   fb           mdstat      softirqs
1267  16    26   45   816  filesystems  meminfo     stat
1269  17    27   456  9    fs           misc        swaps
進程信息:
proc文件夾包含系統當前進程的信息,進城信息已文件夾存放,進程ID號碼對應文件夾名稱:
[root@localhost proc]# ls |grep “^[1-9][0-9]*$”|xargs -l13
1 10 1049 107 1071 1093 11 1153 12 1233 1245 1246 1247
1265 1267 1269 1271 1273 1275 1277 13 1344 1357 1359 1374 1375
1377 14 1449 1450 1451 15 16 17 18 19 2 20 204
205 21 211 212 213 22 23 24 25 26 27 28 29
3 30 33 34 35 36 37 378 379 4 415 44 45
456 47 48 49 5 592 6 660 7 751 780 781 79
8 80 816 9

文件夾中 exe 文件為軟連接文件,指向硬盤上的二進制程序。
[root@localhost 1]# ls
attr        coredump_filter  io         mountstats     pagemap      stack
autogroup   cpuset           limits     net            personality  stat
auxv        cwd              loginuid   ns             root         statm
cgroup      environ          maps       numa_maps      sched        status
clear_refs  exe              mem        oom_adj        schedstat    syscall
cmdline     fd               mountinfo  oom_score      sessionid    task
comm        fdinfo           mounts     oom_score_adj  smaps        wchan
[root@localhost 1]#

[root@localhost 1]# ll exe
lrwxrwxrwx 1 root root 0 5月  13 22:40 exe -> /sbin/init
[root@localhost 1]#

sys
sys:輸出內核識別的各硬件設備的相關屬性信息
硬件設備名稱規則 /etc/udev/rules.d

原創文章,作者:HGG,如若轉載,請注明出處:http://www.www58058.com/77231

(0)
HGGHGG
上一篇 2017-05-30
下一篇 2017-05-31

相關推薦

  • Linux網絡屬性配置(三)修改配置文件&& CentOS 7 網絡配置

    Linux網絡屬性配置(三)&& CentOS 7網絡配置 Linux網絡屬性配置(三)修改配置文件&& CentOS 7 網絡配置 Linux網絡屬性配置(三)修改配置文件 IP、MASK、GW、DNS相關配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE 路由相關配置文件: /…

    Linux干貨 2016-07-07
  • 文本查看及處理工具

    文本查看及處理工具 wc wc命令用來計算數字。利用wc指令我們可以計算文件的Byte數、字數或是列數 語法 wc(選項)(參數) 選項 -c或–bytes或——chars:只顯示Bytes數; -l或——lines:只顯示列數; -w或——words:只顯示字數。 參數 文件:需要統計的文件列表 實例 [root@localhost tmp]# cat …

    Linux干貨 2018-03-18
  • Python函數式編程指南(四):生成器

    轉自 http://www.cnblogs.com/huxi/archive/2011/07/14/2106863.html 生成器是迭代器,同時也并不僅僅是迭代器,不過迭代器之外的用途實在是不多,所以我們可以大聲地說:生成器提供了非常方便的自定義迭代器的途徑。 這是函數式編程指南的最后一篇,似乎拖了一個星期才寫好,嗯…… 轉載請注明原作者和原文地…

    Linux干貨 2015-03-09
  • Linux基礎知識(二)

    一、Linux文件管理類命令的使用方法及其相關示例演示? 1、文件管理 (1)mkdir (2)rmdir (3)cp (4)mv (5)rm (6)touch 2、文件查看 (1)ls (2)tree (3)cat&tac (4)head (5)tail (6)more&less (7)stat 二、Bash特性詳解 1、命令行展開 (1)…

    Linux干貨 2016-09-27
  • VMWare網絡連接的三種模式

    在創建虛擬機的時候我們會對網絡適配器進行配置,那么網絡適配器是什么呢?首先我們來簡單介紹一下網絡適配器。 計算機與外界局域網的連接是通過主機箱內插入一塊網絡接口板(或者是在筆記本電腦中插入一塊PCMCIA卡)。而網絡接口板又稱為通信適配器或網絡適配器(networkadapter)或網絡接口卡NIC(NetworkInterface Card),但是更多的人…

    Linux干貨 2017-07-12
  • 8.3作業

    創建sysadmins組  將user1 user2 user3 加入組中 將user3設置為管理員 用user3登錄,將user2從組中移除 設置sysadmins口令centos 設置user1在創建新文件時所屬組為sysadmins 刪除User1-3 刪除sysadmins [root@localhost testdir]#&nb…

    Linux干貨 2016-08-04
欧美性久久久久