導航:首頁 > 操作系統 > linux里查找文件

linux里查找文件

發布時間:2023-04-22 17:46:02

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' {} ;

(9)linux里查找文件擴展閱讀:

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、首先我們准備一個要查找的文件,如下圖所示。

閱讀全文

與linux里查找文件相關的資料

熱點內容
android賽風 瀏覽:226
程序員面試經歷 瀏覽:983
蘋果怎麼設置app只用數據 瀏覽:855
學以為己pdf 瀏覽:231
為什麼安卓手機進步很大 瀏覽:342
mfc軟體加密 瀏覽:326
ubuntu上傳文件命令 瀏覽:712
合約馬丁格爾源碼 瀏覽:971
慕課文件夾名稱 瀏覽:671
用app國潮手帳怎麼做 瀏覽:254
解壓娛樂編輯器 瀏覽:615
wppdf 瀏覽:265
sshlinux文件下載 瀏覽:175
使用ping命令檢查網路問題 瀏覽:751
金手指文件放哪個文件夾 瀏覽:44
想創app軟體怎麼操作 瀏覽:201
為啥電腦總是顯示沒有文件夾 瀏覽:675
iphone顯示無法驗證app怎麼回事 瀏覽:968
推薦解壓好游戲 瀏覽:277
cpu伺服器過載怎麼辦 瀏覽:620