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