find的合理使用
用途:
當我們在查詢指定的檔案時,ls和locate等並不能合理的滿足我們的要求,此時可以
使用find的命令來查詢
特點:
實時查詢工具,通過遍歷指定路徑完成檔案查詢
精確查詢
查詢速度略慢
預設遞迴查詢
只搜尋使用者具備讀取和執行許可權的目錄
基本用法:
find 路徑 -mindepth # 指明查詢檔案的最小深度
-maxdepth # 指明查詢檔案的最小深度
-name 檔名 以檔名查詢
-iname 檔名 檔名不區分大小寫查詢
-user 使用者名稱 查詢owner是指定使用者的檔案
-group 組名 查詢指定組的檔案
-nouser 使用者名稱 查詢不是指定使用者名稱的檔案
-nogroup 組名 查詢不是指定使用者名稱的檔案
按檔案型別查詢:
find 路徑 -type f 查詢普通檔案
d 查詢目錄檔案
s 查詢套接字檔案
b 查詢塊裝置檔案
c 查詢字元文
p 查詢管道檔案
l 查詢符號連結檔案
按檔案大小查詢:
find 路徑 -size +#k 查詢大於#k的檔案
-#k 查詢小於#k的檔案
#k 查詢 大於#-1 小於等於#k的檔案
按時間查詢:
find 路徑 -atime +# 查詢#天以後的檔案
-# 查詢#天以前的檔案
# 查詢 大於#-1 小於等於#天的檔案
處理動作:
find 路徑 查詢條件 --ls 將查詢的結果長顯示
--delete 將查詢的結果刪除
-exec command {} \ ;將查詢的結果當做引數傳遞下去
例項說明:
基礎用法:
[root@localhost app]# tree
.
└── dir1
├── b
├── c
└── dir2
├── d
├── dir3
│ ├── f
│ └── g
└── e
3 directories, 6 files
[root@localhost app]# find -maxdepth 2
.
./dir1
./dir1/dir2
./dir1/b
./dir1/c
[root@localhost app]# ls -l dir1/dir2/d
-rw-r--r--. 1 guanyu root 0 Jul 28 08:11 dir1/dir2/d
[root@localhost app]# find -user guanyu
./dir1/dir2/d
[root@localhost app]# find -type d
.
./dir1
./dir1/dir2
./dir1/dir2/dir3
[root@localhost app]# find -size +30k
./b
[root@localhost app]# ls -lh b
-rw-r--r--. 1 root root 40K Jul 28 11:29 b
[root@localhost app]# find -name c -ls
25168099 0 -rw-r--r-- 1 root root 0 Jul 28 08:11 ./dir1/c
[root@localhost app]# find -name c -exec rm {} \;
[root@localhost app]# tree
.
└── dir1
├── b
└── dir2
├── d
├── dir3
│ ├── f
│ └── g
└── e
引申用法:
[root@localhost app]# find -name f -a -group root -ls
8405953 0 -rw-r--r-- 1 root root 0 Jul 28 08:11 ./dir1/dir2/dir3/f
[root@localhost app]# find -user guanyu -o -user zhangfei
./dir1/dir2/d
./dir1/dir2/e
[root@localhost dir2]# find -not -user root
./d
./e
[root@localhost app]# find /app -path '/app/dir1/dir2' -a -prune -o -user root
/app
/app/dir1
/app/dir1/dir2
/app/dir1/b
[root@localhost app]# tree
.
└── dir1
├── b
└── dir2
├── d
├── dir3
│ ├── f
│ └── g
└── e
說明:去除指定目錄後,在按指定的內容查詢
補充說明:合理使用find會加速我們的工作效率。
相關文章
- CSS 合理使用簡寫CSS
- mysql find_in_set()函式的使用MySql函式
- sed命令和find命令的結合的使用
- [20210408]使用linux find注意.txtLinux
- 如何在 Linux 中使用 findLinux
- Linux學習之linux的find命令如何使用?Linux
- 直播遊戲的合理使用與侵權邊界在哪?遊戲
- 在 Linux中find命令使用技巧Linux
- 如何合理使用 CPU 管理策略,提升容器效能?
- 合理使用CSS框架,加速UI設計程式CSS框架UI
- 使用APICloud開發App的效能優化探索——合理使用同步/非同步介面APICloudAPP優化非同步
- [20180302]使用find命令小錯誤.txt
- MySQL進階篇(03):合理的使用索引結構和查詢MySql索引
- 手摸手,帶你用合理的姿勢使用webpack4(下)Web
- 手摸手,帶你用合理的姿勢使用webpack4(上)Web
- 在Openjdk 8 中如何合理使用容器 memory 資源JDK
- Redis在專案中合理使用經驗總結Redis
- Linux系統下find、locate命令如何使用?Linux
- 網站合理使用CDN加速,讓你的網站速度飛起來!網站
- 5分鐘學會使用Linux的 grep、find、ls、wc 命令Linux
- 如何制定合理的TPM管理措施?
- string的find()與npos
- 為什麼要謹慎使用Linux find命令?Linux
- find命令
- Hello,find!
- MySQL的sql_mode合理設定MySql
- MySQL 的 sql_mode 合理設定MySql
- linux下的find 和 grepLinux
- QRowTable表格控制元件(三)-效率優化之-合理使用QStandardItem控制元件優化
- [譯] 更可靠的 React 元件:合理的封裝React元件封裝
- CMake中新增Qt模組的合理方法QT
- 8.6 規劃合理的目錄結構
- 迪米特法則——合理的封裝封裝
- SMSSDK合理運用好友關係的方法
- How to find dependency
- find process by port
- find -newer命令
- Unable to find a specification for ''