1.文件系統(tǒng)的概念
文件系統(tǒng)(File System)是文件管理系統(tǒng)的簡稱舰褪,根據(jù)維基百科的描述,文件系統(tǒng)是用來組織數(shù)據(jù)在存儲介質(zhì)上的存儲方式以及檢索方式的婴程。沒有文件系統(tǒng)穿稳,信息在存儲介質(zhì)上會是一個很大的信息塊,沒法知道一條信息什么時候會結(jié)束寻拂,也沒法知道信息在什么時候開始,對信息的管理就會十分的麻煩丈牢。
2.df命令
df 檢查文件系統(tǒng)的磁盤空間占用情況祭钉。
顯示已掛載的文件系統(tǒng),相當(dāng)于在windows下打開計算機(jī)C己沛、D慌核、E盤的大小多少。
-a ∶列出所有的文件系統(tǒng)申尼,包括系統(tǒng)特有的 /proc 等文件系統(tǒng)
-k ∶以 KBytes 的容量顯示各文件系統(tǒng)
-m ∶以 MBytes 的容量顯示各文件系統(tǒng)
-h ∶以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示
-H ∶以 M=1000K 取代 M=1024K 的進(jìn)位方式
-T ∶連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出
-i ∶不用磁盤容量垮卓,而以 inode 的數(shù)量來顯示
練習(xí):
1.將系統(tǒng)內(nèi)所有文件系統(tǒng)列出來(不含特殊內(nèi)存內(nèi)的文件系統(tǒng)與swap),都以1KB的容量來列出來师幕。(tmpfs是一種虛擬內(nèi)存文件系統(tǒng),而不是塊設(shè)備,是基于內(nèi)存的文件系統(tǒng)粟按。/dev/shm是與內(nèi)存有關(guān)的掛載)
df
2.將容量結(jié)果以易讀的方式顯示出來
df -h
3.將系統(tǒng)內(nèi)的所有特殊文件系統(tǒng)及名稱都列出來
df -aT
4.將/etc該目錄或文件所在的分區(qū)容量顯示出來
df -h /etc
5.將目前各個分區(qū)當(dāng)中的inode數(shù)量列出
df -ih
6.使用ls命令的-i選項查看文件的inode號
ls -li
問題:
df 代表什么意思诬滩?
df . 代表什么意思?
如圖所示 df命令是檢查文件系統(tǒng)的磁盤空間占用情況灭将。 df . 命令是檢查當(dāng)前文件夾所在的磁盤的磁盤空間占用情況
說明一下范例所輸出的結(jié)果信息:
Filesystem: 代表該文件系統(tǒng)是在哪個分區(qū)疼鸟,所以列出設(shè)備名稱。
1k-blocks: 說明下面的數(shù)字單位是1KB
Mounted on 掛載點
3.du命令
du 統(tǒng)計目錄(或文件)所占磁盤空間的大小(即查看文件夾大小庙曙,將里面的東西大小也顯示出來)
-a ∶分列出所有的文件與目錄容量(不可用于統(tǒng)計)空镜。
-h ∶以人們較易讀的容量格式 (G/M) 顯示;
-s ∶統(tǒng)計目錄總?cè)萘堪破樱c-a相對吴攒。
-k ∶以 KBytes 列出容量顯示;
-m ∶以 MBytes 列出容量顯示砂蔽;
用法:du [-ahskm] 文件或目錄名稱
練習(xí):
1.列出當(dāng)前目錄下的所有目錄容量舶斧,即文件夾的大小(默認(rèn)不包含文件的容量)
du
#直接輸入du沒有加任何參數(shù)時,則du會分析當(dāng)前所在目錄的文件與目錄所占用的硬盤空間察皇。
#但是茴厉,實際顯示時,僅會顯示目錄容量(不含文件)什荣。
#因此矾缓,目錄有很多文件沒有被列出來,所以全部的目錄相加不會等于.的容量
2.將文件的容量(大小)也列出來
du -a
du -ah
3.s:single的意思稻爬,只顯示單層的嗜闻,即這個目錄的大小
du -s /etc
4.顯示根有多大
du -sh /
5.列出根目錄下每個目錄所占用的容量
du -sm /*
6.列出/usr下每個目錄所占用的容量
du -sh /usr/*
問題:
du 代表什么意思?
du . 代表什么意思桅锄?
du 統(tǒng)計目錄(或文件)所占磁盤空間的大小
du. 統(tǒng)計當(dāng)前目錄所占磁盤空間大小
4.索引節(jié)點
Linux文件是通過inode和block來存儲的琉雳。
文件系統(tǒng)存儲的最小單位是block(塊),文件的實際數(shù)據(jù)放置到block塊中友瘤。
文件數(shù)據(jù)除了文件實際內(nèi)容外翠肘,通常含有非常多的屬性。
Linux操作系統(tǒng)的文件權(quán)限(rwx)與文件屬性(所有者辫秧、群組束倍、時間參數(shù)等)存放到inode中。一個文件占用一個inode盟戏,同時記錄此文件的數(shù)據(jù)所在的block號碼绪妹。
另外,還有一個超級快(superblock)會記錄整個文件系統(tǒng)的整體信息柿究,包括inode與block的總量邮旷、使用量、剩余量等蝇摸。
5.硬連接
硬連接是Linux和Unix里面專有的一個概念婶肩,在其它操作系統(tǒng)里面并沒有硬連接這個概念办陷。
如A、B均指向磁盤中的同一塊空間狡孔,使用A或者B都能達(dá)到操縱文件的目的懂诗。創(chuàng)建硬連接增加連接數(shù)。
rm命令減少連接數(shù)苗膝,當(dāng)連接數(shù)為0時殃恒,刪除這個文件∪杞遥“連接”這個字段的意義為“有多少文件名連接到這個inode”离唐,如果你將任何一個“文件名”刪除,其實inode與block都還是存在的问窃。
硬鏈接僅能在單一文件系統(tǒng)中進(jìn)行亥鬓,所有hard link是有限制的:
a.不能跨文件系統(tǒng)
b.不能連接到目錄
練習(xí):
1.新建一個目錄,在新目錄里操作
mkdir xx
cd xx
2.復(fù)制/etc/passwd域庇,-a選項連同屬性一起復(fù)制
cp -a /etc/passwd .
3.使用du命令以字節(jié)為單位顯示當(dāng)前目錄的大小嵌戈,使用df命令查看當(dāng)前目錄所在分區(qū)的inode數(shù)量
du -sb;df -i .
4.為passwd文件建立硬連接,ln為link的簡寫,不要寫錯了
ln passwd passwd-hd
5.查看當(dāng)前目錄大小和當(dāng)前目錄所在分區(qū)中的inode數(shù)量是有否變化
du -sb;df -i .
6.查看文件passwd和passwd-hd的inode號是否相同听皿?
ll -i
#可見整個inode與block的容量并沒有改變
#硬鏈接和原文件的inode號相同熟呛,指向同一個文件,只是連接數(shù)(別名)增加了尉姨。
6.軟連接(又稱符號連接)
符號連接就是在創(chuàng)建一個獨立的文件庵朝,類似于快捷方式,B是A的符號連接又厉,那么B可看作是A的引用九府。刪除B,則A繼續(xù)存在覆致。ll命令后侄旬,箭頭右邊的文件名共有幾個英文,每個英文占1個byte篷朵,就是文件的大小幾byte勾怒。
練習(xí):
1.為文件passwd建立符合連接
ln -s passwd passwd-so
2.查看當(dāng)前目錄大小和當(dāng)前目錄所在分區(qū)中的inode數(shù)量
du -sb;df -i .
3.查看文件passwd和passwd-so的inode號是否相同?
ll -i
4.整個容量和inode數(shù)量都增加了声旺,軟連接文件有自己的inode號,所以段只,軟連接是增了新文件
cat passwd-so
cat passwd-hd #訪問軟腮猖、硬連接文件
#刪除原文件,軟赞枕、硬連接文件還能被訪問么澈缺?
rm -f passwd
7.磁盤分區(qū)fdisk
fdisk非常危險坪创,一般我們只是使用它來查看磁盤分區(qū)情況,沒有掛載上的也能查到
練習(xí):
fdisk -l //列出系統(tǒng)內(nèi)能夠找到的設(shè)備的分區(qū)
#只查看某一個硬盤
fdisk -l /dev/sda
練習(xí):
將系統(tǒng)現(xiàn)有磁盤的最后一個分區(qū)刪掉姐赡,重新建一個分區(qū)
fdisk -l //先查看一下系統(tǒng)中硬盤的名稱莱预,eg:/dev/sda
fdisk /dev/sda
m //m命令是幫助
p //打印當(dāng)前磁盤的分區(qū)情況
d //deletc分區(qū)
3 //假設(shè)最后一個分區(qū)的分區(qū)號是3
n //n命令可以新建一個分區(qū)
p //新建一個主分區(qū)
4 //設(shè)置一個分區(qū)號
Enter
+512M
p //使用p命令查看一下分區(qū)情況
n //n命令可以新建一個分區(qū)
e //新建一個擴(kuò)展分區(qū)
3 //設(shè)置一個分區(qū)號
Enter
Enter
p //使用p命令查看一下分區(qū)情況
后面可以繼續(xù)在擴(kuò)展分區(qū)中建邏輯分區(qū)
q //q命令退出未將修改保持
注意:
主分區(qū)與擴(kuò)展分區(qū)最多可以有4個擴(kuò)展分區(qū)最多只能有一個邏輯分區(qū)是由擴(kuò)展分區(qū)繼續(xù)分出來的
8.mount命令
mount掛載文件系統(tǒng)
-t ∶可以加上文件系統(tǒng)種類來指定欲掛載的文件系統(tǒng)的類型。
常見的Linux支持類型有ext2项滑、ext3依沮、vfat、reiserfs枪狂、iso9660(光盤格式)危喉、nfs、cifs州疾、smbfs(此三種為網(wǎng)絡(luò)文件系統(tǒng)類型)
練習(xí)掛載U盤:
a) 插U盤之前使用fdisk查看當(dāng)前系統(tǒng)中的磁盤情況
fdisk -l
b) 插U盤后再次使用fdisk查看當(dāng)前系統(tǒng)中的磁盤情況辜限,eg:/dev/sdb
fdisk -l
c) 建立準(zhǔn)備掛載的目錄
mkdir /mnt/usb
d) 使用mount命令將U盤掛上去
mount /dev/sdb /mnt/usb
cd /mnt/usb
e)查看U盤里的內(nèi)容
ls
f)卸載U盤
umount usb或umount /dev/sdb //使用后,卸載严蓖,拔除USB設(shè)備