檔案系統的簡單操作
一.磁碟與目錄的容量:df,du
df:列出檔案系統的整體磁碟使用量
格式:df 【-ahikHTm】【目錄或檔名】
-a:列出所有的檔案系統,包括系統特有的/proc等檔案系統
-h:以KB的容量顯示各檔案系統
-m:以MB的容量顯示各檔案系統
-h:以人們較易閱讀的GB,MB,KB等格式自行顯示
-H:以M=1000K替代M=1024K的進位方式
-T:連同該分割槽的檔案系統名稱(例ext4)也列出
-i:不用硬碟容量,而以inode的數量來顯示
例:
[[email protected] ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda3 20243456 3307628 16935828 17% /
devtmpfs 493580 0 493580 0% /dev
tmpfs 508248 84 508164 1% /dev/shm
tmpfs 508248 13556 494692 3% /run
tmpfs 508248 0 508248 0% /sys/fs/cgroup
/dev/vda1 201380 133424 67956 67% /boot
tmpfs 101652 20 101632 1% /run/user/42
tmpfs 101652 0 101652 0% /run/user/0
*說明一下範例所屬出的結果資訊:
a.Filesystem:代表該檔案是在哪個分割槽,所以列出裝置名稱
b.1K-blocks:說明下面的數字單位時1KB.可以用-h或-m來改變容量
c.Used:使用掉的硬碟空間
d.Available:剩下的磁碟空間的大小
e.Use%:磁碟使用率。當到到90%時需注意,以免容量不足早成系統問題
f.Mounted on:磁碟掛載目錄所在
du:評估檔案系統的磁碟使用量(常用於評估目錄所佔容量)
格式: du 【-ahskm】 檔案或目錄名稱
-a:列出所有的檔案與目錄容量,因為預設僅統計目錄下面的檔案量而已
-h:以較易讀懂的容量格式(G/B)顯示
-s:例出總量而已,而不列出每個個別的目錄佔用量
-S:不包括子目錄以下的總計,與-s有點差別
-k:以KB列出容量顯示
-m:以MB列出容量顯示
二.連線檔案:ln
在linux中連線有兩種,一種是類似Windows的快捷方式功能的檔案,可以讓你快速連線到目標檔案;另一種則時通過檔案系統的inode連線來產生新檔名,而不是產生新檔案,這種成為硬連線。
1.hard link(硬連線或實際連線)
由上一篇可知,檔名只與目錄有關,但檔案內容則與inode有關。那麼,有沒有可能多個檔名對應到同一個inode號碼呢?那就是hard link,簡單的說:hard link只是在某個目錄下新建一條檔名連線到inode號碼的關聯記錄而以。
例:
[[email protected] mnt]# ll ss
-rw-r--r-- 1 root root 94 Dec 3 17:53 ss
[[email protected] mnt]# ln ss /media/kk *做一個連線
[[email protected] mnt]# ll ss
-rw-r--r-- 2 root root 94 Dec 3 17:53 ss
[[email protected] mnt]# ll ss /media/kk
-rw-r--r-- 2 root root 94 Dec 3 17:53 /media/kk
-rw-r--r-- 2 root root 94 Dec 3 17:53 ss
[[email protected] mnt]# ll -i ss /media/kk
18160500 -rw-r--r-- 2 root root 94 Dec 3 17:53 /media/kk
18160500 -rw-r--r-- 2 root root 94 Dec 3 17:53 ss
由上我們可發現聯合各檔名都連線到18160500的inode號碼,其檔案的許可權,屬性完全一樣。因為這兩個檔案其實是一模一樣的“檔案”,而且“連線”欄位的數字由1變成了2。
hard link的限制:
*不能跨檔案系統
*不能連線到目錄
2.symbolic link(符號連線,也稱快捷方式,軟連線)
symbolic link就是在建立一個獨立的檔案。而這個檔案會讓資料的讀取指向它連線的那個檔案的檔名。由於知識利用檔案來作為指向的操作,所以,當原始檔內刪除後,symbolic link的檔案會無法大開。實際上就是找不到原始檔“檔名”而以。
例:
[[email protected] mnt]# ln -s ss kk
[[email protected] mnt]# ll -i ss kk
18162480 lrwxrwxrwx 1 root root 2 Jan 8 19:36 kk -> ss
18160500 -rw-r--r-- 1 root root 94 Dec 3 17:53 ss
由上面結果我們可以知道兩個檔案指向不同的inode號碼,當然就是兩個獨立的檔案存在。而且連線檔案的重要內容就是它會寫上目標檔案的檔名。
還有,symbolic link與Windows快捷方式相似,由symbolic link所建立的檔案為一個獨立的新檔案,所以會佔用到inode與block。
ln
格式: ln 【-sf】 原始檔 目標檔案
-s:如果不加任何引數就進行連線,那就是hard link,至於-s 就是symbolic link
-f:如果目標檔案存在時,就主動將目標檔案直接刪除後再建立