︿
Top

目錄結構

整個 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: 通常於圖形模式下自動掛載外接設備。
設定檔 (Configuration): /etc。
暫存檔 (Temporary Files): /tmp。
核心及啟動檔 (Kernels and Bootloader): /boot。
伺服器資料 (Server Data): /var, /srv。
  • /var: 具備變動特性檔案皆放於此處,例如 /var/log, /var/spool/mail, /var/run/*.pid。
  • /srv: 顧名思義存放 server-data。
系統資訊 (System Information): /proc, /sys。
  • /proc: Process。
  • /sys: System-Device (Hardware) 採 PnP (從 RHEL 4 也就是核心 2.6 之後)。
函式庫 (Shared Libraries): /lib, /usb/lib, /usr/local/lib。
硬體裝置 (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
文章標籤: