第七節(jié)文件系統(tǒng)操作與磁盤管理

第一、關(guān)于df和du

1、df : 查看磁盤的容量

? 1)rootfs : 系統(tǒng)啟動(dòng)時(shí)內(nèi)核載入內(nèi)存之后,在掛載真正的磁盤之前的一

個(gè)臨時(shí)文件系統(tǒng),通常主機(jī)會(huì)在系統(tǒng)啟用后用磁盤上的文件系統(tǒng)替

換,而在一些嵌入式系統(tǒng)中只存在一個(gè)

2)Ramfs : 用于實(shí)現(xiàn)磁盤緩存機(jī)制作為動(dòng)態(tài)可調(diào)整大小的基于ram的文件系統(tǒng)

roofs通常是Ramfs或者tfpms的一個(gè)實(shí)例

3)/dev/sda2/:對應(yīng)著物理主機(jī)硬盤上的分區(qū) ? ?a:第幾塊硬盤 ? 2:分區(qū)

號(hào)

4) 1k-block: ? 表示以磁盤塊大小的方式表示容量

5)df -h: 查看磁盤容量,容量以人能看懂的形式輸出 (K , M,G)

2、du ?:查看目錄的容量

du -h:以更容易讀的方式展出

-d ?:指定查看目錄的深度

eg:

du -h -d ? 數(shù)字n ? 目錄 :只查看(n+1)級目錄的信息

du -a :顯示目錄中所有文件大小

du -s :僅顯示總計(jì)

二、簡單的磁盤管理

命令dd: ?用于轉(zhuǎn)換、復(fù)制文件、備份硬件的引導(dǎo)扇區(qū)、獲取一定數(shù)

量的隨機(jī)數(shù)據(jù)或空數(shù)據(jù)、在復(fù)制時(shí)處理數(shù)據(jù)(轉(zhuǎn)換字節(jié)序

和在 ASCII與EBCDIC編碼間互換等)

dd命令行語句: 選項(xiàng)=值,默認(rèn)從標(biāo)準(zhǔn)輸入中讀取,寫入到標(biāo)準(zhǔn)輸出

可以改變:if(input ? file,輸入文件)

of(output file ,輸出文件)

從標(biāo)準(zhǔn)輸入中讀取,輸出到文件(不是默認(rèn)):

( ?注: ?bs : 指定塊大小 ? ? ? ?count:指定塊數(shù)量 ? )

1) dd of=輸出文件 ?bs=數(shù)字 ?count=數(shù)字

(dd后可以加 ?if=/dev/stdin)

2)在終端打字作為輸入

3)cat ? ?輸出文件 ? :終端輸出已輸入內(nèi)容

從標(biāo)準(zhǔn)輸入中讀取,則自動(dòng)輸出到標(biāo)準(zhǔn)輸出

1) dd ? if=/dev/stdin ?of=/dev/stdout ?bs=數(shù)字 count=數(shù)字

2) ? 在終端打字作為輸入

3) ?終端自動(dòng)輸出

注意: 若輸入內(nèi)容超過了設(shè)定大小,則超過的部分會(huì)被截取并保留在標(biāo)

標(biāo)準(zhǔn)輸入

將輸入的英文字符轉(zhuǎn)換為大寫再寫入文件:

dd ?if=輸入文件 ? of=輸出文件 ? bs=數(shù)字 ?count=數(shù)字 ?conv=ucase

關(guān)于loop:

? ?/dev/loop/:使得文件可以如同塊設(shè)備一般被訪問的偽設(shè)備,將文件變?yōu)?/p>

設(shè)備文件

目的: ? ?一個(gè)包含完整文件系統(tǒng)的文件(設(shè)備文件)可以被掛載,循環(huán)

掛載來掛載包含文件系統(tǒng)的文件,使處在文件系統(tǒng)中的文件得以

被訪問。

設(shè)備文件常被用作光盤或者磁盤鏡像。

設(shè)備文件出現(xiàn)在掛載點(diǎn)目錄,如果掛載目錄本身有文件,那這些

文件在掛載后被禁止使用。

(具體案例)

1、創(chuàng)建虛擬鏡像文件:

1) 從/dev/zero/設(shè)備創(chuàng)建一個(gè)容量為256M的空白文件:

dd ? if=/dev/zero ? of=virtual.img ?bs=1M ? count=256

2)查看輸出文件大?。?/p>

du ?-h ?virtual.img

2、將創(chuàng)建的文件格式化(寫入文件系統(tǒng))

(將我們自己創(chuàng)建的虛擬磁盤鏡像格式化為ext4文件系統(tǒng))

sudo ?mkfs.ext4 ?virtual.img

附:

查看linux支持的文件系統(tǒng):

ls ?-l ? Pb/modules/$(uname -r)/kernel/fs

3、將磁盤掛載到目錄樹

掛載好的文件、目錄、設(shè)備、以及特殊文件可以提供給用戶使用

1) 查看主機(jī)已經(jīng)掛載的文件系統(tǒng):

sudo mount

->輸出結(jié)果每一行格式:

設(shè)備名 ? ?on ? 掛載點(diǎn) ? type ? 文件系統(tǒng)類型 ? ? 掛載選項(xiàng)(eg:只讀)

2)掛載創(chuàng)建的虛擬磁盤鏡像到/mnt 目錄:

mount ? -o ? loop ?-t ?ext4 ?virtual.img ? /mnt

以只讀方式掛載:

mount ? -o ? loop ?--ro ? ?virtual.img ? /mnt

(或者mount ? -o ? loop,ro ? ?virtual.img ? /mnt)

注:

mount的常用操作:

mount ?-o ?操作選項(xiàng) ?-t ? 文件系統(tǒng)類型 ? 【-w|--rw|--ro】

文件系統(tǒng)源 ?掛載點(diǎn)

可以省略文件系統(tǒng)類型,mount一般可以識(shí)別,-w|--rw|--ro為掛載選項(xiàng)

附: ?卸載已掛載磁盤:

? ? ? sudo ?umount ?/mnt ? ? ?已掛載設(shè)備名或者掛載點(diǎn)

4、為磁盤分區(qū)

1)查看硬盤分區(qū)表信息:

sudo ?fdisk ?-l

->輸出結(jié)果包括: ?扇區(qū)大小 (磁盤上劃分區(qū)域)

I/O大小 ?(輸入輸出端口) 等

2)進(jìn)入磁盤分區(qū)模式:(分區(qū)前規(guī)劃好分區(qū)方案,這里為三個(gè)分區(qū))

sudo ? fdisk ? virtual.img

輸入P查看結(jié)果

5、建立鏡像與回環(huán)設(shè)備的關(guān)聯(lián)

sudo losetup ?/dev/loop/0 ? virtual.img

(如果設(shè)備忙,可以使用其他的回環(huán)設(shè)備)

附: ? ? ls ?/dev/loop* ? :查看所有回環(huán)設(shè)備

sudo ?losetup ? -d ? ?/dev/loop0 ?: ? 解除與回環(huán)設(shè)備的關(guān)聯(lián)

6、為各分區(qū)建立虛擬設(shè)備的映射

1)安裝kpartx工具:

sudo apt-get ? install kpartx

2)建立映射

sudo kpartx ?-av ? /dev/loop0

附: ? 取消映射: ?sudo kpartx ?-dv ? /dev/loop0

7、格式化各分區(qū)(前邊是格式化整個(gè)虛擬磁盤鏡像文件)

sudo ? mkfs.ext4 ?-q ? /dev/mapper/loop0...

(有幾個(gè)分區(qū)就格式化幾個(gè))

8、掛載虛擬磁盤

1) 新建幾個(gè)空目錄

mkdir ?-p ?/media7irtualdisk_{1..3}

2)掛載磁盤分區(qū)

sudo mount ? /dev/mapper/loop0p1 ? /media7irtualdisk_1

sudo mount ? /dev/mapper/loop0p1 ? /media7irtualdisk_2

sudo mount ? /dev/mapper/loop0p1 ? /media7irtualdisk_3

附:

卸載磁盤分區(qū):

sudo umount ? /dev/mapper/loop0p1

9、分區(qū)已完成,查看磁盤的分區(qū)情況

df ?-h

三、有趣打印

以一種動(dòng)物說話的形式打印出一段話

1)安裝

sudo ?apt-get ? install cowsay

2)默認(rèn)情況下是一頭牛

cowsay ? ?一段話

3)加-l參數(shù) 可以選擇 所有支持的動(dòng)物(不僅動(dòng)物)

cowsay ?-l

4)選擇動(dòng)物種類打印

cowsay ?-f ? 動(dòng)物種類 ?一段話

附: ?可以和fortune ?一起使用

fortune ? ? | ? cowsay ? ?-f ? ?動(dòng)物種類

四 、作業(yè)

du ?-a ? ?-h ? -d ? 1 ?目錄 ?| sort

? ?

?

? ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容