鍍金池/ 教程/ Linux/ 文件系統(tǒng)簡單操作
Linux 學(xué)習(xí)記錄--開機(jī)掛載錯(cuò)誤
日志系統(tǒng)
數(shù)據(jù)流重定向
內(nèi)存交換空間的構(gòu)建
文件系統(tǒng)簡介
Linux 學(xué)習(xí)記錄--軟件安裝 RPM|SRPM|YUM
文件特殊權(quán)限
目錄配置 FHS
文件內(nèi)容查閱
Boot Loader
文件壓縮
Linux 學(xué)習(xí)記錄--文件權(quán)限
Linux 命令縮寫
命令與文件的查詢
文件|目錄的默認(rèn)權(quán)限與隱藏權(quán)限
shell script
服務(wù)
Linux 學(xué)習(xí)記錄--程序編譯與函數(shù)庫
正則表達(dá)式與其應(yīng)用
關(guān)機(jī)相關(guān)指令
shell
vim 與 vi 常用命令
系統(tǒng)調(diào)用:進(jìn)程控制
文件系統(tǒng)簡單操作
磁盤掛載與卸載
有名管道通訊
磁盤分區(qū),格式化與檢驗(yàn)
工作管理與進(jìn)程管理
匿名管道通訊
Linux 學(xué)習(xí)記錄--啟動(dòng)流程
文件與目錄管理
管道命令
命名別名與歷史命令
文件備份|還原
shell變量
Linux 學(xué)習(xí)記錄--ACL 權(quán)限控制
內(nèi)核|內(nèi)核模塊編譯
文件管理相關(guān)系統(tǒng)編程

文件系統(tǒng)簡單操作

磁盤的容量查看 df
目錄的容量查看 du
連接文件 ln

磁盤的容量查看(df)

語法:df[-ahikhtm] 目錄或文件名 選項(xiàng)與參數(shù): -a:列出所有的文件系統(tǒng),包括系統(tǒng)特有的 proc 等文件系統(tǒng) -k:以 KB 為單位顯示 -m:以 MB 為單位顯示 -h:以 GB,MB,KB 等格式顯示 -H:以 M=1000 K 代替 M=1024 K 顯示 -T:連同該分區(qū)的文件系統(tǒng)名稱一起列出 -i:以 inode 的數(shù)量來顯示

舉例:

[root@localhost ~]# df -hT
文件系統(tǒng)      類型    容量  已用 可用 已用% 掛載點(diǎn)
/dev/sda2     ext3    9.5G  4.2G  4.9G  47% /
/dev/sda3     ext3    4.8G  138M  4.4G   4% /home
/dev/sda1     ext3     99M   12M   83M  13% /boot
tmpfs        tmpfs   1014M     0 1014M   0% /dev/shm
/dev/sda6     ext3    1.9G   42M  1.8G   3% /mnt/sda6
.host:/     vmhgfs     77G   57G   21G  74% /mnt/hgfs
[root@localhost ~]# df -ihT
文件系統(tǒng)      類型     Inode (I)已用 (I)可用 (I)已用% 掛載點(diǎn)
/dev/sda2     ext3      2.5M    168K    2.3M    7% /
/dev/sda3     ext3      1.3M      22    1.3M    1% /home
/dev/sda1     ext3       26K      35     26K    1% /boot
tmpfs        tmpfs      219K       1    219K    1% /dev/shm
/dev/sda6     ext3      247K      11    247K    1% /mnt/sda6
.host:/     vmhgfs         0       0       0    -  /mnt/hgfs

目錄的容量查看(du)

語法:du[-ahskm] 目錄或文件名
選項(xiàng)與參數(shù):
-a:列出所有文件與目錄容量
-h:以 G/M 容量格式顯示
-s:列出總量,不在列出目錄下面文件量
-S:不包括子目錄下的統(tǒng)計(jì)()
-k:以 KB 為單位顯示
-m:以 MB 為單位顯示

舉例:
[root@localhost ~]# du 8 /bin 6 /boot 1 /dev … 216 /tmp 4077 /usr 99 /var [root@localhost ~]#

連接文件 ln

語法:ln [-sf]源文件 目標(biāo)文件
選項(xiàng)與參數(shù):
-s:如果不加任何參數(shù)默認(rèn)是 hardlink ,加上-s 是 symboliclink
-f:如果目標(biāo)文件存在,就主動(dòng)將目標(biāo)文件刪除后創(chuàng)建

Hard link(硬連接)

Hard link 只是在某個(gè)目錄下新建一個(gè)文件名連接到某個(gè) inode 上

