Linux命令:find命令詳解

find命令格式

find path -option [-print] [-exec -ok |xargs |grep] [command {} \;]# 參數說明path: find命令所查找的目錄路徑。~ 表示$HOME目錄;.來表示當前目錄;/來表示系統根目錄。-print: find命令將匹配的文件輸出到標準輸出。-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為command {} ;,注意{};之間的空格。-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。|xargs: 與exec作用相同 ,起承接作用,區別在于|xargs 主要用于承接刪除操作 ,而-exec都可用 如復制、移動、重命名等。options: 表示查找方式

find命令參數

path :要查找的目錄路徑。

  • ~ 表示$HOME目錄
  • . 表示當前目錄
  • / 表示根目錄

print :表示將結果輸出到標準輸出。

exec :對匹配的文件執行該參數所給出的shell命令。

  • 相應命令的形式為command {} ;,注意{}和;之間的空格。

ok :與exec作用相同,區別在于,在執行命令之前,都會給出提示,讓用戶確認是否執行。

|xargs :與exec作用相同 ,起承接作用,區別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復制、移動、重命名等。

options :表示查找方式。

options常用選項:

-name filename        #查找名為filename的文件
-perm                 #按執行權限來查找
-user username        #按文件屬主來查找
-group groupname      #按組來查找
-mtime -n +n          #按文件更改時間來查找文件,-n指n天以內,+n指n天以前
-atime -n +n          #按文件訪問時間來查找文件,-n指n天以內,+n指n天以前
-ctime -n +n          #按文件創建時間來查找文件,-n指n天以內,+n指n天以前
-nogroup              #查無有效屬組的文件,即文件的屬組在/etc/groups中不存在
-nouser               #查無有效屬主的文件,即文件的屬主在/etc/passwd中不存
-type b/d/c/p/l/f     #查是塊設備、目錄、字符設備、管道、符號鏈接、普通文件
-size n[c]            #查長度為n塊[或n字節]的文件
-mount                #查文件時不跨越文件系統mount點
-follow               #如果遇到符號鏈接文件,就跟蹤鏈接所指的文件
-prune                #忽略某個目錄

下面通過一些簡單的例子來介紹下find的常規用法:

1、按名字查找

	# 在當前目錄及子目錄中,查找大寫字母開頭的txt文件 $ find . -name '[A-Z]*.txt' -print   # 在/etc及其子目錄中,查找host開頭的文件 $ find /etc -name 'host*' -print   # 在$HOME目錄及其子目錄中,查找所有文件   $ find ~ -name '*' -print # 在當前目錄及子目錄中,查找不是out開頭的txt文件   $ find . -name "out*" -prune -o -name "*.txt" -print 

2、按目錄查找

	# 在當前目錄除aa之外的子目錄內搜索 txt文件   $ find . -path "./aa" -prune -o -name "*.txt" -print   # 在當前目錄及除aa和bb之外的子目錄中查找txt文件   $ find . ?path′./dir0′?o?path′./dir1′?path′./dir0′?o?path′./dir1′ -a -prune -o -name '*.txt' -print# 在當前目錄,不再子目錄中,查找txt文件 $ find . ! -name "." -type d -prune -o -type f -name "*.txt" -print # 或者$ find . -name *.txt -type f -print

3、按權限查找

	# 在當前目錄及子目錄中,查找屬主具有讀寫執行,其他具有讀執行權限的文件   $ find . -perm 755 -print # 查找用戶有寫權限或者組用戶有寫權限的文件或目錄$ find ./ -perm /220$ find ./ -perm /u+w,g+w$ find ./ -perm /u=w,g=w

4、按類型查找

	# 在當前目錄及子目錄下,查找符號鏈接文件   $ find . -type l -print

5、按屬主及屬組

	# 查找屬主是www的文件   $ find / -user www -type f -print   # 查找屬主被刪除的文件 $ find / -nouser -type f -print   # 查找屬組 mysql 的文件 $ find / -group mysql -type f -print   # 查找用戶組被刪掉的文件 $ find / -nogroup -type f -print 

6、按時間查找

	# 查找2天內被更改過的文件 $ find . -mtime -2 -type f -print   # 查找2天前被更改過的文件 $ find . -mtime +2 -type f -print   # 查找一天內被訪問的文件 $ find . -atime -1 -type f -print   # 查找一天前被訪問的文件 $ find . -atime +1 -type f -print   # 查找一天內狀態被改變的文件 $ find . -ctime -1 -type f -print   # 查找一天前狀態被改變的文件 $ find . -ctime +1 -type f -print   # 查找10分鐘以前狀態被改變的文件 $ find . -cmin +10 -type f -print

7、按文件新舊查找

	# 查找比 aa.txt 新的文件 $ find . -newer "aa.txt" -type f -print   # 查找比 aa.txt 舊的文件 $ find . ! -newer "aa.txt" -type f -print   # 查找比aa.txt新,比bb.txt舊的文件 $ find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print

8、按大小查找

	# 查找超過1M的文件 $ find / -size +1M -type f -print   # 查找等于6字節的文件 $ find . -size 6c -print   # 查找小于32k的文件 $ find . -size -32k -print

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

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

相關文章

boost::interprocess::named_mutex的翻譯和學習

官方地址 named_mutex 簡介 // In header: <boost/interprocess/sync/named_mutex.hpp>class named_mutex { public:// construct/copy/destruct 構建/復制/銷毀named_mutex(create_only_t, const char *, const permissions & permissions());named_mutex(open_o…

安卓牛客專項練習2020.12.31

1.窗口dialog或半透明 2.Pracelable性能比serializable高

MAC查找JDK的路徑

在控制臺中輸入&#xff1a; /usr/libexec/java_home -V輸出如下結果&#xff1a; Matching Java Virtual Machines (4):1.8.0_121, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home1.7.0_79, x86_64: "Java SE 7&quo…

sqliteorm的sync_schema介紹

遷移功能 在遷移過程中&#xff0c;沒有明確的上下函數。取而代之的是sqlite_orm提供的sync_schema函數&#xff0c;它負責將實際的db文件模式和你在make_storage調用中指定的模式進行比較&#xff0c;如果有什么不一樣&#xff0c;它就會改變或放棄/創建模式。 storage.sync_…

安卓系統體系架構

1.大體:共有四層&#xff0c;系統應用層&#xff0c;JAVA API層&#xff0c;安卓系統運行層&#xff0c;Linux內核層 具體: 系統應用層&#xff08;System Apps&#xff09; Java API 框架層&#xff08;Java API Framework&#xff09; Android系統運行層&#xff08;包括Andr…

Java命令:jstack — 獲取線程dump信息

目錄一、命令介紹二、使用實例實例一&#xff1a;jstack查看輸出實例二&#xff1a;jstack統計線程數實例三&#xff1a;jstack檢測死鎖實例四&#xff1a;jstack檢測CPU高一、命令介紹 Usage:jstack [-l] <pid>(to connect to running process) //連接活動線程jstack …

Java多線程死鎖例子

目錄一、產生死鎖的原因二、如何避免死鎖一、產生死鎖的原因 發生死鎖的情況&#xff1a; 多個線程需要同時占用多個共享資源而發生需要互相死循環等待的情況&#xff0c;就是&#xff0c;兩個線程互相等待著對象釋放鎖&#xff0c;一直這樣僵持下去&#xff0c;所以導致了死鎖…

C++中lock_guard的學習

lock_guard 鎖守衛是一個管理mutex對象的對象&#xff0c;使其始終處于鎖定狀態。在構造時&#xff0c;mutex對象被調用線程鎖定&#xff0c;在銷毀時&#xff0c;mutex被解鎖。這是最簡單的鎖&#xff0c;作為一個自動持續時間的對象&#xff0c;它的作用特別大&#xff0c;可…

安卓四大組件簡介

安卓四大組件 Activity活動&#xff0c;Service服務&#xff0c;BroadcastRecevicer廣播接受器&#xff0c;Content Provider內容提供者 Activity活動 所有程序的流程都運行在activity中 Service服務 只能后臺運行&#xff0c;沒有界面的長生命周期的代碼 BroadcastRece…

WebLogic域的創建與發布

目錄一、前言二、準備三、創建域步驟第一步&#xff1a;直接【回車】第二步&#xff1a;直接【回車】第三步&#xff1a;直接【回車】第四步&#xff1a;輸入域名稱后【回車】第五步&#xff1a;直接【回車】第六步&#xff1a;直接【回車】&#xff08;此步驟是提示域的存放目…

安卓安卓移動操作系統優缺點

安卓移動操作系統優缺點 開發性 豐富的硬件 方便開發 gogle應用 安卓模擬器 手機,手表,電視,車載,安卓cel LogCat的使用–5級(日志) Log.v()–verbose全部信息,黑色 Log.d()–debug調試信息,藍色 Log.i()–info一般信息,綠色 Log.w()–warning警告信息,橙色 Log.e()–erro…

WebLogic啟動失敗:java.lang.AssertionError: Could not obtain the localhost address.

目錄一、錯誤信息二、解決方案第一步&#xff1a;查看本機計算機名稱第二步&#xff1a;編輯hosts文件一、錯誤信息 linux下啟動WebLogic報如下錯誤&#xff1a; 二、解決方案 此錯誤多半是hosts文件不對導致的。 解決步驟如下&#xff1a; 第一步&#xff1a;查看本機計…

sqlite_orm sync_schema源碼即翻譯

源碼 /*** This is a cute function used to replace migration up/down functionality.* It performs check storage schema with actual db schema and:* * if there are excess tables exist in db they are ignored (not dropped)* * every table from storage is comp…

安卓布局UI簡介

安卓UI 用戶界面UI&#xff08;使用者界面&#xff09; ——系統和用戶之間進行交互和信息交換的媒體 由布局和組件組成 軟件設計&#xff1a;編碼設計和UI設計 布局 ——可定義應用中的界面結構 所有元素都使用View和Viewgroup對象的層次結構進行構建 view微件——構建用戶…

Windows查找JDK的路徑

第一步&#xff1a;確定是否安裝JDK 在控制臺輸入&#xff1a; java -version輸出結果&#xff1a; 此時說明你電腦安裝了JDK。 第二步&#xff1a;查找路徑 然后在控制臺輸入&#xff1a; java -verbose輸出結果&#xff1a; 從最后的jre目錄可以找到相應的jdk目錄。 …

boost官方文檔同步機制Synchronization mechanisms overview

參考鏈接 官方文檔 Synchronization mechanisms overview Named And Anonymous Synchronization MechanismsTypes Of Synchronization Mechanisms如前所述&#xff0c;如果不能有效地同步對內存的訪問&#xff0c;那么通過內存映射文件或共享內存對象在進程之間共享內存的能力…

安卓布局中xml文件屬性和ID簡介

編寫xml屬性 加載xml資源 當編譯應用時&#xff0c;系統會將每個xml文件編譯為view資源 屬性 xml屬性&#xff1a;特有屬性&#xff0c;共有屬性&#xff0c;其他屬性&#xff08;布局參數&#xff09; ID ——在結構樹中對view對象唯一標識 編譯應用后&#xff0c;系統以…

Java監控工具VisualVM

目錄一、簡介二、內存分析1、Heap堆三、CPU分析四、線程分析一、簡介 VisualVM 是一款免費的&#xff0c;集成了多個JDK命令行工具的可視化工具&#xff0c;它能為您提供強大的分析能力&#xff0c;對Java應用程序做 性能分析和調優 。這些功能包括 生成和分析海量數據、跟蹤內…

對官方Mutexes的翻譯

參考鏈接 參考鏈接 Mutexes Whats A Mutex?Mutex OperationsBoost.Interprocess Mutex Types And HeadersScoped lockAnonymous mutex exampleNamed mutex example Whats A Mutex? 互斥是相互排斥的意思&#xff0c;它是進程之間最基本的同步形式。互斥保證只有一個線程可…

計算機應用基礎

計算概論知識點 1.計算機之父&#xff1a;馮.諾伊曼 計算機基本組成&#xff1a;運算器&#xff0c;控制器&#xff0c;存儲器&#xff0c;輸入設備&#xff0c;輸出設備 2.幾種計算機&#xff1a;臺式計算機,筆記本式計算機,PC服務器,平板式計算機… 3.電腦的硬件&#xff1a;…