如何在Linux中復制文件到多個目錄中
在學習 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 命令中,含義是:
- -n 1 - 告訴 xargs 命令每個命令行最多使用一個參數,并發送到 cp 命令中。
- cp – 用于復制文件。
- -v – 啟用詳細模式來顯示更多復制細節。
在 Linux 中復制文件到多個位置中
試試閱讀 cp、 echo 和 xargs 的 man 頁面來找出所有有用和高級的用法信息:
- $ man cp
- $ man echo
- $ man xargs
就是這樣了,你可以在下面的評論區給我們發送主題相關的問題或者反饋。你也可以閱讀有關 progress 命令來幫助監控運行中的(cp、mv、dd、tar 等等)的進度。
作者簡介:
Aaron Kili 是一個 Linux 及 F.O.S.S 熱衷者,即將成為 Linux 系統管理員、web 開發者,目前是 TecMint 的內容創作者,他喜歡用電腦工作,并堅信分享知識。