『壹』 linux怎麼將一個目錄下除了某個文件外的文件都刪除
在Linux系統中,如果需要刪除目錄下除了某個文件外的所有文件,可以採用extglob模式。首先,使用以下命令打開extglob模式:shopt -s extglob。接著,使用rm命令加上-f選項和extglob模式中的特殊語法來實現刪除操作,如:rm -fr !(file1),這里的file1就是你希望保留的文件名。
如果需要排除的文件不止一個,可以使用管道符號來分隔這些文件名,例如:rm -rf !(file1|file2),這樣可以同時排除file1和file2兩個文件,而這兩個文件之外的其他文件都將被刪除。
需要注意的是,使用rm命令時務必謹慎,因為該命令會永久刪除文件,且不會進行恢復。在執行刪除操作前,最好先通過ls命令查看目標目錄下的文件,確保不會誤刪重要文件。
此外,為了避免出現意外刪除,建議在執行刪除命令時加上-i選項,這樣在刪除每個文件前都會得到確認提示,可以手動選擇是否刪除。
總之,利用extglob模式可以方便地在Linux系統中實現對目錄下特定文件的批量刪除操作,但使用時一定要注意安全,避免誤刪重要文件。
使用rm命令時,務必確保其正確性和安全性,避免對系統造成不可逆的影響。
『貳』 linux下使用通配符批量刪除文件
一、cd命令進入這個linux文件夾目錄。
二、打:
find . -type f -name *.log -mtime +x -exec rm -fv { } \;
命令作用:在當前目錄下查找x天前的後綴專為log的文屬件並且刪除。
例:
find . -type f -name *.log -mtime +300 -exec rm -fv { } \;
查找300天前的後綴名為log的文件並且刪除。
命令詳細解釋:
. 在當前目錄下查找,如果要全盤查找的話,可以把.換成/,這樣前面的cd命令就不需要了。
-type f 查找的是普通文件,而不是文件夾
-name *.log 查找後綴為log的文件
-mtime +x 查找x天以前的文件,所以需要把這個x換成你自己需要查找的天數,比如30.你要刪除20090808以前的,就需要計算一下,它距離現在多少天。
-exec rm -fv { } \; 把查找的文件強制刪除
如果許可權不足,請以root身份運行命令。
如果是ubuntu,前面可以加sudo即可。
『叄』 Linux中快速刪除文件的方法linux刪除操作
Linux是一種極其受歡迎的開源操作系統,可以運行在各種平台上,其中包括桌面電腦、伺服器和嵌入式設備。當您安裝linux系統時,很可能您會使用它來刪除文件。Linux系統中有兩種快速刪除文件的方法:rm和trash-cli。
一、rm命令
rm命令是最常用的Linux刪除文件的方法之一。它可以用於刪除文件和目錄,其格式為:
rm [option] [file]
常用的參數時-r和-f,當您指定-r參數時,它可以遞歸到所有子目錄來刪除所有文件,-f參數用於強制刪除文件,忽略任何提示信息。如果要刪除當前目錄中所有文件,則可以執行如下命令:
rm -rf *
二、trash-cli 命令
trash-cli是一個開源的linux刪除文件的命令行工具,由於它支持在刪除之前提示用戶,如果用戶不需要刪除文件,可以取消此操作,因此更安全。以下是trash-cli的格式:
trash-put [option] [file]
此外,可以使用xargs和find結合trash-cli來批量刪除文件,其格式為:
find ./ -name “*.txt” | xargs trash-put
這句話可以用於刪除所有以txt為擴展名的文件。您也可以使用-v參數來列出執行的過程,使用-i參數來顯示每一步的提示信息,使用-e參數來忽略已存在的文件,等等。
上面就是Linux中快速刪除文件的幾種方法。rm命令是最常用的,但也容易引起數據丟失,而trash-cli的警告功能可以減少數據丟失的可能性。我們應該根據自己的需求,充分考慮後再決定選擇哪種方法。
『肆』 linux 批量刪除文件
首先建立50萬個文件
復制代碼代碼如下:
test for i in $(seq 1 500000)
for> do
for> echo test >>$i.txt
for> done
1 rm
復制代碼代碼如下:
test time rm -f *
zsh: sure you want to delete all the files in /home/hungerr/test [yn]? y
zsh: argument list too long: rm
rm -f * 3.63s user 0.29s system 98% cpu 3.985 total
由於文件數量過多,rm不起作用。
2 find
復制代碼代碼如下:
test time find ./ -type f -exec rm {} \;
find ./ -type f -exec rm {} \; 49.86s user 1032.13s system 41% cpu 43:19.17 total
大概43分鍾。
3 find with delete
復制代碼代碼如下:
test time find ./ -type f -delete
find ./ -type f -delete 0.43s user 11.21s system 2% cpu 9:13.38 total
用時9分鍾。
4 rsync
首先建立空文件夾blanktest
復制代碼代碼如下:
~ time rsync -a --delete blanktest/ test/
rsync -a --delete blanktest/ test/ 0.59s user 7.86s system 51% cpu 16.418 total
16s,很好很強大。
5 Python
復制代碼代碼如下:
import os
import time
stime=time.time()
for pathname,dirnames,filenames in os.walk('/home/username/test'):
for filename in filenames:
file=os.path.join(pathname,filename)
os.remove(file)
ftime=time.time()
print ftime-stime
復制代碼代碼如下:
~ python test.py
494.272291183
大概用時8分鍾。
6 Perl
復制代碼代碼如下:
test time perl -e 'for(<*>){((stat)[9]<(unlink))}'
perl -e 'for(<*>){((stat)[9]<(unlink))}' 1.28s user 7.23s system 50% cpu 16.784 total