一、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-hant/n/286748.html