① linux查找大於1g的文件
find ./ -type f -size +1G 具體可以看看《linux就該這么學》
② linux下磁碟佔用達到100%了,怎樣查找是哪些大文件耗盡了磁碟
樓上的各位,麻煩你們回答問題的時候看清楚別人問的是什麼好吧?x0dx0a1、如果是大文件佔用了,那麼查詢大於某個值的文件的方法:x0dx0afind / -size +100c -printx0dx0a這是從根盤開始查找大於100位元組的文件(至於位元組數你當然可以自己設置)x0dx0a你可以用x0dx0afind / -size +100c -exec ls -l {}\;x0dx0a來列出文件屬性。x0dx0a2、如果只是因為有些應用生成的日誌文件較多,長時間沒有清理後佔用了,這種情況最明顯的標志為系統空間使用量逐步遞增,每天的增量基本相差不大。那麼最快捷的方式莫過於詢問應用廠商要到日誌存放目錄後進行清理。如果找不到廠商,那隻好自己動手咯,寫個腳本查:x0dx0a#!/bin/kshx0dx0a#####用命令輸出所有目錄所佔的磁碟空間大小,以G為單位#########x0dx0a -h >fs_.logx0dx0a######判斷各層目錄大小,查到佔用量大的目錄######x0dx0acat fs_.log|while read LINE FS_USEDx0dx0adox0dx0a if [ $LINE -ge 10 ]x0dx0a then x0dx0a echo $FS_USED >>result.logx0dx0a elsex0dx0a exitx0dx0a fix0dx0adonex0dx0a####查看運行結果#######x0dx0amore result.logx0dx0a這樣你就能看到佔用量比較大的目錄,從而有針對性的到相應目錄下檢查,看到底是什麼東西在佔用硬碟空間了。(if [ $LINE -ge 10 ] ,這里是判斷超過10G的目錄,你可以修改)x0dx0a3、因為人為的誤操作,導致了某些進程在沒有執行完成的時候被kill掉了,但是緩存中的程序沒有釋放,仍然在運行,這會產生一些臨時文件佔用大量的磁碟空間資源,這種現象的特點是爆發式的增長,在很短時間內就將磁碟空間占滿。解決的方法:x0dx0ai、如果是因為父進程被殺除,子進程還運行導致,那麼最簡單,kill子進程,就會釋放。x0dx0aii、如果能用ipcs確認是哪個用戶的進程,那麼也不困難,順著使用ipcrm就行(這個就不一一例舉了,有了命令查使用方法還是很方便的)x0dx0aiii、執行進程的用戶是比較關鍵的用戶如:root用戶、有實例的oracle用戶、在線的生產用戶等。那麼建議在確認是因為共享緩存的原因導致的問題後重啟伺服器。x0dx0a4、你已經刪除了一些佔用量大的文件,或者在根盤下做 -h發現佔用量遠遠的小於130G,df的結果仍然是100%的使用率。那麼基本肯定你碰到了linux的一個bug,直接重啟就能解決。(當然了也不一定是bug,我碰到過那種程序在寫一個日誌,但是刪除日誌後空間不釋放的問題。這個是linux本身的機制引起的,只需要停止相關的程序空間就會釋放的)
③ linuxfind查找大於多少天的文件,並刪除之
linux查找超過一定時間的文件,並批量刪除
1、find . -maxdepth 4 -name "*-*" -mtime 3
-maxdepth的值決定是否對下面的子目錄進行遞歸查找
-mtime 3表示查找3天內的,-mtime +3表示查找超過3天的,也就是查找3天前的文件
2、find . -maxdepth 4 -name "*-*" -mtime 3 | sudo xargs rm -rf
-----------------------------------------------------------------------------------------------------------------------------
find ./ -maxdepth 4 -mtime +3 -a -mtime -20 -type f
-- 如果將xmaxdepth放置於-mtime之後,將會拋出這個錯誤
find: warning: you have specified the -maxdepth option after a non-option argument -mtime, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.
-----------------------------------------------------------------------------------------------------------------------------
-mtime 0 表示文件修改時間距離當前為0天的文件,即距離當前時間不到1天(24小時)以內的文件。
-mtime 1 表示文件修改時間距離當前為1天的文件,即距離當前時間1天(24小時-48小時)的文件。
-mtime+1 表示文件修改時間為大於1天的文件,即距離當前時間2天(48小時)之外的文件
-mtime -1 表示文件修改時間為小於1天的文件,即距離當前時間1天(24小時)之內的文件
-----------------------------------------------------------------------------------------------------------------------------
-maxdepth 參數詳解
-maxdepth選項的作用就是限制find命令在目錄中按照遞減方式查找文件的時候搜索文件超過某個級別或者搜索過多的目錄,這樣導致查找速度變慢,查找花費的時間過多。例如,我們要在當前(.)目錄技巧子目錄中查找一個名叫fred的文件,我們可以使用如下命令
find . -maxdepth 2 -name fred
假如這個fred文件在./sub1/fred目錄中,那麼這個命令就會直接定位這個文件,查找很容易成功。假如,這個文件在./sub1/sub2/fred目錄中,那麼這個命令就無法查找到。因為前面已經給find命令在目錄中最大的查詢目錄級別為2,只能查找2層目錄下的文件。這樣做的目的就是為了讓find命令更加>
精確的定位文件,如果你已經知道了某個文件大概所在的文件目錄級數,那麼加入-maxdepth n 就很快的能在指定目錄中查找成功。
也即是-maxdepth 參數指定遞歸查找級別,如果-maxdepth 2 則查找當前目錄遞歸查找2層,-maxdepth 4 則查找當前目錄遞歸查找4層。
④ 怎麼樣查看linux下佔用空間最大的文件
1請自行下載安裝SSH遠程軟體通過SSH遠程登錄你的linux伺服器2是linux下用看查看磁碟的命令下面我們先一個目錄的來查看空間佔用情況-sh/*先看看根目錄下面3我們發現/usr目錄佔用空間最大4接著我們看usr目錄-sh/usr/*5我們這里可以看到usr目錄下的local裡面佔用空間最大了6沒錯我們接著看/usr/local-sh/usr/local/*7最後我們發現local裡面的mysql文件最大了都600M+不過沒有法我們需要mysql8是不是簡單的樣子的找到最大的;刪除不用的就可以了
⑤ linux系統中find命令怎麼查找大文件
用-size參數,直接跟大小就行;
例如你要在根目錄下找大於10M的文件
find/-size+10M
或者你要在/home目錄下找大於10k的文件
find/home-size+10K
⑥ linux中的find命令怎麼查找介於兩個大小之間的文件
Linux下find命令在目錄結構中搜索文件,並執行指定的操作。Linux下find命令提供了相當多的查找條件,功能很強大。即使系統中含有網路文件系統,find命令在該文件系統中同樣有效。x0dx0a命令格式:find 路徑 命令參數 [輸出形式]x0dx0ax0dx0a需要使用的參數:x0dx0a-size [+|-]n[cwbkMG] 查找文件打下為n文件。大小之後的字母表示單位,b-塊(512位元組)、 c表示位元組、w-字(2位元組)、k-千位元組、M-兆位元組、G-吉位元組,單位的默認值為b。加號表示大於指定大小,減號表示小於指定大小。x0dx0a如果需要查找介於兩個大小之間的文件,可以重復設置-size參數兩次,一次使用加號+指定大於某一大小,一次使用減號-指定小於某一大小。x0dx0ax0dx0a用法示例:查找HOME目錄下大於1M小於10M的文件x0dx0a$ find ~ -size +1M -size -10M
⑦ Linux下查找和刪除指定大小的文件
LINUX刪除大於/小於固定大小的文件等
刪除目錄下大小為0的文件 find./ -name"*"-type f -size 0c |xargs-n1rm-f
刪除當前目錄下面所有 test 文件夾下面的文件 find./ -name"test"-type d -execrm-rf {} ;
刪除文件夾下面的所有的.py文件 find./ -name'.py'-execrm-rf {} ;
顯示當前路徑下,大於50M的文件 find./ -size +50M
刪除當前路徑下,大於50M的文件 find./ -size +50M -execrm{} \;
參考: https://www.cnblogs.com/yuanmingzhou/p/11082966.html
⑧ Linux文件查找Day.13
一.為什麼要有文件查找
因為資料有很多,會忘記放在了什麼位置,所以需要通過查找的方式進行搜索。(相當於windows查找文件 計算機--->搜索框)
二.Linux中怎麼查找文件查找
因為linux中沒有圖形工具,所以只能使用命令工具--find--來搜索
三.find命令使用語法
命令(find) 路徑(/etc/) 選項(要搜索什麼) 表達式(名稱,大小,文件類型,時間,組和用戶) 動作(刪除,-exec \;)
四.如何通過名稱,大小,文件類型,時間,組和用戶來搜索文件。
1.按名稱查找 (-iname 不區分大小寫)
[root@localhost ~]# find ./ -name "zy*"
(搜索當前目錄下以zy開頭的所有內容)
[root@localhost ~]# find ./ -name "*zy"
(搜索當前目錄下以zy開頭的所有內容)
[root@localhost ~]# find ./ -iname "zy*"
(搜索當前目錄下不區分大小寫zy開頭的內容)
2.按文件大小查找(以/etc/目錄為例)
[root@localhost ~]# find /etc/ -size +5M
(搜索/etc/目錄中大於5MB的內容)
[root@localhost ~]# find /etc/ -size -5M
(搜索/etc/目錄中小於5MB的內容)
[root@localhost ~]# find /etc/ -size 5M
(搜索/etc/目錄中等於5MB的內容)
PS:M單位也可以是k,G。
3.按文件類型查找 (-type)
文件類型:
f 普通文件
d 目錄
s socket套接字文件
l 鏈接文件
c 字元設備
b 塊設備
[root@localhost ~]# find ./ -type f -iname "zy*"
(搜索當前目錄中所有以「zy」開頭的文件並且不區分大小寫)
[root@localhost ~]# find /etc/ -type f -size +5M -name "*.bin"
(搜索/etc/目錄中以.bin結尾的並且文件大於5M的文件)
[root@localhost ~]# find /etc/ -type f -name "*.repo"
(搜索/etc/目錄中名稱以.repo結尾的文件)
[root@localhost ~]# find /dev/ -type b -name "sda*"
(搜索/dev/目錄中名稱以sda開頭的塊設備文件)
[root@localhost ~]# find /dev/ -type c -name "tty*"
(搜索/dev/目錄中以tty開頭的字元設備文件)
4.按時間查找(-mtime)
[root@localhost ~]# find ./ -type f -mtime 7
(查找出當前目錄下第7天的文件)*例:今天是10號,我要查找第七天的內容,就是10號之前的7天就是3號。*
[root@localhost ~]# find ./ -type f -mtime +7
(查找出當前目錄下7天之前的文件內容)
[root@localhost ~]# find ./ -type f -mtime -7
(查找出當前目錄下最近七天的文件內容)
實際使用方案
find /backup/ -iname 「*.bak」 -mtime +7 -delete
(保留最近七天的文件其他全部刪除)
find /backup/ -iname 「*.bak」 -mtime +90 -delete
(保留最近三個月的文件其他全部刪除)
find /backup/ -iname 「*.bak」 -mtime +180 -delete
(保留半年的文件其他全部刪除)
5.按用戶和組查找(-user -group -nouser -nogroup)
[root@localhost ~]# find /home/ -user zhangyao
(查找屬主是zhangyao的內容)
[root@localhost ~]# find /home/ -group zhangyao
(查找屬組是zhangyao的內容)
[root@localhost ~]# find /home/ -type d -user root -group zhangyao
(查找屬主是root,屬組是zhangyao的目錄)
[root@localhost ~]# find /home/ -nouser
(查找/home/目錄下沒有屬主的內容)
[root@localhost ~]# find /home/ -nogroup
(查找/home/目錄下沒有屬組的內容)
[root@localhost ~]# find /home/ -nouser -nogroup
(查找/home/目錄下沒有屬主或沒有屬組的內容)
四.查找到內容後的處理動作
find的默認動作是-print(列印)
-print 列印查找到的內容
-ls 以長格式顯示的方式列印查找到的內容
-delete 刪除查找到的文件 (刪除目錄,僅能刪除空目錄)
-ok 後面跟自定義命令(會提示是否操作)
-exec 後面跟自定義命令(標准寫法 -exec \;)
例:
[root@localhost ~]# find ./ -type d -name "find_*" -exec rm -rf {} \;
(查找當前目錄下以find_開頭的目錄然後刪除)刪除少量文件時用這個
[root@localhost ~]# find ./ -type d -name "find_*" | xargs rm -f
(查找當前目錄下以find_開頭的目錄然後刪除)刪除大量文件時候用這個
[root@localhost ~]# find /var/log/ -type f -name "*.log" -mtime +7 -exec rm -f {} \'
[root@localhost ~]# find /var/log/ -type f -name "*log" -mtime +7 | xargs rm -f
(兩種方法都是刪除七天之前日誌文件)
五.查找只記得內容的文件
需要將find和grep組合起來用
例:
find /etc/ -type f | xargs grep 「log_group」 --color==auto(加顏色,可加可不加)
六.find邏輯運算符
例:
查找當前目錄下屬主不是root的所有文件,然後以長格式列出
find ./ -type f ! -user root -ls
查找當前目錄下屬主是zhangyao並且文件大小小於1k的所有文件
find ./ -type f -a -user zhangyao -a -size 1k
查找當前目錄下屬主為root或者以xml結尾的文件
find ./ -type f -a -user root -o -name "zy*"
轉義
find ./ -type f -a \(「空格」 -user root -o -name "zy*" 「空格」 \)
等於
find ./ -type f -a -user root + find ./ -type f -a -name "zy*"
⑨ linux查找內容命令
find,用於在文件樹中查找文件並作相應的處理
-name:按照文件名查找文件
-perm:按照文件許可權查找文件
-user:按照文件屬主來查找文件
-size:按照指定的文件大小查找文件【+n:大於,-n:小於,n:等於】
-group:按照文件所屬的組來查找文件
-mtime<-n><+n>:按照文件更改時間來查找文件,-n表示n天之內,+n表示n天以前
-newer file1 file2:查找更改時間在file1和file2之間的文件
例如:
find -mtime -2:查找48小時修改過的文件
find -name ".log":查找當前目錄以".log"結尾的文件
find /opt/soft/test -perm 777:查找指定目錄下許可權為777的文件
find -type f -name "*.log":查找當前目錄下以".log"結尾的普通文件
find -type d | sort:查找當前所有目標目錄並排序
find /home/wansw -size +20M:查找大於20M的文件
locate指令,可以快速定位文件路徑,利用事先建立的系統中的所有文件名稱和路徑的locate資料庫,無需遍歷整個文件系統,查詢速度較快,為了保證查詢准確性,需要定期更新。《Linux就該這么學》
updatedb:第一次運行前,創建locate資料庫
grep,用於過濾/搜索指定字元串。可以使用正則表達式,能配合多種命令使用。
用法:grep 【選項】 查找內容 源文件
-A:顯示符合的行及之後的內容
-B:顯示符合的行及之前的內容
-C:顯示符合的行及前後的內容
-c:計算符合的行數目
-n:顯示匹配行和行號
-i:忽略大小寫
規則表達式
:'grep'表示匹配所有以grep開頭的行
'表示匹配所有以grep結尾的行
.:'gr.p'表示匹配'gr'後面接任意字元然後是'p'
:'grep'表示匹配一個或多個空格後緊跟grep的行
[]:[Gg]rep表示匹配Grep與grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭並緊跟rep的行
例如(grep命令大多數時候多要和別的命令一起使用才有意義):
ps -ef | grep -c SVN:查找指定的進程的個數
cat test.txt | grep -f test2.txt:從text2.txt中讀取關鍵字後在test.txt中搜索
cat test.txt | grep nf text2.txt:從text2.txt中讀取關鍵字後在text.txt中搜索並顯示行號
grep 'linux' text.txt test2.txt:從多個文件中搜索關鍵字'linux'
cat test.txt | grep -E 'ed|at':顯示包含ed或at的行
⑩ linux 磁碟空間不足時,查找大文件
查找根目錄下大於500M的文件:
-type [fileType] 文件類型是 fileType 的文件。
-size [fileLength] 文件大小是 fileLength 。
option 組合到一起之後,整條命令的意思就是「查找根目錄下大於500M的文件」。
-h 輸出文件系統分區使用情況,如下圖所示:
-s 顯示文件或真個目錄的大小,如下圖所示:
查看當前目錄下所有文件大小: