在linux中,find指令用於在指定目錄下尋找文件,基本語法「find path -option..」。任何位於參數之前的字串都將被視為欲查找的目錄名;如果使用該命令時,不設定任何參數,則find命令將在當前目錄下查找子目錄與檔案。
本教學操作環境:Red Hat Enterprise Linux 6.1系統、Dell G3電腦。
Linux find 指令用來在指定目錄下尋找檔案.
find指令格式:
find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】
find指令的參數:
1)path:要尋找的目錄路徑。
- ~ 表示$HOME目錄
- . 表示當前目錄
- / 表示根目錄
2 )print:表示將結果輸出到標準輸出。
3)exec:對符合的檔案執行此參數所給的shell指令。
形式為command {} \;,注意{}與\;之間有空格
4)ok:與exec作用相同,
差異在於,在執行指令之前,都會給予提示,讓使用者確認是否執行
5)|xargs 與exec作用相同,起承接作用
差異在於 |xargs 主要用於承接刪除操作,而 -exec 都可用如複製、移動、重新命名等
6)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 指令將在目前目錄下尋找子目錄與檔案。並且將查找到的子目錄和檔案全部進行顯示。
下面透過一些簡單的例子來介紹下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' \) -a -prune -o -name '*.txt' -print
注意:在1、2處都需要加空格,否則會出現如圖所示的錯誤
在3處加不加-a都可以
在目前目錄,不再子目錄中,查找txt文件
$ find . ! -name "." -type d -prune -o -type f -name "*.txt" -print
或者
find . -name *.txt -type f -print
友情鏈接:Linux中find命令-path -prune用法詳解
3、依權限查找
在目前目錄及子目錄中,尋找屬主具有讀寫執行,其他具有讀取執行權限的檔案
$find . -perm 755 -print
尋找使用者有寫權限或群組使用者有寫權限的檔案或目錄
find ./ -perm /220 find ./ -perm /u+w,g+w find ./ -perm /u=w,g=w
4、按類型尋找(b/d/c/p/l/f )
在目前目錄及子目錄下,查找符號連結檔案
$ 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尋找一天內狀態已變更的檔案 ##
$ find . -cmin +10 -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
9、执行命令
1)查找 del.txt 并删除,删除前提示确认
$ find . -name 'del.txt' -ok rm {} \;
2) 查找 aa.txt 并备份为aa.txt.bak
$ find . -name 'aa.txt' -exec cp {} {}.bak \;
3)查当前目录下的所有普通文件
# find . -type f -exec ls -l {} \; -rw-r–r– 1 root root 34928 2003-02-25 ./conf/httpd.conf -rw-r–r– 1 root root 12959 2003-02-25 ./conf/magic -rw-r–r– 1 root root 180 2003-02-25 ./conf.d/README
查当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出
4)在 /logs 目录中查找更改时间在5日以前的文件并删除它们
$ find logs -type f -mtime +5 -exec -ok rm {} \;
5)查询当天修改过的文件
# find ./ -mtime -1 -type f -exec ls -l {} \;
6)查询文件并询问是否要显示
# find ./ -mtime -1 -type f -ok ls -l {} \; < ls … ./classDB.inc.php > ? y -rw-r–r– 1 cnscn cnscn 13709 1月 12 12:22 ./classDB.inc.php # find ./ -mtime -1 -type f -ok ls -l {} \; < ls … ./classDB.inc.php > ? n
关于 有没有 -print 的区别
加 -print
查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)
find /home -type d -print -exec ls {} \;
不加 -print
相关推荐:《Linux视频教程》
以上是linux find指令怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux操作系統的5個核心組件是:1.內核,2.系統庫,3.系統工具,4.系統服務,5.文件系統。這些組件協同工作,確保系統的穩定和高效運行,共同構成了一個強大而靈活的操作系統。

Linux的五個核心元素是:1.內核,2.命令行界面,3.文件系統,4.包管理,5.社區與開源。這些元素共同定義了Linux的本質和功能。

Linux用戶管理和安全性可以通過以下步驟實現:1.創建用戶和組,使用命令如sudouseradd-m-gdevelopers-s/bin/bashjohn。 2.批量創建用戶和設置密碼策略,使用for循環和chpasswd命令。 3.檢查和修復常見錯誤,如家目錄和shell設置。 4.實施最佳實踐,如強密碼策略、定期審計和最小權限原則。 5.優化性能,使用sudo和調整PAM模塊配置。通過這些方法,可以有效管理用戶和提升系統安全性。

Linux文件系統和進程管理的核心操作包括文件系統的管理和進程的控制。 1)文件系統操作包括創建、刪除、複製和移動文件或目錄,使用命令如mkdir、rmdir、cp和mv。 2)進程管理涉及啟動、監控和終止進程,使用命令如./my_script.sh&、top和kill。

Shell腳本是Linux系統中用於自動化執行命令的強大工具。 1)Shell腳本通過解釋器逐行執行命令,處理變量替換和條件判斷。 2)基本用法包括備份操作,如使用tar命令備份目錄。 3)高級用法涉及使用函數和case語句管理服務。 4)調試技巧包括使用set-x開啟調試模式和set-e在命令失敗時退出。 5)性能優化建議避免子Shell,使用數組和優化循環。

Linux是一個基於Unix的多用戶、多任務操作系統,強調簡單性、模塊化和開放性。其核心功能包括:文件系統:以樹狀結構組織,支持多種文件系統如ext4、XFS、Btrfs,使用df-T查看文件系統類型。進程管理:通過ps命令查看進程,使用PID管理進程,涉及優先級設置和信號處理。網絡配置:靈活設置IP地址和管理網絡服務,使用sudoipaddradd配置IP。這些功能在實際操作中通過基本命令和高級腳本自動化得以應用,提升效率並減少錯誤。

進入Linux維護模式的方法包括:1.編輯GRUB配置文件,添加"single"或"1"參數並更新GRUB配置;2.在GRUB菜單中編輯啟動參數,添加"single"或"1"。退出維護模式只需重啟系統。通過這些步驟,你可以在需要時快速進入維護模式,並安全地退出,確保系統的穩定性和安全性。

Linux的核心組件包括內核、shell、文件系統、進程管理和內存管理。 1)內核管理系統資源,2)shell提供用戶交互界面,3)文件系統支持多種格式,4)進程管理通過fork等系統調用實現,5)內存管理使用虛擬內存技術。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3漢化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。