新聞中心
我們經(jīng)常需要使用rm命令來刪除不需要的文件。今天我就來給大家分享一下Linux rm刪除指定文件外的其他文件方法匯總。
作為一名Linux用戶,我們經(jīng)常需要使用rm命令來刪除不需要的文件。但是有時候我們只想保留某些特定的文件,而將其他所有的文件都刪除掉。那么該怎么做呢?今天我就來給大家分享一下Linux rm刪除指定文件外的其他文件方法匯總。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設、網(wǎng)站重做改版、鹽津網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5頁面制作、商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為鹽津等各大城市提供網(wǎng)站開發(fā)制作服務。
首先,我們可以使用通配符(*)和邏輯運算符(!)來實現(xiàn)這個功能。比如說,如果你想要保留以“.txt”結(jié)尾的所有文本文件,并且將其他類型的所有文件都刪除掉,那么你可以使用以下命令:
```
rm !(*.txt)
這個命令會選中除了以“.txt”結(jié)尾之外的所有其他類型的文件,并將它們?nèi)縿h除掉。
另外一個實現(xiàn)同樣功能的方法是通過管道操作符“|”,將find命令與xargs命令組合起來使用。具體步驟如下:
1. 使用find命令查找要被保留下來的特定類型或名稱等屬性匹配到對應規(guī)則后獲取其絕對路徑
2. 將搜索結(jié)果傳遞給xargs,在此基礎(chǔ)上執(zhí)行rm -f 命令進行批量處理
例如:如果你想要保留當前目錄及其子目錄中以“.txt”結(jié)尾并且修改時間在一周之前的文本文件,并將其他所有類型的文件都刪除掉,那么你可以使用以下命令:
find . -type f -name "*.txt" ! -mtime 7 | xargs rm -f
這個命令會找到當前目錄及其子目錄中符合條件的文本文件,并將它們?nèi)勘A粝聛?。然后,通過管道操作符“|”將搜索結(jié)果傳遞給xargs命令,在此基礎(chǔ)上執(zhí)行rm -f 命令進行批量處理。
另外還有一種方法是使用rsync命令來實現(xiàn)同樣的功能。具體步驟如下:
1. 使用rsync命令從原始目錄復制特定類型或名稱等屬性匹配到對應規(guī)則后獲取其絕對路徑
2. 將復制結(jié)果傳遞給rm命令,在此基礎(chǔ)上執(zhí)行刪除操作
rsync --delete-before --exclude='*.txt' --exclude='./*/' ./ /tmp && rm -rf /tmp/*
這個命令會先用rsync從原始目錄中復制出需要被保留下來的所有文本文件和相關(guān)信息,并排除了不需要被保存下來部分內(nèi)容;接著再將復制結(jié)果傳遞給rm命令,在此基礎(chǔ)上執(zhí)行刪除操作。
綜上所述,以上三種方法都可以很好地實現(xiàn)Linux rm刪除指定文件外的其他文件功能。但是在使用這些命令的時候,一定要非常小心謹慎。因為誤刪了重要文件可不是開玩笑的事情!
網(wǎng)站名稱:Linux rm刪除指定文件外的其他文件方法匯總
分享URL:http://www.fisionsoft.com.cn/article/cdeegjs.html


咨詢
建站咨詢
