linux shell find 常用用法总结
2017-06-01 20:30
387 查看
find命令的工作方式如下:沿着文件层次结构向下遍历,匹配符合条件的文件,执行相应的操作
* find base_path 列出当前目录及子目录下所有的文件和文件夹
* find . -print/-print0 当使用 -print时, '\n'作为用于对输出的文件名进行分隔(默认);-print0指明使用'\0'作为匹配的文件名之间的定界符
* find . -name/-iname "*.txt" 通过文件名匹配查找,-iname是忽略大小写
* find . \( -name "*.txt" -o -name "*.pdf" \) -print 选项-o用来匹配多个条件
* find /user/name -path "*/password/*" 选项-path用于匹配路径,与-name性质相同
* find . -regex/-iregex ".*\(\.py\|\.sh\)$" 选项-regex用于正则表达式匹配
* find . ! -name "*.txt" -print ! 代表匹配的都不打印
* find . -maxdepth 1 -name "f*" -print 选项-maxdepth用来表示最大的查找深度,1则表示当前的目录 -mindepth表示查找的最小深度,可以两者搭配使用( -maxdepth和-mindepth应该作为find的第三个参数出现, 如果-maxdepth作为第四个参数, -type作为第三个参数, find首先会找出符合-type的所有文件,然后在所有匹配的文件中再找出符合指定深度的那些)
* find . -type d -print 选项 -type 根据文件类型匹配文件,f为file,d为dictionary,l为link,c为chardev,b为blockdev,s为socket,p为FIFO
* find . -type f -atime/-ctime/-mtime +7 -print 选项-atime/-ctime/-mtime 根据各种文件属性的时间选项进行查找
* find . -type f -newer file.txt -print 选项 -newer 查找出所有比对比文件更新的文件
* find . -type f -size -2k/+2k/2k 通过文件大小查找文件
* find . -type f -name "*.swp" -delete 选项-delete用于删除已查找到的文件
* find . -type f -perm 644 -print 打印出权限为644的文件
* find . -type f -user somebody -print 选项-user为拥有者
* find . -type f -name "*.swp" -exec/-ok rm {} \; 对于每一个匹配的文件,{}会被替换成相应的文件名 , -ok 会询问是否执行操作
* find . -type f -name "*.txt" -exec printf "Text file: %s\n" {} \; -exec能够同printf结合来生成有用的输出信息
* find . \( -name ".git" -prune \) -o \( -type f -print \) 选项-prune 不搜索选项,跳过指定目录
* find . -type f -name "*.c" | grep "test" 查找文件名中包含test的文件
* find . -type f -name "*.c" | xargs grep "test" 查找文件中包含test的文件
* find . -type f -name "*.c" | xargs -i cp {} /tmp 选项-i可以让查找到的参数放进{}
* find base_path 列出当前目录及子目录下所有的文件和文件夹
* find . -print/-print0 当使用 -print时, '\n'作为用于对输出的文件名进行分隔(默认);-print0指明使用'\0'作为匹配的文件名之间的定界符
* find . -name/-iname "*.txt" 通过文件名匹配查找,-iname是忽略大小写
* find . \( -name "*.txt" -o -name "*.pdf" \) -print 选项-o用来匹配多个条件
* find /user/name -path "*/password/*" 选项-path用于匹配路径,与-name性质相同
* find . -regex/-iregex ".*\(\.py\|\.sh\)$" 选项-regex用于正则表达式匹配
* find . ! -name "*.txt" -print ! 代表匹配的都不打印
* find . -maxdepth 1 -name "f*" -print 选项-maxdepth用来表示最大的查找深度,1则表示当前的目录 -mindepth表示查找的最小深度,可以两者搭配使用( -maxdepth和-mindepth应该作为find的第三个参数出现, 如果-maxdepth作为第四个参数, -type作为第三个参数, find首先会找出符合-type的所有文件,然后在所有匹配的文件中再找出符合指定深度的那些)
* find . -type d -print 选项 -type 根据文件类型匹配文件,f为file,d为dictionary,l为link,c为chardev,b为blockdev,s为socket,p为FIFO
* find . -type f -atime/-ctime/-mtime +7 -print 选项-atime/-ctime/-mtime 根据各种文件属性的时间选项进行查找
* find . -type f -newer file.txt -print 选项 -newer 查找出所有比对比文件更新的文件
* find . -type f -size -2k/+2k/2k 通过文件大小查找文件
* find . -type f -name "*.swp" -delete 选项-delete用于删除已查找到的文件
* find . -type f -perm 644 -print 打印出权限为644的文件
* find . -type f -user somebody -print 选项-user为拥有者
* find . -type f -name "*.swp" -exec/-ok rm {} \; 对于每一个匹配的文件,{}会被替换成相应的文件名 , -ok 会询问是否执行操作
* find . -type f -name "*.txt" -exec printf "Text file: %s\n" {} \; -exec能够同printf结合来生成有用的输出信息
* find . \( -name ".git" -prune \) -o \( -type f -print \) 选项-prune 不搜索选项,跳过指定目录
* find . -type f -name "*.c" | grep "test" 查找文件名中包含test的文件
* find . -type f -name "*.c" | xargs grep "test" 查找文件中包含test的文件
* find . -type f -name "*.c" | xargs -i cp {} /tmp 选项-i可以让查找到的参数放进{}
相关文章推荐
- [19]_总结一下find_grep_file_which\whereis_gzip\tar等常用命令的用法
- stl.find_if用法总结
- javascript用法总结17种常用方法啊
- [总结]find的一些用法
- Linux Shell常用命令总结
- find 命令-exec,xargs用法的一点总结
- 一组常用的弹出窗口用法总结(转贴)
- Find–atime –ctime –mtime的用法与区别总结
- String常用用法总结
- Linux Shell 常用命令与目录分区的学习总结
- 转 -- 【Shell】【经验】awk sed grep find sort常用配搭用法
- JS中正规表达式的用法以及常用的方法总结
- Linux Shell 常用命令与目录分区的学习总结
- 总结了一些常用的比较细节CSS和HTML代码的用法
- 总结一下find的用法
- GridView的常用用法总结说明
- find的常用方法总结笔记
- Linux Shell 常用命令与目录分区的学习总结
- Linux Shell 常用命令与目录分区的学习总结 (开始学习linux)
- 常用批处理命令总结3之Find和FindStr