Ⅰ 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中在當前目錄下查找某個文件。
1、打開shell連接工具,連接上伺服器,pwd查看當前目錄,一般進來默認在主目錄下。
Ⅲ linux如何查找文件
1、使用find命令
Linuxfind命令用來在指定目錄下查找文件。任何位於參數之前的字元串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄或文件。並且將查找到的子目錄和文件全部進行顯示。
語法:find path -option [ -print ] [ -exec -ok command ] {} ;
2、使用locate命令
Linux locate命令用於查找符合條件的文檔,他會去保存文檔和目錄名稱的資料庫內,查找合乎範本樣式條件的文檔或目錄。
一般情況我們只需要輸入locate your_file_name即可查找指定文件。
語法:locate [-d ][--help][--version][範本樣式...]
3、使用which命令
Linux which命令用於查找文件。
which指令會在環境變數$PATH設置的目錄里查找符合條件的文件。
語法:which [文件...]
4、使用whereis命令
Linux whereis命令用於查找文件。
該指令會在特定目錄中查找符合條件的文件。這些文件應屬於原始代碼、二進制文件,或是幫助文件。
該指令只能用於查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。
語法:whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S<目錄>...][文件...]
Ⅳ linux查找文件路徑的命令,Linux查找文件路徑
1."linux查找文件路徑,為您提供linux查找文件路徑圖文信息,打開linux系統,在linux的桌面的空白處右擊。
2.在彈出的下拉選項里,點擊打開終端。
3.輸入find/-name+文件名,回車運行,即可顯示文件所在路徑。
4.輸入locate+文件名,可以找到所有包含此文件名的文件。
Ⅳ Linux下文件搜索、查找、查看命令
1、最強大的搜索命令:find 查找各種文件的命令
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字元串匹配的行並輸出:grep
6、分頁顯示一個文件或任何輸出結果:more
7、分頁顯示一個文件並且可以回頭:less
8、指定顯示前多少行文件內容:head
9、指定顯示文件後多少行內容:tail
10、查看一個文件:cat
11、查看文件內容多少字元多少行多少位元組:wc
12、排序文件內容:sort
一、根據 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字元】:-name和-iname的區別一個區分大小寫,一個不區分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字元,即搜索到 init___)
二、根據 文件大小 搜索
eg:在根目錄下查找大於 100M 的文件
find / -size +204800
這里 +n 表示大於,-n 表示小於,n 表示等於
1 數據塊 == 512 位元組 0.5KB,也就是1KB等於2數據塊
100MB == 102400KB204800數據塊
三、根據 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內容被修改
時間:+n,-n,n分別表示超過n分鍾,n分鍾以內和n分鍾
eg:在 /etc 目錄下查找5 分鍾內被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據 文件類型或i節點 搜索
-type 根據文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據i節點查找
eg:查找 /tmp 目錄下i節點為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個參數:
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
範例:查找/etc目錄下大於80MB同時小於100MB的文件
find /etc -size +163840 -a -size -204800
語法:locate【文件名】 -i 不區分大小寫
注意:這里和 find 命令是有區別的,find是全盤檢索,而locate 是在文件資料庫中進行搜索。所以locate命令的執行要比find命令執行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對於/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬於文件資料庫的收錄范圍。
eg:locate hcf
功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls
功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls
功能描述:在文件中搜尋字元串匹配的行並輸出
語法:grep -iv 【指定字元串】【文件】
-i 不區分大小寫
-v 排除指定字元串
eg:查找 /root/install.log 文件中包含 mysql 字元串的行,並輸出
grep mysql /root/install.log
本搜索工具,根據用戶指定的模式,對目標文件逐行進行匹配檢查,列印匹配到的行
grep是在文件中搜索匹配的字元串,是在文件中進行內容搜索,這個命令後面用到的比較多
描述:
分頁顯示一個文件或任何輸出結果
用於查看純文本文件(較長的)格式
格式:
more[選項] 文件
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會載入整個文件。
head[必要參數][選擇參數][文件]
用於顯示指定文件開始多少行內容
命令參數:
-n 10 顯示前10行
-n -10 正常輸出但不顯示最後的10行
eg:顯示new.txt的前兩行內容
head -n 2 new.txt
head -2 new.txt
tail[必要參數][選擇參數][文件]
用於顯示指定文件末尾多少行內容
命令參數:
-n 10 顯示後面10行
-f 持續刷新顯示的內容
eg:顯示new.txt的末尾兩行內容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt
描述:一次顯示整個文件內容
cat 命令 用於查看純文本文件(較短)
cat [選項] [文件]…
描述:wc 命令默認情況下會列印換行符數、單詞數和字元數。
用法:wc [選項] [文件]
用法:sort [選項] [文件]
轉自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索
Ⅵ linux怎樣查找文件
用find命令,如:x0dx0a#find /home -name abc.txtx0dx0a表示在/home下查找名猛中舉字為abc.txt文件x0dx0a可以輸入find --help查看詳細用法~~如果沒有輸入目錄參數/home則表培猜示在當前目錄下查找~x0dx0a還枝碧有locate命令,可以自己去網路一下用法~~
Ⅶ Linux中如何在指定目錄下查找文件
find顧名思義就是查找的意思,該命令是各種Linux發行版本中比較重要的、常用的一個命令。Linux下的find命令提供相當多的查找條件,功能比較強大,掌握這個命令之後,對平時的系統運維、管理工作可以達到事半功倍的效果。那麼Linux系統中find命令的用法是什麼?具體請看下文:
Linux
find命令用來在指定目錄下查找文件。任何位於參數之前的字元串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件,並且將查找到的子目錄和文件全部進行顯示。
語法格式:
find path -option [ -print ] [ -exec -ok command ] {} \;
參數說明:
find根據下列規則判斷path和expression,在命令列上第一個-(),!之前的部分為path,之後的部分是expression。如果path是空字串則使用目前路徑,如果expression是空字串則使用-print為預設expression。
expression中可使用的選項有二三十個,在此只介紹常用的部分。
-mount,-xedv:只檢查和指定目錄在同一個文件系統下的文件,避免列出其他文件系統中的文件;
-amin n:在過去n分鍾內被讀取過;
-anewer file:比文件file更晚被讀取過的文件;
-atime n:在過去n天內被讀取過的文件;
-cmin n:在過去n分鍾內被修改過;
-cnewer file:比文件file更新的文件;
-ctime n:在過去n天內被修改過的文件;
-empty:空的文件-gid n or -group name:gid是n或是group名稱是name;
-ipath p,-path p:路徑名稱符合p的文件,ipath會忽略大小寫;
-name name,-iname name:文件名稱符合name的文件,iname會忽略大小寫;
-size n:文件大小是n單位,b代表512位元組的區塊,c表示字元數,k表示kilo bytes,w是二個位元組。
-type c:文件類型是C的文件。
Ⅷ linux系統的指定文件如何查找
很多朋友都想知道linux如何查找指定的文件?下面就一起來看看純州吧!
linux查找指定的文件
1、打開linux系統,在linux的桌面的空白處右擊。
2、在彈出的下拉選項里,點擊打開終端。
3、在終端窗口中做跡蔽輸州漏入stat+文件名來查看文件的詳細信息。
Ⅸ linux下按文件名和文件內容查找文件
在當前目錄下,查找所有內容包含『abc'的文件
find . -type f | xargs grep -l 'abc'
或
find . -type f -exec grep -l 'abc' {} ;
linux查找文件命令find
根據部分文件名查找方法:
這個方法和在WINDOWS中查找已知的文件名方法是一樣的。不過在Linux中根據部分文件名查找文件的方法要比在WINDOWS中的同類查找方法要強大得多。
例如我們知道某個文件包含有srm這3個字母,那麼要找到系統中所有包含有這3個字母的文件是可以實現的,輸入:
find /etc -name '*srm*'
這個命令表明了Linux系統將在/etc整個目錄中查找所有的包含有srm這3個字母的文件,比如 absrmyz, tibc.srm等等符合條件的文件都能顯示出來。如果你還知道這個文件是由srm 這3個字母打頭的,那麼我們還可以省略最前面的星號,命令如下:
find/etc -name 'srm*'
這是只有像srmyz 這樣的文件才被查找出來,象absrmyz或者 absrm這樣的文件都不符合要求,不被顯示,這樣查找文件的效率和可靠性就大大增強了。
Ⅹ Linux如何對文件內容中的關鍵字進行查找
1、首先我們准備一個要查找的文件,如下圖所示。