一、Linux目錄結構 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
rootfs:根文件系統,根是"/"。
1、/boot
系統啟動相關的文件,如內核、intrd、以及grub(bootloader)
root@hao:~# ls / boot abi - 3.2 . 0 - 29 -generic-pae grub memtest86+.bin System.map- 3.2 . 0 - 29 -generic- pae config - 3.2 . 0 - 29 -generic-pae initrd.img- 3.2 . 0 - 29 -generic-pae memtest86+_multiboot.bin vmlinuz- 3.2 . 0 - 29 -generic-pae
2、/dev
設備文件。所有的硬件都被識別為文件,比如插入一個U盤,也會在dev目錄下創建一個文件,如下圖。顯示為青色的是符號鏈接文件,黃色為特殊文件,作為設備的訪問入口存在。設備文件分為塊設備和字符設備,塊設備可以隨機訪問,按數據塊訪問。字符設備線性訪問,字符為單位,比如顯示器和鼠標。
3、/etc
配置文件。系統中所有的程序的配置文件都在該目錄或其子目錄下。因此,這里的文件大多是純文本格式。
4、/home
用戶家目錄。默認為home下的跟用戶名同名的目錄,如
root@hao:~# ls / home hao
5、/root
root用戶家目錄。直接在根目錄下,而不是在home下。
6、/lib
庫文件及內核模塊文件目錄。庫文件分為靜態庫.a和動態庫.so(shared object 共享對象)兩種。庫是被調用的封裝好的功能,在系統上執行時,共享庫載入內存時,一份存儲,多個程序使用。而靜態庫,直接鏈接到程序的地址空間并且作為程序的一部分存在。內核模塊文件:/lib/modules。綠顏色,表示有執行權限。
7、/media
掛載點目錄。把某個設備與某個目錄建立關系就叫做掛載。media 用于掛載移動設備
8、/mnt
掛載點目錄。掛載額外的臨時文件系統。
9、/misc
雜項
10、/opt
可選目錄。第三方程序的安裝目錄。現在通常放在/usr/local
11、/proc
偽文件系統。系統未啟動時,沒有任何內容,其實為空。系統啟動后便不為空,為內核映像文件,保存內核的可調參數和內核工作的統計數據,系統調優和性能監控都與其相關。
12、/sys
? 偽文件系統。跟硬件設備相關的屬性映射文件,修改磁盤調度隊列時與其相關。
13、/tmp
臨時文件目錄。一般每個月會清除。每個用戶都可創建,僅可刪除自己創建的文件。
14、/var
可變化的文件目錄。
15、/bin(binary)
用戶命令。可執行文件。系統啟動時需要的執行文件(二進制)
16、/sbin
管理命令。
17、/usr(Universal shared Read-Only)
只讀文件。
/usr/(s)bin不同于/bin,這里的命令為了正常提供基本功能,與系統啟動無關。
/usr/lib不同于/lib,這里的庫不是公共庫
/usr/local用來安裝第三方軟件
/usr/local/(s)bin
/usr/local/(s)bin
root@hao:~# ls / usr bin games include lib local sbin share src
二、Linux文件目錄命名規則 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
1、長度不能超過255個字符
2、嚴格區分大小寫
3、不能使用/
三、目錄管理 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
前面講的ls cd pwd命令外,還有下面命令
1、mkdir(make directory):創建空目錄
-p:未加該選項時,創建目錄一定要保證其父目錄的存在,如下面的mkdir x/y/z要創建z目錄,一定要保證x與y存在,如果不存在則需要先創建x再創建y然后再創建z。加上該選項可以在沒有父目錄的情況下,連同父目錄一塊創建。
-v(verbose):顯示創建過程可以和-p選項一起使用
root@hao:~# mkdir x root@hao: ~# ls x root@hao: ~# mkdir x/ y root@hao: ~# mkdir x/y/ z root@hao: ~# sudo apt-get install tree Reading package lists... Done Building dependency tree Reading state information... Done ... root@hao: ~ # tree x x ` -- y ` -- z 2 directories, 0 files
root@hao:~# mkdir -p m/n/ t root@hao: ~ # tree m m ` -- n ` -- t 2 directories, 0 files
?
? 使用-pv,及花括號展開,來一次創建多個目錄
root@hao:~# mkdir -pv /mnt/test/{x/ m,y} mkdir : created directory `/mnt/test ' mkdir : created directory `/mnt/test/x ' mkdir : created directory `/mnt/test/x/m ' mkdir : created directory `/mnt/test/y ' root@hao:~# tree / mnt / mnt ` -- test |-- x | `-- m ` -- y 4 directories, 0 files
使用-pv,在/mnt/test下創建 a_b,a_c,d_b,d_c
root@hao: ~# mkdir -pv /mnt/test/ {a,d}_{b,c} mkdir : created directory `/mnt/test/a_b ' mkdir : created directory `/mnt/test/a_c ' mkdir : created directory `/mnt/test/d_b ' mkdir : created directory `/mnt/test/d_c ' root@hao:~# tree / mnt / mnt ` -- test |-- a_b |-- a_c |-- d_b |-- d_c |-- x | `-- m ` -- y 8 directories, 0 files
2、rmdir(remove directory)刪除目錄
只能刪除空目錄,如果該目錄刪除,其父目錄也為空,則其父目錄也刪除,如此遞歸
root@hao:~# rmdir /mnt/test/ y root@hao: ~# tree / mnt / mnt ` -- test |-- a_b |-- a_c |-- d_b |-- d_c ` -- x ` -- m 7 directories, 0 files
root@hao:~# tree / root / root |-- m | `-- n | `-- t ` -- x ` -- y ` -- z 6 directories, 0 files
root@hao:~# rmdir -p /root/x/y/ z rmdir : failed to remove directory `/root ' : Directory not empty root@hao:~# tree / root / root ` -- m ` -- n ` -- t 3 directories, 0 files
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
