一、find查找目錄名
在Linux操作系統下,使用find命令可以查找指定目錄及其子目錄中的文件和目錄名。
以下是查找根目錄下所有名字為「test」的目錄和文件的語法:
find / -name test
其中,「/」表示從根目錄開始查找,「-name」後接要查找的名稱。
如果要忽略大小寫,可以使用「-iname」參數。
例如,查找/home目錄下所有名字為「test」的目錄和文件,忽略大小寫:
find /home -iname test
二、find查找目錄下文件
使用find命令還可以查找指定目錄下的文件。以下是查找當前目錄下所有txt文件的語法:
find . -name "*.txt"
如果要查找所有類型的文件,可以省略「-name」參數。例如,查找當前目錄下的所有文件:
find .
三、find查找目錄及子目錄
使用find命令查找目錄時,默認是查找指定目錄下的文件和目錄。如果要查找指定目錄及其子目錄下的文件和目錄,可以使用「-depth」和「-maxdepth」參數。
以下是查找/home目錄及其子目錄下所有名字為「test」的目錄和文件的語法:
find /home -maxdepth 2 -name test
其中,「maxdepth」參數指定查找的最大深度。上面的語法中,查找深度為2,即查找/home目錄及其直接子目錄下的文件和目錄。
另外,「-depth」參數指定查找順序為深度優先,即先查找子目錄中的文件再查找父目錄中的文件。
四、find查找目錄文件
除了查找目錄和文件名,還可以根據文件類型、許可權等屬性進行查找。以下是查找當前目錄下所有大於10MB的文件的語法:
find . -type f -size +10M
其中,「-type」參數指定查找的類型,f表示文件。還可以查找目錄(d)和鏈接文件(l)等。
「-size」參數指定查找的大小,+表示大於,-表示小於,M表示以MB為單位。
五、find查找目錄的命令
除了查找文件和目錄外,find還支持在查找到的文件上執行命令。以下是在當前目錄下查找所有後綴名為bak的文件,並將它們複製到/home/bak目錄下的語法:
find . -type f -name "*.bak" -exec cp {} /home/bak \;
其中,「-exec」參數後接要執行的命令,{}表示查找到的文件名,\;表示命令結束。
六、find查找目錄忽略路徑
有時候不希望在某些目錄中進行查找,可以使用「-prune」參數忽略這些目錄。
以下是在/home目錄下查找所有名字為test的目錄和文件,但忽略/home/test目錄的語法:
find /home -path /home/test -prune -o -name test
其中,「-path」參數用於指定要忽略的目錄路徑,「-prune」表示忽略該目錄,「-o」表示或者。
七、find查找目錄並刪除
如果需要查找一些無用的文件或目錄並刪除,可以使用「-delete」參數直接刪除查找到的文件或目錄。
以下是刪除當前目錄及其子目錄中所有名字為bak的文件的語法:
find . -type f -name "*.bak" -delete
八、Linux find查找目錄
除了上面介紹的參數外,find還有很多其他有用的參數,如根據修改時間(-mtime)、訪問時間(-atime)、所有者(-user)等查找文件和目錄。
用於查找文件和目錄的Linux find命令是一個非常強大和實用的工具。只需要掌握一些基本參數即可充分利用這個命令帶來的優勢。
九、find命令查找目錄名
當需要查找一個目錄下所有名稱中包含指定字元的目錄時,可以使用如下的語法:
find . -type d -name "*test*"
其中,「-type d」表示只查找目錄,「-name」後面跟上查找的字元即可,星號「*」表示通配符,可以匹配任何字元。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286748.html