用Linux命令列實現刪除和複製指定型別的檔案

2022-02-08 05:35:16 字數 1558 閱讀 4844

(一)linux 刪除當前目錄及子目錄中所有某種型別的檔案

方法1 : 此方法不能處理目錄中帶空格的那些。

rm -rf `find . -name "

*.example

"`

linux的檔名(目錄也是一種檔案)不建議帶空格,命令列中不好處理這個空格。

方法2:組合使用 find 及 xargs

find test2/ -name '

*.example

' |xargs

rm -rf

(xargs 是給命令傳遞引數的乙個過濾器,可以將前乙個命令產生的輸出作為後乙個命令的引數。)

即將 find 產生的輸出(test2 目錄下的所有 example 型別檔案),作為 rm 的引數,從而完全刪除。

方法3: 組合使用 find 和 delete 命令

find . -name *.example -delete

此方法可以看作是對方法2的簡化改進 。

(二)linux 複製指定目錄及子目錄下特定型別的檔案

首先建立乙個用於測試的目錄,目錄中包含用於測試的 *.txt 檔案和 *.tes 檔案。

目標是保持當前的目錄結構,只把 txt 檔案複製出來。

方法1:當不需要的檔案型別較為單一時,可以通過完全複製然後刪除指定型別的檔案完成

//

step1 使用如下命令,將測試目錄 test 下所有內容完全複製到 test2

cp -r test/ test2

//

step2 組合使用find及xargs,將 *.tes 檔案刪除。

find test2/ -name '

*.tes

' |xargs rm -rf

適用場景舉例:把專案檔案備份,要去除其中的 .svn 檔案,可以採用這種方式。

方法2:需要的檔案為單一型別,帶目錄結構複製

這種情況下可以使用 tar 命令將指定型別的檔案打包,然後解包。

//

step1 建立目錄 test3

mkdir test3

//

step2 將指定型別檔案帶目錄結構打包

find test/ -name '

*.txt

' |xargs tar czf test3.tgz

//

step3 解包到目錄 test3

tar zxvf test3.tgz -c test3

適用場景:較為普遍,例如可以複製某個 web 專案的所有 html/jsp/php 檔案;或複製其他專案中特定型別的原始檔。

Linux命令列刪除檔案恢復

在linux下工作的很多人都有過這樣的尷尬經歷,辛辛苦苦寫了很久的 或者文件,乙個不小心就rm掉了,命令列刪除一般不會進入 站,這時候是不是想死的心都有了。先說說活生生的悲劇是怎麼發生的。先是認認真真寫了乙個下午指令碼setup.sh,在corev1.1中有乙個舊版本但是同名的setup.sh,於是...

命令列刪除tomcat

在進行專案佈署的時候,有時候我們需要重新新增或者解除安裝tomcat服務,這裡,我們可以在命令提示符下進行操作,步驟如下 1.開始 執行,敲入cmd,回車開啟命令提示符。2.進行tomcat所在碟符,如d盤,直接在命令提示符打上d 回車。3.用cd命令進入到tomcat安裝目錄下的bin目錄 因為要...

Linux命令列刪除檔案恢復(Ubuntu)

在linux系統下,通過命令 rm rf 可以將任何資料直接從硬碟刪除,並且沒有任何提示,同時linux下也沒有與windows下 站類似的功能,也就意味著,資料在刪除後通過常 規的手段是無法恢復的,因此使用這個命令要非常慎重。在使用rm命令的時候,比較穩妥的方法是把命令引數放到後面,這樣有乙個提醒...