將來源資料夾覆寫到目標資料夾
\cp -a /path/to/source/. /path/to/dest
\(反斜線):用來繞過系統可能存在的 alias cp='cp-i' 別名設定,防止系統在覆蓋每個檔 案時都跳出確認提示。
-a (archive):此參數等同於-dR --
preserve=all。它會遞迴複製所有子目錄與檔 案,並完整保留擁有者、群組、權限(模式)、時 間戳記、軟連結以及擴充屬性。
/src/.:代表複製該目錄下的所有隱藏與非隱 藏檔案,直接精準對齊並覆蓋至目的地。
tar -czvf file.tar.gz /src_directory
-c(create):建立一個新的壓縮檔案。
-z (gzip):透過gzip 進行壓縮(這才會產生真 正的.gz 檔案)。
-v (verbose):在畫面上顯示目前正在處理的檔 案清單(可省略)。
-f(file):指定輸出的檔案名稱。注意: -f 後 面一定要緊接檔案名稱(例如 file.tar.gz)。
延續您前一個問題對「保留屬性」的需求,tar 預 設在以 root 權限 解壓縮時會自動還原所有權限與擁 有者。但在打包(壓縮)時,建議加上-p 參數以
確保萬無一失:
bash
tar -cpzvf file.tar.gz /src_directory
-p (preserve-permissions):在壓縮時,完整保 留檔案的權限、時間戳記與ACL 擴充屬性。
tar -cpzvf file.tar.gz -C /src_directo
tar -xzvf file.tar.gz -C /target_directory
-x (extract):解開、解壓縮檔案。-z (gzip):透過 gzip 解壓縮(處理 .gz 格式)。-v (verbose):在畫面上顯示目前正在解開的檔案清單。-f (file):指定要讀取的壓縮檔案名稱,後面必須緊接 file.tar.gz。-C (directory):指定解壓縮的目的地目錄。注意:這個目標目錄必須事先存在,如果不存在,請先執行
mkdir -p /target_directory 建立它。
因為您前面提到了「覆蓋」與「保持屬性」,在解壓縮時請特別注意以下兩點:完整還原權限與擁有者 (Ownership & Permissions)如果您希望完整還原壓縮檔內原本的擁有者 (Owner) 與 群組 (Group) 屬性,您必須使用 sudo 或 root 權限執行解壓縮:bash
sudo tar -xpzvf file.tar.gz -C /target_directory
加上 -p (小寫 p) 可以確保權限(Permissions)與 ACL 被完整還原。非 root 一般使用者解壓時,所有檔案的擁有者都會強制變成該名一般使用者
mysqldump -u root -p --single-transaction --routines --triggers 資料庫名稱 > backup.sql
mysql -u 帳號 -p 資料庫名稱 < 備份檔名.sql
Linux 常用指令速查表
Who is online
Users browsing this forum: No registered users and 3 guests