目錄結構
整個 Linux 檔案系統目錄結構為 倒狀樹枝 結構而此樹狀結構則從 右上左下斜線 (Forward-Slash) 稱之為 根目錄 (Single-rooted) 開始。家目錄 (Home Directories): /root, /home/username。
使用者執行檔 (User Executables): /bin, /usr/bin, /usr/local/bin。
系統執行檔 (System Executables): /sbin, /usr/sbin, /usr/local/sbin。
其它掛載點 (Other Mountpoints): /media, /mnt。
- /mnt: 通常於指令模式下手動掛載外接設備。
- /media: 通常於圖形模式下自動掛載外接設備。
暫存檔 (Temporary Files): /tmp。
核心及啟動檔 (Kernels and Bootloader): /boot。
伺服器資料 (Server Data): /var, /srv。
- /var: 具備變動特性檔案皆放於此處,例如 /var/log, /var/spool/mail, /var/run/*.pid。
- /srv: 顧名思義存放 server-data。
- /proc: Process。
- /sys: System-Device (Hardware) 採 PnP (從 RHEL 4 也就是核心 2.6 之後)。
硬體裝置 (Device): /dev (Everything is Files)。
有關於檔案系統目錄結構 (Filesystem Hierarchy Standard) 更詳細的說明可參考:
相對路徑 vs 絕對路徑
- 相對路徑 (Relative Pathnames): 簡單來說就是相對於目前的路徑 (通常路徑名稱比較短)。
- 絕對路徑 (Absolute Pathnames): 簡單來說就是從根目錄至您要到達的路徑 (通常路徑名稱比較長)。
下列操作為假設目前所在資料夾為 /etc 下欲切換資料夾至 /root。
# pwd //查詢目前所在路徑
/etc
# cd ../root //相對路徑切換至 /root
# cd /root //絕對路徑切換至 /root
下列為其它相關知識:
- ..: 上一層。
- cd ..: 回到上一層目錄 (請注意 cd 與 .. 之間有空一格)。
- .: 當前目錄。
- ./test.sh: 執行當前目錄中 test.sh script。
- .file: 隱藏檔,例如 .bashrc (可使用指令 ls -al 顯示)。
- cd: 回到使用者家目錄。
- cd -: 回到上一個工作目錄。
基本操作指令
以下為介紹常用於 Linux 操作上的基本指令 (Wikipedi - List of Unix utilities)。ls (List): 查看目錄內容
cp (Copy): 複製檔案或資料夾
mv (Move): 移動檔案或資料夾
rm (Remove): 刪除檔案或資料夾
補充
以下筆記為課堂中講師所補充的相關知識及實用技巧。補充 1. 如何辨別檔案類型?
在微軟 Windows 系統中是採用檔案的 附檔名 來辨別其檔案的類型,而在 Linux 則並非如此您可利用 file 檔案來了解檔案的類型,如以下操作範例我們將 PDF 檔案改變其附檔名為 Html 但 Linux 仍可識別該檔案類型為 PDF 檔案。# file 04_1.pdf //辨別 04_1 檔案類型
04_1.pdf: PDF document, version 1.4
# mv 04_1.pdf 04_1.html //改變附檔名為 html
# file 04_1.html //再次辨別 04_1 檔案類型
04_1.html: PDF document, version 1.4
補充 2. 如何一次建立多個檔案?
若我們需要建立有規則性且連續多個檔案時該如何達成? 可利用 touch 指定配合敘述 (Arguments) 來達成,當使用此指令建立檔案時時若檔案不存在則建立檔案,若該檔案已經 存在 則更新該檔案的 建立時間。# touch {1,2}{a,b,c} ; ls -l //建立多個如下檔案 (2 * 3 = 6 個檔案)
1a
1b
1c
2a
2b
2c
# rm -f {1,2}{a,b,c} //一次刪除多個檔案
# touch {1,2,3}{a,b,c,d}{4,5,6}{x,y,z} //建立多個如下檔案
1a4x
1a4y
1a4z
1a5x
1a5y
...略...
# ls | wc -l //統計目前檔案數量
108