
- Unix/Linux 初學者指南
- Unix/Linux 首頁
- Unix/Linux - 什麼是Linux?
- Unix/Linux - 開始入門
- Unix/Linux - 檔案管理
- Unix/Linux - 目錄
- Unix/Linux - 檔案許可權
- Unix/Linux - 環境變數
- Unix/Linux - 基本實用程式
- Unix/Linux - 管道與過濾器
- Unix/Linux - 程序
- Unix/Linux - 通訊
- Unix/Linux - vi 編輯器
- Unix/Linux Shell 程式設計
- Unix/Linux - Shell 指令碼
- Unix/Linux - 什麼是Shell?
- Unix/Linux - 使用變數
- Unix/Linux - 特殊變數
- Unix/Linux - 使用陣列
- Unix/Linux - 基本運算子
- Unix/Linux - 決策語句
- Unix/Linux - Shell 迴圈
- Unix/Linux - 迴圈控制
- Unix/Linux - Shell 替換
- Unix/Linux - 引號機制
- Unix/Linux - I/O 重定向
- Unix/Linux - Shell 函式
- Unix/Linux - 手冊頁幫助
- 高階 Unix/Linux
- Unix/Linux - 標準 I/O 流
- Unix/Linux - 檔案連結
- Unix/Linux - 正則表示式
- Unix/Linux 檔案系統基礎
- Unix/Linux - 使用者管理
- Unix/Linux - 系統性能
- Unix/Linux - 系統日誌
- Unix/Linux - 訊號和陷阱
Unix/Linux 檔案系統基礎
檔案系統是在分割槽或磁碟上檔案的邏輯集合。分割槽是資訊的容器,如果需要,可以跨越整個硬碟驅動器。
您的硬碟驅動器可以有多個分割槽,這些分割槽通常只包含一個檔案系統,例如一個檔案系統容納/檔案系統,另一個容納/home 檔案系統。
每個分割槽一個檔案系統允許對不同的檔案系統進行邏輯維護和管理。
在 Unix 中,一切都被視為檔案,包括物理裝置,如 DVD-ROM、USB 裝置和軟盤驅動器。
目錄結構
Unix 使用分層檔案系統結構,就像一棵倒置的樹,根目錄 (/) 在檔案系統的底部,所有其他目錄都從那裡延伸。
Unix 檔案系統是具有以下屬性的檔案和目錄的集合:
它有一個根目錄 (/),其中包含其他檔案和目錄。
每個檔案或目錄都由其名稱、所在的目錄和唯一的識別符號(通常稱為inode)唯一標識。
按照慣例,根目錄的inode編號為2,而lost+found目錄的inode編號為3。inode編號0和1未使用。可以透過為ls 命令指定-i 選項檢視檔案 inode 編號。
它是自包含的。一個檔案系統與另一個檔案系統之間沒有依賴關係。
目錄具有特定用途,並且通常儲存相同型別的資訊,以便於查詢檔案。以下是 Unix 主要版本中存在的目錄:
序號 | 目錄及說明 |
---|---|
1 |
/ 這是根目錄,它應該只包含檔案結構頂層所需的目錄 |
2 |
/bin 這是可執行檔案所在的位置。所有使用者都可以使用這些檔案 |
3 |
/dev 這些是裝置驅動程式 |
4 |
/etc 管理程式目錄命令、配置檔案、磁碟配置檔案、有效使用者列表、組、乙太網、主機,以及傳送重要訊息的位置 |
5 |
/lib 包含共享庫檔案,有時還包含其他與核心相關的檔案 |
6 |
/boot 包含用於啟動系統的檔案 |
7 |
/home 包含使用者和其他帳戶的主目錄 |
8 |
/mnt 用於掛載其他臨時檔案系統,例如cdrom和floppy分別用於CD-ROM驅動器和軟盤驅動器 |
9 |
/proc 包含所有程序,這些程序由程序號或其他對系統動態的資訊標記為檔案 |
10 |
/tmp 儲存系統啟動之間使用的臨時檔案 |
11 |
/usr 用於各種目的,可以被許多使用者使用。包括管理命令、共享檔案、庫檔案和其他檔案 |
12 |
/var 通常包含可變長度的檔案,例如日誌和列印檔案以及任何可能包含可變數量資料的其他型別檔案 |
13 |
/sbin 包含二進位制(可執行)檔案,通常用於系統管理。例如,fdisk和ifconfig實用程式 |
14 |
/kernel 包含核心檔案 |
瀏覽檔案系統
現在您已經瞭解了檔案系統的基礎知識,您可以開始瀏覽所需的檔案。以下命令用於瀏覽系統:
序號 | 命令及說明 |
---|---|
1 |
cat filename 顯示檔名 |
2 |
cd dirname 移動到指定的目錄 |
3 |
cp file1 file2 將一個檔案/目錄複製到指定位置 |
4 |
file filename 識別檔案型別(二進位制、文字等) |
5 |
find filename dir 查詢檔案/目錄 |
6 |
head filename 顯示檔案的開頭 |
7 |
less filename 從檔案末尾或開頭瀏覽檔案 |
8 |
ls dirname 顯示指定目錄的內容 |
9 |
mkdir dirname 建立指定的目錄 |
10 |
more filename 從開頭到結尾瀏覽檔案 |
11 |
mv file1 file2 移動或重新命名檔案/目錄的位置 |
12 |
pwd 顯示使用者當前所在的目錄 |
13 |
rm filename 刪除檔案 |
14 |
rmdir dirname 刪除目錄 |
15 |
tail filename 顯示檔案的結尾 |
16 |
touch filename 建立一個空檔案或修改現有檔案或其屬性 |
17 |
whereis filename 顯示檔案的位置 |
18 |
which filename 如果檔案在您的 PATH 中,則顯示檔案的位置 |
您可以使用手冊頁幫助檢查此處提到的每個命令的完整語法。
df 命令
管理分割槽空間的第一種方法是使用df (disk free)命令。命令df -k (disk free)顯示以千位元組為單位的磁碟空間使用情況,如下所示:
$df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/vzfs 10485760 7836644 2649116 75% / /devices 0 0 0 0% /devices $
某些目錄,例如/devices,在 kbytes、used 和 avail 列中顯示 0,容量也顯示 0%。這些是特殊(或虛擬)檔案系統,儘管它們位於 / 下的磁碟上,但它們本身不會佔用磁碟空間。
df -k輸出在所有 Unix 系統上通常相同。以下是它通常包含的內容:
序號 | 列及說明 |
---|---|
1 |
Filesystem 物理檔案系統名稱 |
2 |
kbytes 儲存介質上可用的總千位元組空間 |
3 |
used 已使用的總千位元組空間(由檔案使用) |
4 |
avail 可用於使用的總千位元組數 |
5 |
capacity 檔案使用的總空間百分比 |
6 |
Mounted on 檔案系統安裝到的位置 |
您可以使用-h (human readable) 選項以更易於理解的表示法顯示大小的輸出。
du 命令
du (disk usage) 命令允許您指定目錄以顯示特定目錄的磁碟空間使用情況。
如果您想確定特定目錄佔用了多少空間,此命令很有用。以下命令顯示每個目錄消耗的塊數。單個塊的大小可能是 512 位元組或 1 千位元組,具體取決於您的系統。
$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 ... $
掛載檔案系統
必須掛載檔案系統才能被系統使用。要檢視當前掛載到系統上的內容(可供使用),請使用以下命令:
$ mount /dev/vzfs on / type reiserfs (rw,usrquota,grpquota) proc on /proc type proc (rw,nodiratime) devpts on /dev/pts type devpts (rw) $
按照 Unix 約定,/mnt目錄是臨時掛載點(例如 CDROM 驅動器、遠端網路驅動器和軟盤驅動器)所在的位置。如果您需要掛載檔案系統,可以使用以下語法的 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。有關更具體的詳細資訊,請參閱 mount 手冊頁,或在命令列鍵入 mount -h 以獲取幫助資訊。
掛載後,您可以使用 cd 命令透過剛剛建立的掛載點瀏覽新可用的檔案系統。
解除安裝檔案系統
要解除安裝(刪除)系統中的檔案系統,請使用umount命令並指定掛載點或裝置。
例如,要解除安裝 cdrom,請使用以下命令:
$ umount /dev/cdrom
mount 命令允許您訪問檔案系統,但在大多數現代 Unix 系統上,自動掛載功能使此過程對使用者不可見,並且不需要任何干預。
使用者和組配額
使用者和組配額提供了機制,透過該機制,單個使用者或特定組內所有使用者使用的空間量可以限制為管理員定義的值。
配額圍繞兩個限制執行,如果空間量或磁碟塊數量開始超過管理員定義的限制,則允許使用者採取一些措施:
軟限制 - 如果使用者超過定義的限制,則會有一個寬限期,允許使用者釋放一些空間。
硬限制 - 無論寬限期如何,達到硬限制後,將無法再分配任何檔案或塊。
有一些命令可以管理配額:
序號 | 命令及說明 |
---|---|
1 |
quota 顯示使用者或組的磁碟使用情況和限制 |
2 |
edquota 這是一個配額編輯器。可以使用此命令編輯使用者或組的配額 |
3 |
quotacheck 掃描檔案系統以查詢磁碟使用情況,建立、檢查和修復配額檔案 |
4 |
setquota 這是一個命令列配額編輯器。 |
5 |
quotaon 此命令通知系統在一個或多個檔案系統上啟用磁碟配額。 |
6 |
quotaoff 此命令通知系統在一個或多個檔案系統上停用磁碟配額。 |
7 |
repquota 此命令列印指定檔案系統的磁碟使用情況和配額摘要。 |
您可以使用手冊頁幫助檢查此處提到的每個命令的完整語法。