文件系統(tǒng)是一個分區(qū)或磁盤上的文件的邏輯集合。一個分區(qū)是一個信息的容器,如果需要可以跨整個硬盤。
你的硬盤可以有不同的分區(qū),但通常只包含一個文件系統(tǒng),如一個文件系統(tǒng)涵蓋 /file
系統(tǒng),另一個包含 /home
文件系統(tǒng)。
一個文件系統(tǒng)分區(qū)允許不同文件系統(tǒng)的邏輯維護和管理。
UNIX 中一切都被認為是一個文件,包括物理設備,如 DVD-ROMs、USB 設備、軟盤驅(qū)動器等等。
UNIX 使用文件系統(tǒng)層次結(jié)構(gòu),就像一棵倒置的樹,根目錄(/) 是文件系統(tǒng)的底部,所有其他的目錄都從那里蔓延。
UNIX 文件系統(tǒng)是文件和目錄的集合,具有以下屬性:
目錄有特定的目的,通常存儲相同類型的信息以實現(xiàn)更容易定位文件的目的。以下是主要的 UNIX 版本上存在的目錄:
目錄 | 描述 |
---|---|
/ | 這是根目錄,只包含頂層文件結(jié)構(gòu)所需的目錄。 |
/bin | 這是可執(zhí)行文件所在的地方。他們提供給所有用戶使用。 |
/dev | 這些是設備驅(qū)動程序。 |
/etc | 上級目錄的命令,配置文件,磁盤配置文件,有效的用戶列表,組,以太網(wǎng),主機等各種發(fā)送重要信息的地方。 |
/lib | 包含共享庫文件,例如其他內(nèi)核相關(guān)文件。 |
/boot | 包含系統(tǒng)啟動相關(guān)的文件。 |
/home | 包含用戶的主目錄和其他賬戶。 |
/mnt | 用來掛載其他臨時文件系統(tǒng),比如分別針對光盤和軟盤的 CD-ROM 驅(qū)動器和軟盤驅(qū)動器。 |
/proc | 標記為一個包含所有進程的文件,這些進程使用進程編號或其他信息標記。這個文件是一個動態(tài)的系統(tǒng)。 |
/tmp | 包含系統(tǒng)啟動期間所有的臨時文件。 |
/uer | 用于各種各樣的用途,可以被許多用戶使用。包括行政命令、共享文件、庫文件等等。 |
/var | 通常包含變長文件,如日志和打印文件和任何其他類型的文件,該文件包含的數(shù)據(jù)的量可能是變化的。 |
/sbin | 包含二進制(可執(zhí)行的)文件,通常用于系統(tǒng)管理。比如 fdisk 和 ifconfig 功能。 |
/kernel | 包含內(nèi)核文件。 |
既然已經(jīng)了解了文件系統(tǒng)的基本知識,現(xiàn)在就可以開始導航到所需要的文件。以下列出導航到文件系統(tǒng)可以使用的命令:
命令 | 描述 |
---|---|
cat filename | 顯示文件名。 |
cd dirname | 移動到確定的目錄。 |
cp file1 file2 | 復制一個文件/目錄到指定位置。 |
file filename | 識別文件類型(二進制、文本等)。 |
find filename dir | 發(fā)現(xiàn)一個文件/目錄。 |
head filename | 顯示一個文件的開始。 |
less filename | 從結(jié)束或開始位置瀏覽一個文件。 |
ls dirname | 顯示指定目錄的內(nèi)容。 |
mkdir dirname | 創(chuàng)建指定目錄。 |
more filename | 從頭到尾瀏覽一個文件。 |
mv file1 file2 | 移動一個文件/目錄的位置或重命名一個文件/目錄。 |
pwd | 顯示用戶當前所在的目錄。 |
rm filename | 刪除一個文件。 |
rmdir dirname | 刪除一個目錄。 |
tail filename | 顯示一個文件的結(jié)束。 |
touch filename | 創(chuàng)建一個空白文件或修改現(xiàn)有文件的屬性。 |
whereis filename | 顯示一個文件的位置。 |
which filename | 如果文件在你的路徑內(nèi),顯示它的位置,。 |
管理分區(qū)空間的第一種方式是 df (磁盤空閑)命令。命令 df -k(磁盤空閑)以千字節(jié)的形式顯示磁盤空間的使用情況,如下所示:
$df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs10485760 7836644 2649116 75% /
/devices0 0 0 0% /devices
$
一些目錄,比如 /devices
,以千字節(jié)形式顯示使用為 0,且可用列以及能力都為 0%。這些特殊的(或虛擬的)文件系統(tǒng),雖然他們駐留在磁盤上,但他們本身不占用磁盤空間。
在所有 UNIX 系統(tǒng)上 df -k
的輸出通常都是相同的。它一般包括:
列 | 描述 |
---|---|
Filesystem | 物理文件系統(tǒng)名稱。 |
kbytes | 存儲介質(zhì)上的可用空間總字節(jié)。 |
used | 被文件使用過的空間的總字節(jié)。 |
avail | 可用空間的總字節(jié)。 |
capacity | 被文件使用的空間和總額的比例。 |
Mounted on | 文件系統(tǒng)正在安裝的。 |
您可以使用 -h
(可讀的)選項來設置顯示,使用易于理解的符號,合適的大小等輸出格式。
du (磁盤使用量) 命令使您能夠按指定目錄來顯示一個特定的目錄中磁盤空間的使用情況。
如果你想判斷一個特定的目錄正在使用多少空間,這個命令是很有用的。以下命令將顯示被每個目錄消耗的塊的數(shù)量。根據(jù)系統(tǒng)的不同,一個塊可能需要 512 字節(jié)或 1 千字節(jié)。
$du /etc
10 /etc/cron.d
126/etc/default
6 /etc/dfs
...
$
-h
選項使輸出更容易理解:
$du -h /etc
5k/etc/cron.d
63k /etc/default
3k/etc/dfs
...
$
文件系統(tǒng)必須安裝以用于系統(tǒng)的正常使用。為了查看您的系統(tǒng)上目前安裝(可用)的文件系統(tǒng),可以使用這個命令:
$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$
UNIX 協(xié)定的 /mnt
目錄,就是臨時掛載的地方(例如 CD-ROM 驅(qū)動器,遠程網(wǎng)絡驅(qū)動器,軟盤驅(qū)動器)。如果你需要掛載文件系統(tǒng),您可以使用 mount 命令,語法如下:
mount -t file_system_type device_to_mount directory_to_mount_to
例如,如果你想掛載 CD-ROM 到目錄 /mnt/cdrom
,你可以輸入:
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
假設您的 CD-ROM 設備稱為 /dev/cdrom
,你想掛載到 /mnt/cdrom
??梢詤⒖及惭b手冊頁獲得更具體的信息或類型,在命令行輸入 -h
得到幫助信息。
安裝之后,您可以使用 cd 命令通過掛載點來瀏覽可用的新文件系統(tǒng)。
通過識別掛載點或設備,從你的系統(tǒng)中卸載(刪除)文件系統(tǒng)。使用 umount 命令實行。
例如,可以使用以下命令卸載光盤:
$ umount /dev/cdrom
mount 命令使你能夠訪問你的文件系統(tǒng),但在大多數(shù)現(xiàn)代 UNIX 系統(tǒng)中,加載函數(shù)使這個過程對用戶不可見且不需要用戶干預。
提供用戶和組配額的機制:單個用戶或特定組中的所有用戶所使用的空間量可以由管理員定義的值限制。
配額操作有兩種限制。如果空間的數(shù)量或磁盤塊的數(shù)量開始超過管理員定義的限制,允許用戶采取行動:
有許多命令來管理配額:
命令 | 描述 |
---|---|
quota | 顯示組中一個用戶的磁盤使用情況和限制。 |
edquota | 這是一個配額編輯器??梢允褂眠@個命令編輯用戶或組配額。 |
quotacheck | 掃描文件系統(tǒng),為了磁盤使用、制造、檢查和修復配額文件 |
setquota | 這也是一個命令行配額編輯器。 |
quotaon | 系統(tǒng)宣布應該在一個或多個文件系統(tǒng)上啟用磁盤配額。 |
quotaoff | 系統(tǒng)宣布應該禁用一個或多個文件系統(tǒng)上的磁盤配額。 |
repquota | 打印指定文件系統(tǒng)的磁盤使用和配額的匯總 |
您可以使用 Manpage 幫助 查看這里提到每個命令的完整語法。
更多建議: