Linux 查找文件

find 查找目錄 -name "文件名"
find / -name "php.ini"

locate 文件名
locate php.ini


一:locate命令

locate命令用于查找文件,它比find命令的搜索速度快,它需要一個數據庫,這個數據庫由每天的例行工作(crontab)程序來建立。當我們建立好這個數據庫后,就可以方便地來搜尋所需文件了。

即先運行:updatedb(無論在那個目錄中均可,可以放在crontab中 )后在?? /var/lib/slocate/ 下生成 slocate.db 數據庫即可快速查找。在命令提示符下直接執行#updatedb 命令即可:

例如:查找相關字issue

$ locate issue

/etc/issue

/etc/issue.net

/usr/man/man5/issue.5

/usr/man/man5/issue.net.5

二:find命令:

功能:在目錄結構中搜索文件,并執行指定的操作。此命令提供了相當多的查找條件,功能很強大。

語法:find 起始目錄 尋找條件 操作

說明:find命令從指定的起始目錄開始,遞歸地搜索其各個子目錄,查找滿足尋找條件的文件并對之采取相關的操作。

該命令提供的尋找條件可以是一個用邏輯運算符not、and、or組成的復合條件。邏輯運算符and、or、not的含義為:

(1)and:邏輯與,在命令中用“-a”表示,是系統缺省的選項,表示只有當所給的條件都滿足時,尋找條件才算滿足。例如:

$ find –name ’tmp’ –xtype c -user ’inin’

該命令尋找三個給定條件都滿足的所有文件。

(2)or:邏輯或,在命令中用“-o”表示。該運算符表示只要所給的條件中有一個滿足時,尋找條件就算滿足。例如:

$ find –name ’tmp’ –o –name ’mina*’

該命令查詢文件名為’tmp’或是匹配’mina*’的所有文件。

(3)not:邏輯非,在命令中用“!”表示。該運算符表示查找不滿足所給條件的文件。例如:

$ find ! –name ’tmp’

該命令查詢文件名不是’tmp’的所有文件。

需要說明的是:當使用很多的邏輯選項時,可以用括號把這些選項括起來。為了避免Shell本身對括號引起誤解,在話號前需要加轉義字符“”來去除括號的意義。

例:$ find (–name ’tmp’ –xtype c -user ’inin’ )

尋找條件有以下選項:

首先,下列各個選項中的n值可以有三種輸入方式,假設n為20,則:

+20 表示20以后(21,22,23等)

-20 表示20以前(19,18,17等)

20 表示正好是20

1. 以名稱和文件屬性查找。

- name ’字串’ 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[ ]。

- lname ’字串’ 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[ ]。

-gid n 查找屬于ID號為n的用戶組的所有文件。

-uid n 查找屬于ID號為n的用戶的所有文件。

-group ’字串’ 查找屬于用戶組名為所給字串的所有的文件。

-user ’字串’ 查找屬于用戶名為所給字串的所有的文件。

-empty 查找大小為0的目錄或文件。

-path ’字串’ 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[ ]。

-perm 權限 查找具有指定權限的文件和目錄,權限的表示可以如711,644。

-size n[bckw] 查找指定文件大小的文件,n后面的字符表示單位,缺省為b,代表512字節的塊。

-type x 查找類型為x的文件,x為下列字符之一:

b 塊設備文件

c 字符設備文件

d 目錄文件

p 命名管道(FIFO)

f 普通文件

l 符號鏈接文件(symbolic links)

s socket文件

-xtype x 與-type基本相同,但只查找符號鏈接文件。

2. 以時間為條件查找

- amin n 查找n分鐘以前被訪問過的所有文件。

- atime n 查找n天以前被訪問過的所有文件。

- cmin n 查找n分鐘以前文件狀態被修改過的所有文件。

- ctime n 查找n天以前文件狀態被修改過的所有文件。

- mmin n 查找n分鐘以前文件內容被修改過的所有文件。

- mtime n 查找n天以前文件內容被修改過的所有文件。

3. 可執行的操作

- exec 命令名稱 {} 對符合條件的文件執行所給的Linux 命令,而不詢問用戶是否需要執行該命令。{}表示命令的參數即為所找到的文件;命令的末尾必須以“ ;”結束。

- ok 命令名稱 { } 對符合條件的文件執行所給的Linux 命令,與exec不同的是,它會詢問用戶是否需要執行該命令。

- ls 詳細列出所找到的所有文件。

- fprintf 文件名 將找到的文件名寫入指定文件。

- print 在標準輸出設備上顯示查找出的文件名。

- printf 格式 格式的寫法請參考有關C語言的書。

例1:查找當前目錄中所有以main開頭的文件,并顯示這些文件的內容。

$ find . - name ‘main*’ - exec more {} ;

例2:刪除當前目錄下所有一周之內沒有被訪問過的a .out或*.o文件。

$ find . (- name a.out - o - name ‘*.o’)

> - atime +7 - exec rm {} ;

說明如下:

命令中的“.”表示當前目錄,此時find將從當前目錄開始,逐個在其子目錄中查找滿足后面指定條件的文件。(和)表示括號(),其中的“”稱為轉義符。之所以這樣寫是由于對Shell而言,(和)另有不同的含義,而不是這里的用于組合條件的用途。“- name a.out”是指要查找名為a.out的文件;“- name ‘*.o’”是指要查找所有名字以 .o結尾的文件。這兩個- name之間的- o表示邏輯或(or),即查找名字為a.out或名字以 .o結尾的文件,find在當前目錄及其子目錄下找到這佯的文件之后,再進行判斷,看其最后訪問時間是否在7天以前(條件-atime +7),若是,則對該文件執行命令rm(- exec rm{ };)。其中{ }代表當前查到的符合條件的文件名,;則是語法所要求的。上述命令中第一行的最后一個是續行符。當命令太長而在一行寫不下時,可輸入一個,之后系統將顯示一個>,指示用戶繼續輸入命令。

轉載于:https://www.cnblogs.com/lbnnbs/p/6209942.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542030.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542030.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542030.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java GregorianCalendar hashCode()方法與示例

GregorianCalendar類的hashCode()方法 (GregorianCalendar Class hashCode() method) hashCode() method is available in java.util package. hashCode()方法在java.util包中可用。 hashCode() method is used to returns the hash code for this GregorianCalendar. hashCode…

python元組為什么不可變_為什么python字符串和元組是不可變的?

我不知道為什么字符串和元組是不可變的;使它們不可變的優點和缺點是什么?除了Python解釋器的內部實現,這種設計在編寫程序上是否有很好的意義?(例如,如果元組和字符串是可變的,會更容易嗎?)如果…

InnoDB事務結構體代碼變量列表

事務結構 struct trx_t 寫在前面 InnoDB是MySQL的一個存儲引擎,支持事務,支持非堵塞的一致性讀,物理存儲結構是Page,每個事務都有回滾日志,重做日志,事務還會有死鎖檢測,各種各樣不同的鎖等等等…

對cookie與session的理解

cookie: 在網站中,http請求是無狀態的。也就是說即使第一次和服務器連接后并且登錄成功后,第二次請求服務器依然不能知道當前請求是哪個用戶。 cookie的出現就是為了解決這個問題, 第一次登錄后服務器返回一些數據(…

ubutun 更換網絡源_Ubuntu 更換源

1.切換到root用戶# su root備份源文件 目錄:/etc/apt# cd /etc/apt/# cp sources.list sources.list.bk3.更換源 阿里源 清華源# >sources.list # 清空源# vim sources.list # 選擇一個源,復制進去# apt update # 更新源,需要等幾分鐘# ex…

php : 常用函數

常用函數&#xff1a; <?php /*** 獲取客戶端IP* return [string] [description]*/ function getClientIp() {$ip NULL;if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$arr explode(,, $_SERVER[HTTP_X_FORWARDED_FOR]);$pos array_search(unknown,$arr);if(false ! $po…

java日歷類add方法_Java日歷setFirstDayOfWeek()方法與示例

java日歷類add方法日歷類setFirstDayOfWeek()方法 (Calendar Class setFirstDayOfWeek() method) setFirstDayOfWeek() method is available in java.util package. setFirstDayOfWeek()方法在java.util包中可用。 setFirstDayOfWeek() method is used to sets the first day o…

zabbix監控部署 與添加主機

zabbix介紹&#xff1a; zabbix&#xff08;[zbiks]&#xff09;是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數&#xff0c;保證服務器系統的安全運營&#xff1b;并提供靈活的通知機制以讓系統管理員快速定位/解決…

線段樹 洛谷 p1531 I hate it(I hate it too)

這里寫鏈接內容 線段樹模板 字符串是一個很詭異的問題。。。。 #include<cstdio> #include<iostream> #include<string> #define q 200000 using namespace std; int a[q5],s[q<<25]; void bu(int o,int l,int r)//建樹 {if(lr){s[o]a[r];} else{int…

打開是什么樣子的圖片_情侶頭像 | 無論是什么樣子的你 我都好喜歡

點擊【情侶圖片大全】- 右上角找到【…】立刻設我為星標/置頂 - 不迷路哦情侶圖片大全“時光真瘋狂&#xff0c;我一路執迷與匆忙”情侶/閨蜜/動漫/閨蜜網名長按圖片保存 點擊圖片放大圖片高清&#xff0c;建議在 W i f i 下瀏覽這個世界是多么神奇我竟然遇見了你無論是什么…

Java File類File [] listFiles()方法(帶示例)

File類File [] listFiles() (File Class File[] listFiles()) This method is available in package java.io.File.listFiles(). 軟件包java.io.File.listFiles()中提供了此方法。 This method is used to return the names of all the files in the form of an array of files…

zabbix監控平臺添加服務(http,nginx,mysql)

1 . 監控httpd服務&#xff1a; 首先確保已經搭建zabbix監控平臺&#xff0c;并且將需要監控的主機已經添加。 對主機server2 上的http服務進行監控&#xff0c;首先確保server2主機安裝了http服務。 使用http在zabbix中自帶監控模版 點擊配置->主機->server2->模…

java為什么要重寫hashCode和equals方法

如果不被重寫&#xff08;原生&#xff09;的hashCode和equals是什么樣的&#xff1f;不被重寫&#xff08;原生&#xff09;的hashCode值是根據內存地址換算出來的一個值。 不被重寫&#xff08;原生&#xff09;的equals方法是嚴格判斷一個對象是否相等的方法&#xff0…

stl中map函數_map :: max_size()函數,以及C ++ STL中的Example

stl中map函數C STL映射:: max_size() (C STL map::max_size() ) It returns the maximum number of elements the container(map) is able to hold but at runtime, the size of the container may be limited to a value smaller than specified by max_size() by the amount…

arduino 藍牙示例_Arduino簡單實例之八_藍牙模塊

1) 說明&#xff1a;藍牙模塊用于和手機或其它帶藍牙的設備通訊。藍牙設備分為主從兩種模式&#xff0c;作為主設備時&#xff0c;它查找和連接其它設備&#xff1b;作為從設備時只能被只它設備連接&#xff1b;通訊模式分透明傳輸和AT命令模式。最好購買主從一體的藍牙模…

zabbix使用JMX監控tomcat

JMX 全稱是Java Management Extensions,即Java管理擴展。Java程序會開放一些端口&#xff0c;用來獲取運行狀況。 從Zabbix2.0開始&#xff0c;內置了監控JMX的功能,叫做"Zabbix Java Gateway ",在Zabbix Serve上會啟動名為"Zabbix Java Gateway "的進程&…

自定義控件添加屬性_|AutoCAD LT 2019 Mac自定義功能區的方法

AutoCAD LT是一款非常好用的CAD三維設計繪圖軟件&#xff0c;最新版本2019擁有改進的桌面、新應用實現跨設備工作流&#xff0c;以及DWG比較等新功能&#xff0c;并且AutoCAD LT 2019 Mac可以根據你的需要和工作習慣來自定義功能區&#xff0c;下面為大家帶來自定義功能區的詳細…

操作系統中的文件系統和訪問方法

文件 (File) A file is basically a sequence of bytes organized into blocks that are understandable by any machines. In other words, the collection of related information that is stored in a secondary storage device is also called a file. The file is a colle…

centos7鏡像加速_docker 鏡像加速CentOS7詳細介紹

前言在Docker Hub官網上注冊帳號&#xff0c;即可下載使用倉庫里的全部的docker鏡像。而因為網絡原因&#xff0c;國內的開發者沒辦法流暢的下載鏡像&#xff0c;經常會出現下載中斷的錯誤。解決方法就是使用國內的容器Hub加速服務&#xff0c;本質就是更改pull優先級較高的服務…

java 根據類名示例化類_Java LocalDateTime類| atOffset()方法與示例

java 根據類名示例化類LocalDateTime類atOffset()方法 (LocalDateTime Class atOffset() method) atOffset() method is available in java.time package. atOffset()方法在java.time包中可用。 atOffset() method is used to create an OffsetDateTime to merge this LocalDat…