linux find查找文件然后删除,linu查找find命令及删除7天前的文件
在/ l o g s目錄中查找更改時(shí)間在7日以前的文件并刪除它們: $ find logs/ -type f -mtime +7 -exec rm -f {} \; 在/ l o g s目錄中查找更改時(shí)間在7日以內(nèi)的文件并刪除它們: $ find logs/ -type f -mtime -7 -exec rm -f {} \; 然后加入的計(jì)劃任務(wù)中每日?qǐng)?zhí)行便可 Linux中find常見(jiàn)用法示例以及刪除7天前的文件
·find?? path?? -option?? [?? -print ]?? [ -exec?? -ok?? command ]?? {} \; find命令的參數(shù); pathname: find命令所查找的目錄路徑。例如用.來(lái)表示當(dāng)前目錄,用/來(lái)表示系統(tǒng)根目錄。 -print: find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。 -exec: find命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為'command' { } \;,注意{ }和\;之間的空格。 -ok: 和-exec的作用相同,只不過(guò)以一種更為安全的模式來(lái)執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個(gè)命令之前,都會(huì)給出提示,讓用戶來(lái)確定是否執(zhí)行。 #-print 將查找到的文件輸出到標(biāo)準(zhǔn)輸出 #-exec?? command?? {} \;????? —–將查到的文件執(zhí)行command操作,{} 和 \;之間有空格 #-ok 和-exec相同,只不過(guò)在操作前要詢用戶 例:find . -name .svn | xargs rm -rf ==================================================== -name?? filename???????????? #查找名為filename的文件 -perm??????????????????????? #按執(zhí)行權(quán)限來(lái)查找 -user??? username???????????? #按文件屬主來(lái)查找 -group groupname??????????? #按組來(lái)查找 -mtime?? -n +n??????????????? #按文件更改時(shí)間來(lái)查找文件,-n指n天以內(nèi),+n指n天以前 -atime??? -n +n?????????????? #按文件訪問(wèn)時(shí)間來(lái)查GIN: 0px"> -ctime??? -n +n????????????? #按文件創(chuàng)建時(shí)間來(lái)查找文件,-n指n天以內(nèi),+n指n天以前 -nogroup???????????????????? #查無(wú)有效屬組的文件,即文件的屬組在/etc/groups中不存在 -nouser???????????????????? #查無(wú)有效屬主的文件,即文件的屬主在/etc/passwd中不存 -newer?? f1 !f2????????????? 找文件,-n指n天以內(nèi),+n指n天以前? -ctime??? -n +n?????????????? #按文件創(chuàng)建時(shí)間來(lái)查找文件,-n指n天以內(nèi),+n指n天以前? -nogroup???????????????????? #查無(wú)有效屬組的文件,即文件的屬組在/etc/groups中不存在 -nouser????????????????????? #查無(wú)有效屬主的文件,即文件的屬主在/etc/passwd中不存 -newer?? f1 !f2?????????????? #查更改時(shí)間比f(wàn)1新但比f(wàn)2舊的文件 -type??? b/d/c/p/l/f???????? #查是塊設(shè)備、目錄、字符設(shè)備、管道、符號(hào)鏈接、普通文件 -size????? n[c]?????????????? #查長(zhǎng)度為n塊[或n字節(jié)]的文件 -depth?????????????????????? #使查找在進(jìn)入子目錄前先行查找完本目錄 -fstype???????????????????? #查更改時(shí)間比f(wàn)1新但比f(wàn)2舊的文件 -type??? b/d/c/p/l/f???????? #查是塊設(shè)備、目錄、字符設(shè)備、管道、符號(hào)鏈接、普通文件 -size????? n[c]?????????????? #查長(zhǎng)度為n塊[或n字節(jié)]的文件 -depth?????????????????????? #使查找在進(jìn)入子目錄前先行查找完本目錄 -fstype????????????????????? #查位于某一類(lèi)型文件系統(tǒng)中的文件,這些文件系統(tǒng)類(lèi)型通常可 在/etc/fstab中找到 -mount?????????????????????? #查文件時(shí)不跨越文件系統(tǒng)mount點(diǎn) -follow????????????????????? #如果遇到符號(hào)鏈接文件,就跟蹤鏈接所指的文件 -cpio??????????????? %;????? #查位于某一類(lèi)型文件系統(tǒng)中的文件,這些文件系統(tǒng)類(lèi)型通常可 在/etc/fstab中找到 -mount?????????????????????? #查文件時(shí)不跨越文件系統(tǒng)mount點(diǎn) -follow????????????????????? #如果遇到符號(hào)鏈接文件,就跟蹤鏈接所指的文件 -cpio??????????????????????? #對(duì)匹配的文件使用cpio命令,將他們備份到磁帶設(shè)備中 -prune?????????????????????? #忽略某個(gè)目錄 ===================================================== $find?? ~?? -name?? "*.txt"?? -print??? #在$HOME中查.txt文件并顯示 $find?? .??? -name?? "*.txt"?? -print $find?? .??? -name?? "[A-Z]*"?? -print?? #查以大寫(xiě)字母開(kāi)頭的文件 $find?? /etc?? -name?? "host*"?? -print #查以host開(kāi)頭的文件 $find?? .?? -name?? "[a-z][a-z][0–9][0–9].txt"??? -print?? #查以兩個(gè)小寫(xiě)字母和兩個(gè)數(shù)字開(kāi)頭的txt文件 $find .?? -perm?? 755?? -print $find?? .?? -perm -007?? -exec ls -l {} \;?? #查所有用戶都可讀寫(xiě)執(zhí)行的文件同-perm 777 $find?? . -type d?? -print $find?? .?? !?? -type?? d?? -print? $find?? .?? -type l?? -print $find?? .?? -size?? +1000000c?? -print??????? #查長(zhǎng)度大于1Mb的文件 $find?? .?? -size?? 100c???????? -print?????? # 查長(zhǎng)度為100c的文件 $find?? .?? -size?? +10?? -print????????????? #查長(zhǎng)度超過(guò)期作廢10塊的文件(1塊=512字節(jié)) $cd / $find?? etc?? home?? apps??? -depth?? -print?? | cpio?? -ivcdC65536?? -o?? /dev/rmt0 $find?? /etc -name "passwd*"?? -exec grep?? "cnscn"?? {}?? \;?? #看是否存在cnscn用戶 $find . -name "yao*"?? | xargs file $find?? . -name "yao*"?? |?? xargs?? echo??? "" > /tmp/core.log $find?? . -name "yao*"?? | xargs?? chmod?? o-w ====================================================== find?? -name april*???????????????????? 在當(dāng)前目錄下查找以april開(kāi)始的文件 find?? -name?? april*?? fprint file??????? 在當(dāng)前目錄下查找以april開(kāi)始的文件,并把結(jié)果輸出到file中 find?? -name ap* -o -name may*?? 查找以ap或may開(kāi)頭的文件 find?? /mnt?? -name tom.txt?? -ftype vfat?? 在/mnt下查找名稱為tom.txt且文件系統(tǒng)類(lèi)型為vfat的文件 find?? /mnt?? -name t.txt ! -ftype vfat?? 在/mnt下查找名稱為tom.txt且文件系統(tǒng)類(lèi)型不為vfat的文件 find?? /tmp?? -name wa* -type l??????????? 在/tmp下查找名為wa開(kāi)頭且類(lèi)型為符號(hào)鏈接的文件 find?? /home?? -mtime?? -2???????????????? 在/home下查最近兩天內(nèi)改動(dòng)過(guò)的文件 find /home??? -atime -1????????????????? 查1天之內(nèi)被存取過(guò)的文件 find /home -mmin??? +60????????????????? 在/home下查60分鐘前改動(dòng)過(guò)的文件 find /home?? -amin?? +30????????????????? 查最近30分鐘前被存取過(guò)的文件 find /home?? -newer?? tmp.txt???????????? 在/home下查更新時(shí)間比tmp.txt近的文件或目錄 find /home?? -anewer?? tmp.txt??????????? 在/home下查存取時(shí)間比tmp.txt近的文件或目錄 find?? /home?? -used?? -2????????????????? 列出文件或目錄被改動(dòng)過(guò)之后,在2日內(nèi)被存取過(guò)的文件或目錄 find?? /home?? -user cnscn??????????????? 列出/home目錄內(nèi)屬于用戶cnscn的文件或目錄 find?? /home?? -uid?? +501????????????????? 列出/home目錄內(nèi)用戶的識(shí)別碼大于501的文件或目錄 find?? /home?? -group?? cnscn????????????? 列出/home內(nèi)組為cnscn的文件或目錄 find?? /home?? -gid 501?????????????????? 列出/home內(nèi)組id為501的文件或目錄 find?? /home?? -nouser??????????????????? 列出/home內(nèi)不屬于本地用戶的文件或目錄 find?? /home?? -nogroup?????????????????? 列出/home內(nèi)不屬于本地組的文件或目錄 find?? /home??? -name tmp.txt??? -maxdepth?? 4?? 列出/home內(nèi)的tmp.txt 查時(shí)深度最多為3層 find?? /home?? -name tmp.txt?? -mindepth?? 3?? 從第2層開(kāi)始查 find?? /home?? -empty???????????????????? 查找大小為0的文件或空目錄 find?? /home?? -size?? +512k??????????????? 查大于512k的文件 find?? /home?? -size?? -512k?????????????? 查小于512k的文件 find?? /home?? -links?? +2??????????????? 查硬連接數(shù)大于2的文件或目錄 find?? /home?? -perm?? 0700??????????????? 查權(quán)限為700的文件或目錄 find?? /tmp?? -name tmp.txt?? -exec cat {} \; find?? /tmp?? -name?? tmp.txt?? -ok?? rm {} \; find??? /?? -amin??? -10???? # 查找在系統(tǒng)中最后10分鐘訪問(wèn)的文件 find??? /?? -atime?? -2??????? # 查找在系統(tǒng)中最后48小時(shí)訪問(wèn)的文件 find??? /?? -empty???????????? # 查找在系統(tǒng)中為空的文件或者文件夾 find??? /?? -group?? cat??????? # 查找在系統(tǒng)中屬于 groupcat的文件 find??? /?? -mmin?? -5???????? # 查找在系統(tǒng)中最后5分鐘里修改過(guò)的文件 find??? /?? -mtime?? -1?????? #查找在系統(tǒng)中最后24小時(shí)里修改過(guò)的文件 find??? /?? -nouser?????????? #查找在系統(tǒng)中屬于作廢用戶的文件 find??? /?? -user??? fred???? #查找在系統(tǒng)中屬于FRED這個(gè)用戶的文件
總結(jié)
以上是生活随笔為你收集整理的linux find查找文件然后删除,linu查找find命令及删除7天前的文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 美国宇航局成功测试新型充气隔热罩
- 下一篇: 口苦口干口臭是什么原因造成的