Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 檔案管理與 Bash Shell 核心特性完整教學

編輯:Linux 系統常見問題解答

掌握 Linux 檔案/目錄管理指令與 Bash Shell 核心特性,是高效操作系統的基礎。本文系統整理 mkdir、rmdir、cp、mv、rm 等檔案操作指令細節,並深入解析命令執行狀態、路徑展開、檔案中繼資料、別名與命令置換等 Bash 核心機制。

一、目錄管理指令

mkdir - 建立目錄

mkdir [選項] 目錄...
選項功能
-p自動建立父目錄 (遞迴建立)
-v顯示詳細建立過程
-m MODE直接指定權限 (如 -m 755)

注意:路徑的基名 (最後一層) 為建立目標,基名之前的路徑必須已存在 (除非用 -p)。

rmdir - 刪除空目錄

rmdir [選項] 目錄...
選項功能
-p刪除子目錄後,若父目錄也為空則一併刪除
-v顯示刪除過程

二、檔案管理指令

cp - 複製檔案與目錄

# 單源複製
cp [選項] [-T] 來源 目標

# 多源複製
cp [選項] 來源... 目標目錄
cp [選項] -t 目標目錄 來源...
場景行為
目標不存在 (單源)建立目標檔案並複製資料流
目標存在且為檔案覆蓋目標檔案
目標存在且為目錄在目標目錄下建立同名檔案並複製
多源複製目標非目錄報錯

常用選項:-i 互動確認、-f 強制覆蓋、-r/-R 遞迴複製目錄、-d 複製符號連結本身、-a 歸檔模式 (等同 -dR --preserve=all)。

mv - 移動/重命名

語法與 cp 類似。常用 -i 互動、-f 強制。

rm - 刪除檔案與目錄

常用選項:-i 互動確認、-f 強制刪除、-r 遞迴刪除目錄。

三、Bash Shell 核心特性

1. 命令執行狀態返回值

  • 成功:0
  • 失敗:1-255
  • 查看上一指令狀態:echo $?

2. 命令列展開機制

實戰範例:快速建立標準目錄樹

mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

3. 檔案中繼資料與時間戳記操作

stat 檔案 可查看完整中繼資料 (權限、大小、inode、擁有者、群組、存取/修改/狀態變更時間)。

touch 修改時間戳:

語法展開結果範例
~目前使用者家目錄cd ~
~user指定使用者家目錄ls ~root
{a,b,c}展開為多個路徑/字串touch {a,b}_{c,d} → a_c a_d b_c b_d
選項功能
-a僅修改存取時間 (atime)
-m僅修改修改時間 (mtime)
-c檔案不存在時不建立
-t [[CC]YY]MMDDhhmm[.ss]指定具體時間

4. 命令別名與命令置換

  • 別名定義:alias 別名='指令串' (寫入 ~/.bashrc 永久生效)
  • 命令置換:$(指令) 或 `指令` (推薦前者,支援巢狀)

四、實戰練習題

  1. 顯示 /var 下以 l 開頭、以小寫字母結尾、中間含至少一數字的檔案/目錄:
    ls -ld /var/l*[0-9]*[a-z]
  2. 顯示 /etc 下以數字開頭、非數字結尾的項目:
    ls -ld /etc/[0-9]*[^[:digit:]]
  3. 顯示 /etc 下以非字母開頭、第二字元為字母的項目:
    ls -ld /etc/[^[:alpha:]][a-z]*
  4. 在 /tmp 建立含當前日期時間的檔案:
    touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
  5. 複製 /etc 下以 p 開頭、非數字結尾的項目到 /tmp/mytest1:
    cp -r /etc/p*[^0-9] /tmp/mytest1/
  6. 複製 /etc 下所有以 .d 結尾的項目到 /tmp/mytest2:
    cp -r /etc/*.d /tmp/mytest2/
  7. 複製 /etc 下以 l/m/n 開頭、以 .conf 結尾的檔案到 /tmp/mytest3:
    cp -r /etc/[lmn]*.conf /tmp/mytest3/
Copyright © Windows教程網 All Rights Reserved