1. 程式人生 > >cp 快捷命令:複製檔案到多個目錄

cp 快捷命令:複製檔案到多個目錄

導讀 在學習 Linux 的過程中,對於新手而言總是會使用幾個命令來完成一個簡單的任務。對正在熟悉使用終端的人這是很容易理解的行為。然而,如果你想要成為一個老手,學習我說的“快捷命令”會顯著減少時間浪費。在本篇中,我們會用一個簡單的方法在 Linux 中用一個命令來將目錄複製到多個資料夾中。

在 Linux 中,cp 命令常被用於從一個資料夾中複製檔案到另一個資料夾中,最簡單的語法如下:

# cp [options….] source(s) destination

另外,你也可以使用高階複製命令,它可以在複製大的檔案或資料夾時顯示進度條。

看下下面的命令,通常你會使用兩個不同的命令來將相同的檔案複製到不同的資料夾中:

# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp

假設你想要複製一個特定檔案到 5 個或者更多的資料夾中,這意味著你需要輸入 5 次或者更多的cp命令麼?

要擺脫這個問題,你可以用 cp 命令與 echo命令、管道、xargs 命令一起使用:

# echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

上面的命令中,目錄的路徑(dir1、dir2、dir3...dirN)被管道作為輸入到 xargs 命令中,含義是:

1.-n 1 - 告訴 xargs 命令每個命令列最多使用一個引數,併發送到 cp 命令中。
2.cp – 用於複製檔案。
3.-v– 啟用詳細模式來顯示更多複製細節。

試試閱讀 cp、 echo 和 xargs 的 man 頁面來找出所有有用和高階的用法資訊:

$ man cp
$ man echo
$ man xargs

就是這樣了,你可以在下面的評論區給我們傳送主題相關的問題或者反饋。你也可以閱讀有關 progress 命令來幫助監控執行中的(cp、mv、dd、tar 等等)的進度。