31个实用linuxfind命令的案例
-
以下是31个实用的Linux find命令的案例:
1. 查找特定文件名:find /path/to/directory -name “filename”
2. 查找包含特定字符串的文件:grep -r “string” /path/to/directory
3. 查找特定文件类型:find /path/to/directory -type f -name “*.txt”
4. 查找特定文件大小:find /path/to/directory -size +10M
5. 查找空文件或空目录:find /path/to/directory -empty
6. 查找最近修改过的文件:find /path/to/directory -mtime -7
7. 查找最近访问过的文件:find /path/to/directory -atime -7
8. 查找所有隐藏文件:find /path/to/directory -name “.*”
9. 查找当前用户拥有的文件:find /path/to/directory -user username
10. 查找特定权限的文件:find /path/to/directory -perm 644
11. 查找包含特定权限的文件:find /path/to/directory -perm /u=w
12. 查找符号链接文件:find /path/to/directory -type l
13. 查找所有文件并打印文件路径:find /path/to/directory -type f -print
14. 查找文件并执行特定操作:find /path/to/directory -name “filename” -exec command {} \;
15. 查找文件并通过xargs执行命令:find /path/to/directory -name “filename” | xargs command
16. 查找文件并删除:find /path/to/directory -name “filename” -delete
17. 查找文件并复制到其他目录:find /path/to/directory -name “filename” -exec cp {} /path/to/destination \;
18. 查找文件并移动到其他目录:find /path/to/directory -name “filename” -exec mv {} /path/to/destination \;
19. 查找文件并压缩:find /path/to/directory -name “filename” -exec tar -czvf archive.tar.gz {} \;
20. 查找文件并解压缩:find /path/to/directory -name “archive.tar.gz” -exec tar -xzvf {} \;
21. 查找文件并修改权限:find /path/to/directory -name “filename” -exec chmod 644 {} \;
22. 查找文件并修改所有者:find /path/to/directory -name “filename” -exec chown username {} \;
23. 查找文件并修改组:find /path/to/directory -name “filename” -exec chgrp groupname {} \;
24. 查找文件并打印文件大小:find /path/to/directory -name “filename” -exec du -h {} \;
25. 查找文件并打印文件类型:find /path/to/directory -name “filename” -exec file {} \;
26. 查找文件并统计行数:find /path/to/directory -name “filename” -exec wc -l {} \;
27. 查找文件并统计单词数:find /path/to/directory -name “filename” -exec wc -w {} \;
28. 查找文件并统计字符数:find /path/to/directory -name “filename” -exec wc -c {} \;
29. 查找文件并替换字符串:find /path/to/directory -type f -exec sed -i ‘s/string/replacement/g’ {} \;
30. 查找文件并按文件大小排序:find /path/to/directory -type f -exec ls -lh {} \; | sort -k 5 -r
31. 查找文件并按文件类型排序:find /path/to/directory -type f -print0 | xargs -0 file | awk -F: ‘{print $1 “\t” $2}’ | sort -k 2
2年前 -
Linux中的find命令是一个非常强大且实用的工具,用于在文件系统中搜索文件和目录。以下是31个实用的find命令案例:
1. 查找特定文件: find /path/to/search -name “filename”
这个命令用于在指定路径中按照文件名查找文件。2. 查找特定类型的文件: find /path/to/search -type f
这个命令用于在指定路径中查找文件类型,例如常见的文件类型如下:
– f : 普通文件
– d : 目录
– l : 符号链接
– b : 块设备文件
– c : 字符设备文件
– p : 命名管道 (FIFO)
– s : 套接字文件3. 查找特定权限的文件: find /path/to/search -perm 644
这个命令用于在指定路径中查找权限为644的文件。4. 查找大于或小于指定大小的文件: find /path/to/search -size +1M
这个命令用于在指定路径中查找大于1MB的文件。如果要查找小于1MB的文件,则将+1M替换为-1M。5. 查找最近修改的文件: find /path/to/search -mtime -1
这个命令用于在指定路径中查找最近一天内修改的文件。如果要查找最近两天或三天内修改的文件,只需将-1替换为-2或-3。6. 查找空文件或空目录: find /path/to/search -empty
这个命令用于在指定路径中查找空文件或空目录。7. 查找属于特定用户或组的文件: find /path/to/search -user username 或 find /path/to/search -group groupname
这个命令用于在指定路径中查找属于特定用户或组的文件。8. 查找隐藏文件: find /path/to/search -name “.*”
这个命令用于在指定路径中查找隐藏文件。9. 查找符号链接文件: find /path/to/search -type l
这个命令用于在指定路径中查找符号链接文件。10. 查找非符号链接文件: find /path/to/search -type f ! -type l
这个命令用于在指定路径中查找非符号链接文件。11. 查找在特定时间范围内创建或访问的文件: find /path/to/search -newermt “2022-01-01” ! -newermt “2022-02-01”
这个命令用于在指定路径中查找在2022年1月1日到2022年2月1日期间创建或访问的文件。12. 查找特定深度的目录: find /path/to/search -type d -depth 3
这个命令用于在指定路径中查找深度为3的目录。13. 查找不可写文件: find /path/to/search ! -writable
这个命令用于在指定路径中查找不可写的文件。14. 查找最近访问的文件: find /path/to/search -atime -1
这个命令用于在指定路径中查找最近一天内访问的文件。15. 查找特定后缀名的文件: find /path/to/search -name “*.txt”
这个命令用于在指定路径中查找以”.txt”为后缀名的文件。16. 查找特定权限的目录: find /path/to/search -type d -perm 755
这个命令用于在指定路径中查找权限为755的目录。17. 查找具有特定访问权限的文件: find /path/to/search -perm -o=w
这个命令用于在指定路径中查找具有写访问权限的文件。18. 查找特定时间范围内修改的文件: find /path/to/search -mtime 7 -30
这个命令用于在指定路径中查找最近7到30天内修改的文件。19. 查找特定用户所拥有的文件: find /path/to/search -user username
这个命令用于在指定路径中查找属于特定用户的文件。20. 查找特定组所拥有的文件: find /path/to/search -group groupname
这个命令用于在指定路径中查找属于特定组的文件。21. 查找在指定时间范围内访问过的文件: find /path/to/search -atime +7 -mtime -7
这个命令用于在指定路径中查找最近访问过的文件,时间范围为7天以前的访问时间。22. 查找具有特定权限的符号链接文件: find /path/to/search -type l -perm 777
这个命令用于在指定路径中查找具有权限为777的符号链接文件。23. 查找目录中不包含特定字符串的文件: find /path/to/search -type f -exec grep -L “keyword” {} \;
这个命令用于在指定路径中查找目录下不包含特定字符串的文件。24. 查找大于指定大小且具有特定权限的文件: find /path/to/search -size +1M -perm 777
这个命令用于在指定路径中查找大于1MB且具有权限为777的文件。25. 查找属于特定用户且具有特定权限的文件: find /path/to/search -user username -perm 600
这个命令用于在指定路径中查找属于特定用户且具有权限为600的文件。26. 查找最近修改且属于特定用户的文件: find /path/to/search -mtime -1 -user username
这个命令用于在指定路径中查找最近一天内修改且属于特定用户的文件。27. 查找最近访问的文件并复制到指定目录: find /path/to/search -atime -1 -exec cp {} /path/to/destination \;
这个命令用于在指定路径中查找最近一天内访问的文件并将其复制到指定目录。28. 查找最近修改的文件并重命名: find /path/to/search -mtime -1 -exec mv {} newfilename \;
这个命令用于在指定路径中查找最近一天内修改的文件并将其重命名为新的文件名。29. 查找目录中最大的文件: find /path/to/search -type f -exec du -ch {} + | grep total$
这个命令用于在指定路径中查找目录下最大的文件。30. 查找目录中最小的文件: find /path/to/search -type f -exec du -ch {} + | grep total$ | tail -n 1
这个命令用于在指定路径中查找目录下最小的文件。31. 查找并删除特定类型的文件: find /path/to/search -name “*.tmp” -delete
这个命令用于在指定路径中查找以”.tmp”为后缀名的文件并将其删除。这些是一些常见的实用的find命令案例,通过灵活运用这些命令,可以方便地在Linux系统中查找和处理文件和目录。在实际使用中,可以根据具体需求进行相应的调整和组合。
2年前 -
Linux下的find命令是一个非常强大的工具,用于在文件系统中查找文件和目录。它可以根据用户指定的条件搜索文件,并且可以执行一些操作。
下面是31个实用的Linux find命令案例:
1. 在当前目录下查找名为example.txt的文件:
“`
find . -name example.txt
“`2. 在/home目录下查找所有以.txt结尾的文件:
“`
find /home -name “*.txt”
“`3. 查找当前目录以及其子目录下所有以.txt结尾的文件:
“`
find . -name “*.txt” -type f
“`4. 查找当前目录下所有以.log结尾的文件,并删除它们:
“`
find . -name “*.log” -type f -exec rm {} \;
“`5. 查找当前目录下大于100MB的文件:
“`
find . -size +100M
“`6. 查找当前目录下大于100KB且小于1MB的文件:
“`
find . -size +100k -size -1M
“`7. 查找当前目录及其子目录下所有空目录:
“`
find . -type d -empty
“`8. 查找当前目录及其子目录下大于10天未被访问的文件并删除它们:
“`
find . -atime +10 -type f -exec rm {} \;
“`9. 查找当前目录下所有文件的权限为644的文件:
“`
find . -type f -perm 644
“`10. 查找当前目录下所有文件的权限不是644的文件,并修改为644:
“`
find . -type f ! -perm 644 -exec chmod 644 {} \;
“`11. 查找指定目录下以.gz或.zip结尾的文件:
“`
find /path/to/directory -name “*.gz” -o -name “*.zip”
“`12. 查找指定目录下修改时间在2天之内的文件:
“`
find /path/to/directory -mtime -2
“`13. 查找指定目录下访问时间在1小时之内的文件:
“`
find /path/to/directory -amin -60
“`14. 查找指定目录下更改时间在12个小时以前的文件:
“`
find /path/to/directory -mmin +720
“`15. 查找指定目录下属于user1用户的文件:
“`
find /path/to/directory -user user1
“`16. 查找指定目录下属于group1组的文件,并修改文件权限为644:
“`
find /path/to/directory -group group1 -exec chmod 644 {} \;
“`17. 查找指定目录下大于100MB的文件,并以大小进行排序:
“`
find /path/to/directory -type f -size +100M -exec ls -lh {} \; | sort -k 5
“`18. 查找指定目录下属于user1用户或group1组的文件:
“`
find /path/to/directory \( -user user1 -o -group group1 \)
“`19. 查找指定目录下所有属于user1用户的文件,并将其复制到另外一个目录中:
“`
find /path/to/directory -user user1 -exec cp {} /path/to/another/directory \;
“`20. 查找指定目录下所有以.jpg或.png结尾的文件,并将它们移动到另外一个目录中:
“`
find /path/to/directory \( -name “*.jpg” -o -name “*.png” \) -exec mv {} /path/to/another/directory \;
“`21. 查找指定目录下所有以.txt结尾的文件,并将它们打包成一个压缩文件:
“`
find /path/to/directory -name “*.txt” -exec tar -czvf files.tar.gz {} \;
“`22. 查找指定目录下所有包含某个关键字的文件:
“`
find /path/to/directory -type f -exec grep -l “keyword” {} \;
“`23. 查找指定目录下所有文件的行数:
“`
find /path/to/directory -type f -exec wc -l {} \;
“`24. 查找指定目录下所有文件的字节数:
“`
find /path/to/directory -type f -exec wc -c {} \;
“`25. 查找指定目录下所有文件的大小并按照文件大小进行排序:
“`
find /path/to/directory -type f -exec du -sh {} \; | sort -h
“`26. 查找指定目录下所有以.mp3结尾的文件,并计算它们的总大小:
“`
find /path/to/directory -name “*.mp3” -exec du -ch {} + | grep total$
“`27. 查找指定目录下所有文件中包含某个关键字的行:
“`
find /path/to/directory -type f -exec grep “keyword” {} \;
“`28. 查找指定目录下所有文件中包含某个关键字的行并统计数量:
“`
find /path/to/directory -type f -exec grep -c “keyword” {} \;
“`29. 查找指定目录下所有文件中包含某个关键字的行并打印行号:
“`
find /path/to/directory -type f -exec grep -n “keyword” {} \;
“`30. 查找指定目录下所有文件中包含某个关键字的行并替换为另一个字符串:
“`
find /path/to/directory -type f -exec sed -i ‘s/keyword/replacement/g’ {} \;
“`31. 查找指定目录下所有文件中包含某个关键字的行并删除该行:
“`
find /path/to/directory -type f -exec sed -i ‘/keyword/d’ {} \;
“`
这些例子涵盖的是Linux find命令的常见用法,希望对您有所帮助。您可以根据自己的需求对这些命令进行进一步的修改和组合。请注意,在使用find命令时,务必小心,避免对重要文件进行误操作。2年前