用Linux命令行復制檔案很容易。但是,如果要將同一個檔案複製到多個不同的位置,該怎麼辦?這也很簡單,我們將向您展示如何使用一個命令來實現這一點。
通常,要複製一個檔案,您將使用cp命令,連結到原始檔和目標目錄:
cp ~/Documents/FileToBeCopied.txt ~/TextFiles/要將它複製到另外兩個目錄,許多人只需再執行兩次命令,目的地不同:
cp ~/Documents/FileToBeCopied.txt ~/Dropbox/ cp ~/Documents/FileToBeCopied.txt /media/lori/MYUSBDRIVE/但是,我們可以使用一個命令執行相同的任務:
echo dir1 dir2 dir3 | xargs -n 1 cp file1下面是這個命令的工作原理。echo命令通常寫入螢幕。但是,在本例中,我們希望將echo命令的輸出作為xargs命令的輸入。為此,我們使用管道符號(|),它將一個命令的輸出作為另一個命令的輸入。xargs命令將執行cp命令三次,每次都將echo命令中的下一個目錄路徑附加到cp命令的末尾。有三個引數被傳遞給xargs,但是xargs命令上的-n1選項告訴它,每次執行cp命令時,只能將其中一個引數附加到cp命令。
因此,為了與前面的示例保持一致,上面三個單獨的cp命令可以組合成一個命令,如下所示:
echo ~/TextFiles/ ~/Dropbox /media/lori/MYUSBDRIVE | xargs -n 1 cp ~/Documents/FileToBeCopied.txt請注意,如果要複製的檔案存在於指定的任何目標目錄中,則該目標中的檔案將被自動替換。不會詢問您是否要替換該檔案。(通常,使用cp命令將檔案複製到單個位置時,可以新增-i選項詢問是否要替換現有檔案。但是,-i選項是一個互動式選項(它會導致cp命令請求使用者輸入),當與xargs一起使用時,不能將互動式選項與cp命令一起使用。)
另一個需要考慮的問題是,如果您要複製一個非常大的檔案,您可能需要在上面的單個命令中向cp命令新增no clobber(-n)選項。如果目標中已存在檔案,則此選項會自動防止該檔案被覆蓋。如果您要透過網路複製一個非常大的檔案,它可能會很慢,並且您可能希望避免使用複製和替換檔案所需的資源。下面的命令添加了-n選項,如果檔案已經存在於echo語句的引數中,則不會將檔案複製到該目標中。
echo ~/TextFiles/ ~/Dropbox /media/lori/MYUSBDRIVE | xargs -n 1 cp -n ~/Documents/FileToBeCopied.txt在Linux的命令列中鍵入manecho、manxargs或mancp,以獲取有關這些命令的更多資訊。
對於Linux使用者來說,命令列本質上是一個非常強大的工具。雖然更為使用者友好的Linux作業系統(OS)提供了大量功能,而不需要進入終端,但它是作業系統的一個必要元素。與流行的觀點相反,命令列甚至可以簡化某些操作。...
... 這是Linux最大的神話之一。很多人仍然認為Linux是一個困難的作業系統,只有那些死記硬背的極客才會使用,但事實並非如此。如果你能學會最常用的命令,你在Linux中會過得非常愉快——即使你是一個完全的新手。 ...
macOS是一個直觀的作業系統,因此您不必花費大量時間學習基礎知識;知道這一點,為什麼要學習並利用Mac上可用的Unix命令列?我們有四個很好的理由: ...
有許多線上工具、瀏覽器擴充套件和桌面外掛可以將網頁轉換為PDF。如果您經常使用這些工具,可能會遇到需要一次性轉換多個連結的情況。一個接一個地做是浪費時間和乏味的。 ...
如果您使用cp命令,那麼在Linux中複製檔案和目錄可以快速而輕鬆。我們將學習如何使用cp,並利用其方便的選擇,將使您的影印工作更安全。 ...
你曾經刪除過一個檔案,並立即後悔嗎?你需要它回來,而且要快!但如果檔案太新,還沒有備份呢?幸運的是,你能做些什麼。 rm:悔恨的縮寫? 使用rm命令並發現自己帶著深深的遺憾盯著一個終端視窗,這太容易了。萬用...
你想加密重要的檔案,而不是你的Linux系統的整個硬碟驅動器嗎?如果是,我們推薦gocryptfs。你會得到一個目錄,基本上,加密和解密你儲存的所有東西。 gocryptfs提供資料洩露保護 隱私是個大新聞。幾乎每個星期都會有一個組...