Linux的文件系統和目錄
Linux目錄和Windows目錄有著很大的不同,Linux目錄類似一個樹,最頂層是其根目錄,如下圖:
文件系統和目錄:
詳細用法如下
/
bin 存放用戶使用的基本命令(可執行程序,二進制文件),它是不能單獨分區的
boot 跟內核有關的文件, 主要放置開機會使用到的檔案,包括Linux核心檔案以及開機選單與開機所需設定檔等等。
Linux kernel常用的文檔名為:vmlinuz ,如果使用的是grub這個開機管理程式,則還會存在/boot/grub/這個目錄。
cgroup 用來資源限制資源隔離 docker 容器化。
dev device設備文件,在Linux系統上,任何裝置與周邊設備都是以檔案的型態存在于這個目錄當中。 只要通過存取這個目錄下的某個檔案,就等于存取某個裝置。 比要重要的檔案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等。
b block device 塊設備,硬盤或者CD-rom 隨機讀寫。
c character device 字符設備,傳真、鼠標、打字機按順序讀寫。
etc 系統主要的設定檔幾乎都放置在這個目錄內,例如人員的帳號密碼檔、各種服務的 啟始檔等等。一般來說,這個目錄下的各檔案屬性是可以讓一般使用者查閱的, 但是只有root有權力修改。FHS建議不要放置可執行檔(binary)在這個目錄中。
比較重要的檔案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。
另外,其下重要的目錄有:/etc/init.d/,所有服務的預設啟動script都是放在這里的。
例如要啟動或者關閉iptables的話:/etc/init.d/iptables start,/etc/init. d/iptables stop ,使用頻率極高。
Home 每個用戶的家目錄,而且是每個用戶默認的工作目錄,比較重要的是,家目錄有兩種代號:
~ :代表當前使用者的家目錄;
~guest:則代表用戶名為guest的家目錄。
lib 程序包括系統所依賴的一些共享庫文件及內核所依賴的模塊文件,其中重要的是 /lib/modules/這個目錄,因為該目錄會放置核心相關的模組(驅動程式)。
lib64 系統程序所依賴的庫文件。
lost+found 垃圾回收站,當檔案系統發生錯誤時,將一些遺失的片段放置到這個目錄下。
media 這個文件底下放置的就是可移除的裝置。 包括軟碟、光碟、DVD等等裝置都暫時掛載于此。
常見的文檔名有:/media/floppy, /media/cdrom等等。
misc 雜項,存放不好歸類的東西的文件。
mnt 臨時文件文件掛載點。
net 存放網絡文件。
opt 第三方的應用安裝位置的目錄。
proc 偽文件系統,硬盤不存在,只存在于內存中,用來記錄系統或者進程的運行信息,因為這個目錄下的資料都是在記憶體(內存)當中,所以本身不占任何硬盤空間。
比較重要的檔案(目錄)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。
root 系統管理員(root)的家目錄。
sbin 用來存放管理類命令的文件,放在其下的為開機過程中所需要的,里面包括了開機、修復、還原系統所需要的指令,這個文件也不能單獨分區。
常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等
selinux 與selinux相關文件或者記錄。
srv 系統運行產生的一些文件
sys 這個目錄其實跟/proc非常類似,也是一個虛擬的檔案系統,主要也是記錄與核心相關的資訊,這個目錄同樣不占硬盤容量。
tmp 這是放臨時文件以及應用產生的臨時文件的地方。這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。當然,重要資料不可放置在此目錄啊。
usr 千萬別誤以為是user,usr是Unix Software Resource的縮寫, 也就是Unix操作系統軟件資源所放置的目錄,而不是用戶的數據啦。這點要注意。 FHS建議所有軟件開發者,應該將他們的數據合理的分別放置到這個目錄下的次目錄,而不要自行建立該軟件自己獨立的目錄。
其下面主要有下面幾個文件:
/lib /lib64 /bin /sbin
/local 用來存放第三方的應用
/share 用于存放幫助
/etc/ 配置文件
/include 主要用來存放頭文件
/tmp 臨時文件
var 日志存放以及應用產生的一些文件或者臨時文件 郵件隊列 使用頻率超五星
/var/log/message 系統日志
/var/log/boot.log 系統啟動時候產生的一些日志
/var/log/dmesg 存放輸出內核或者是硬件的一些有效信息,可以使用dmesg
/var/log/mail.log 存放郵件產生的日志。
/var/log/cron 放系統和我們自定義的計劃任務的日志的地方。
/var/lib/mysql MySQL數據存放目錄。
/var/mail 用于郵件的存放的目錄,由于是郵件服務,此目錄可能會滿,因此可以用rsync(命令)來使用 一個空目錄同步有問題的目錄。
/var/spool/cron 用來存放跟計劃任務相關的內容。
絕對路徑與相對路徑:
根據檔名寫法的不同,也可將所謂的路徑(path)定義為絕對路徑(absolute)與相對路徑
(relative)。 這兩種文件名/路徑的寫法依據是這樣的:
絕對路徑:
由根目錄(/)開始寫起的文件名或目錄名稱, 例如 /home/dmtsai/.bashrc;
相對路徑:
相對于目前路徑的文件名寫法。
例如 ./home/dmtsai 或 http://www.cnblogs.com/home/dmtsai/ 等等。
反正開頭不是 / 就屬于相對路徑的寫法。
目錄權限:
文件或目錄的訪問權限分為只讀,只寫和可執行三種。
只讀權限表示只允許讀其內容,而禁止對其做所有的更改操作??蓤绦袡嘞薇硎驹试S將該文件作為一個程序執行。文件被創建時,文件所有者自動擁有對該文件的讀、寫和可執行權限,以便于對文件的閱讀和修改。
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。所有者能允許同組用戶有權訪問文件,還能將文件的訪問權限賦予系統中的其他用戶。在這種情況下,系統中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問權限都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行權限;和屬組的用戶的讀、寫和執行權限;系統中其他用戶的讀、寫和執行權限。
文件名的要求:
1、文件名稱嚴格區分字符大小寫;
2、文件名可以使用除“/”以外的任意字符;
3、文件名長度不可以超過255字符;
4、以“·”開頭的文件為隱藏文件。
原創文章,作者:忠神通,如若轉載,請注明出處:http://www.www58058.com/71841
內容上比較豐富,對linux目錄的說明也很詳細