說明:

  1. 創(chuàng)建文件 F1,文件系統(tǒng)為其分配一個(gè) INODE(F1I)和若干 IBLOCK, 此時(shí)連接到 INODE(F1I)只有 F1因此 INODE(F1I)連接數(shù)為1
[root@localhost ~]# touch f1
[root@localhost ~]# ll -i f1
846433 -rw-r--r-- 1 root root 0 02-24 09:33 f1
  1. 創(chuàng)建 F1的 Hard Link FH1, Hard link 并不會(huì)分配新的 INODE 和 IBLOCK,只是將文件名連接都 F1的 INode 上
[root@localhost ~]# ln f1 fh1
[root@localhost ~]# ll -i f1 fh1
846433 -rw-r--r-- 2 root root 0 02-24 09:33 f1
846433 -rw-r--r-- 2 root root 0 02-24 09:33 fh1

可以看到 inode 有1變成了2,INODE 所指向的文件現(xiàn)在是 f1,fh1,指向的數(shù)據(jù)還是以前的那份iblock

硬連接的好處:
1.不會(huì)創(chuàng)建新的 INODE 和 iblock
2.硬連接文件或源文件刪除不會(huì)影響其他(刪除只是接觸 inode 與文件的連接關(guān)系,猜想只要連接數(shù)不為0,就不會(huì)刪除)

Symbolic link

symbolic link 創(chuàng)建的文件時(shí)一個(gè)獨(dú)立的新文件會(huì)占用一個(gè)新的 INODE 和若干 iblock

說明:

  1. 創(chuàng)建文件 F2,文件系統(tǒng)為其分配一個(gè) INODE(F2I)和若干 IBLOCK, 此時(shí)連接到 INODE(F2I)只有 F1因此 INODE(F2I)連接數(shù)為1
[root@localhost ~]# touch f2
[root@localhost ~]# ll -i f2
846434 -rw-r--r-- 1 root root 0 02-24 09:49 f2

2. 創(chuàng)建 F2的符號(hào)文件 F2S, 文件系統(tǒng)會(huì)分配一個(gè)新的 INODE(F2SI)和若干 IBLOCK 給 F2S

[root@localhost ~]# ln -s f2 f2s
[root@localhost ~]# ll -i f2 f2s
846434 -rw-r--r-- 1 root root 0 02-24 09:49 f2
846435 lrwxrwxrwx 1 root root 2 02-24 09:51 f2s -> f2

可以看到 f2,f2S 的 INODE 不是同一個(gè),并且連接數(shù)都是1.說明他們是不同的獨(dú)立文件,但是 f2S 對 f2進(jìn)行符號(hào)鏈接的呢?原因就是 f2s 的 iblock 其大小為2,記錄就是 f2的文件名。因此可以這樣理解,\

  1. f2s 對應(yīng)的 INODE(F2SI)記錄了 iblock 編號(hào)
  2. iblock 里記錄了 F2的文件名
  3. 通過 F2的文件名就可以找到 F2對應(yīng)的 INODE 和 iblock
    所以加入我們刪除了 F2 那么 F2S 就無法再開啟,印在 F2S 需要去訊在 F2這個(gè)文件,此時(shí)已經(jīng)被刪除了
[root@localhost ~]# rm -f f2
[root@localhost ~]# cat f2s
cat: f2s: 沒有那個(gè)文件或目錄

目錄的連接數(shù)量

當(dāng)我們創(chuàng)建一個(gè)目錄是默認(rèn)會(huì)在這個(gè)目錄下創(chuàng)建兩個(gè)隱藏文件“.與..” 其中.指的是本層目錄..指的是上層目錄

[root@localhost ~]# ll -id /tmp
745569 drwxrwxrwt 26 root root 409
[root@localhost ~]# cd /tmp
[root@localhost tmp]# mkdir newdir
[root@localhost tmp]# ll -id /tmp /tmp/newdir
 745569 drwxrwxrwt 27 root root 4096 02-24 10:05 /tmp
1008319 drwxr-xr-x  2 root root 4096 02-24 10:05 /tmp/newdir

由上面可以看出

  1. 在未創(chuàng)建 newdir 是,tmp 文件夾對應(yīng) INODE 的連接數(shù)26
  2. 當(dāng)創(chuàng)建 newdir 后,系統(tǒng)默認(rèn)創(chuàng)建“.與..”文件,一個(gè)指向自己,一個(gè)指向上一層(/tmp)
  3. “.與..”文件都是以硬鏈接的方式連接,因此可以看到此時(shí),tmp 文件夾對應(yīng) INODE 連接數(shù)27,newdir 的連接數(shù)為2(一個(gè)是 newdir 連接,一個(gè)是“.”連接)
上一篇:服務(wù)下一篇:文件與目錄管理