檔案操作最容易出事的不是指令不會用,而是目前目錄、萬用字元和目的路徑看錯。先用 pwd、ls 與 dry-run 類做法確認目標,再執行會覆蓋或刪除的步驟。
動手前:範例中的來源與目的都要換成自己的路徑。遇到刪除或大量搬移,先列清單、先備份;不要把 sudo 和遞迴刪除當成解權限問題的第一步。
建立檔案與目錄
建立單層目錄Linux/macOS
mkdir reports父目錄必須已存在。
一次建立多層目錄Linux/macOS
mkdir -p backups/2026/08-p 會連同缺少的父目錄一起建立。
建立空檔或更新時間Linux/macOS
touch healthcheck.txt檔案存在時會更新時間戳,不會清空內容。
用 install 建目錄並指定權限GNU/BSD install
install -d -m 0750 app-data適合部署腳本,建立後用 ls -ld 驗證。
複製與搬移
複製單一檔案Linux/macOS
cp source.conf backup.conf目的檔存在時可能直接覆蓋。
複製前詢問覆蓋Linux/macOS
cp -i source.conf backup.conf互動模式適合手動操作,不適合無人值守腳本。
保留時間與權限複製Linux/macOS
cp -p source.conf backup.conf不同檔案系統不一定能保留所有 ACL 或擴充屬性。
遞迴複製資料夾Linux/macOS
cp -R source-dir/ destination-dir/先確認目的路徑是否已存在,結果目錄層級會不同。
用 archive 模式複製GNU cp
cp -a source-dir/ destination-dir/-a 盡量保留連結、權限與時間;macOS BSD cp 沒有完全相同的 -a。
替檔案改名Linux/macOS
mv old-name.conf new-name.conf同一檔案系統通常是快速改名。
搬到另一個目錄Linux/macOS
mv report.csv archive/archive/ 應先存在;搬移後檢查來源與目的。
搬移前詢問覆蓋Linux/macOS
mv -i report.csv archive/避免不小心蓋掉同名報表。
連結與安全刪除
建立相對軟連結Linux/macOS
ln -s releases/current app-current軟連結保存的是路徑;搬動目錄後可能失效。
查看連結指向Linux/macOS
readlink app-current只讀取連結內容,不跟進目標。
建立硬連結Linux/macOS
ln source.bin source-copy.bin通常不能跨檔案系統,也不建議對目錄建立。
刪除單一檔案前詢問Linux/macOS
rm -i obsolete.txt會逐一詢問;重要資料仍應先備份。
刪除空目錄Linux/macOS
rmdir empty-folder目錄不是空的就會拒絕,較安全。
遞迴刪除但只詢問一次GNU rm
rm -rI old-build/大寫 I 會在大量刪除前詢問一次;先用 find old-build -maxdepth 2 -print 檢查。
怎麼確認有做對
- 執行 pwd 與 ls -la 確認目前位置。
- 複製或搬移後用 cmp、diff 或 checksum 抽查。
- 刪除後確認應用程式、服務與備份均正常。
常見錯誤
- 目的路徑結尾是否有 / 造成層級不同。
- 萬用字元沒有包含隱藏檔。
- 把權限錯誤直接用 sudo 繞過,卻沒處理擁有者。
- 在腳本依賴 cp -i 或 mv -i 的人工詢問。
版本與官方文件
參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。