1. 程式人生 > >檔案系統的簡單操作

檔案系統的簡單操作

.磁碟與目錄的容量: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:如果目標檔案存在時,就主動將目標檔案直接刪除後再建立