日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

linux?find命令將查找到的文件批量刪除方法_linux shell

作者:學(xué)亮編程手記 ? 更新時間: 2023-01-06 編程語言

linux find命令將查找到的文件批量刪除

全盤搜索系統(tǒng)中所有后綴為.mp4的文件,并刪除所有查找到的文件:

[root@linuxcool ~]# find / -name "*.mp4" -exec rm -rf {} \;

補充知識

Linux中find三種刪除方式,常用于crontab定時任務(wù)和shell腳本

find 查看刪除的三種方式,如刪除當前目錄下的TXT文件:

方法1:xargs rm -f

find ./ -type f -name "*txt" |xargs rm -f

方法2:-exec rm -f

find ./ -type f -name "*txt*" -exec rm -f {} \;

-exec命令是查找到的每個文件調(diào)用一次rm命令,因此速度最慢

方法3:-delete

find ./ -type f -name "*txt" -delete

如果一次刪除大量文件,建議采用第三種方式。經(jīng)測試在刪除千萬級文件時,第三種方式比前兩種快百倍。

刪除時,常用參數(shù):

0、按文件類型查找

-type:后面指定文件的類型。
b - 塊設(shè)備文件。
d - 目錄。
c - 字符設(shè)備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。

1、按文件名查找

-name: 查找時文件名大小寫敏感。
-iname: 查找時文件名大小寫不敏感。

2、按文件時間屬性查找

-atime -n[+n]: 找出文件訪問時間在n日之內(nèi)[之外]的文件。
-ctime -n[+n]: 找出文件更改時間在n日之內(nèi)[之外]的文件。
-mtime -n[+n]: 找出修改數(shù)據(jù)時間在n日之內(nèi)[之外]的文件。
-amin -n[+n]: 找出文件訪問時間在n分鐘之內(nèi)[之外]的文件。
-cmin -n[+n]: 找出文件更改時間在n分鐘之內(nèi)[之外]的文件。
-mmin -n[+n]: 找出修改數(shù)據(jù)時間在n分鐘之內(nèi)[之外]的文件。

find -ctime -2        #找出距此時2天之內(nèi)創(chuàng)建的文件
find -ctime +2        #找出距此時2天之前創(chuàng)建的文件

3、按指定目錄深度查找

-maxdepth: 后面的參數(shù)表示距當前目錄指定的深度,其中1表示當前目錄,2表示一級子目錄,以此類推。在指定該選項后,find只是在找到指定深度后就不在遞歸其子目錄了。

4、排除指定子目錄查找

-path pathname -prune: 避開指定子目錄pathname查找。
-path expression -prune: 避開表達中指定的一組pathname查找。
需要說明的是,如果同時使用-depth選項,那么-prune將被find命令忽略。

5、按文件大小查找

-size [+/-]100[c/k/M/G]: 表示文件的長度為等于[大于/小于]100塊[字節(jié)/k/M/G]的文件。
-empty: 查找空文件。

6、實例:

刪除N天前的文件,將/usr/local/backups目錄下所有10天前帶”.”的文件刪除

find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;

原文鏈接:https://blog.csdn.net/a772304419/article/details/126201479

欄目分類
最近更新