Linux中find命令有哪些用法

find命令简介

find命令是Linux系统中一个非常实用的文件查找工具,它可以根据文件名、大小、类型、权限等多种条件进行搜索,find命令的基本语法如下:

目前成都创新互联公司已为1000+的企业提供了网站建设、域名、雅安服务器托管网站托管运营、企业网站设计、咸阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

find [路径] [表达式]

[路径]表示要搜索的目录,[表达式]表示搜索条件。

find命令基本用法

1、根据文件名查找文件

find [路径] -name [文件名]

在/home目录下查找名为test.txt的文件:

find /home -name test.txt

2、根据文件大小查找文件

find [路径] -size +[大小]

在/home目录下查找大于1MB的文件:

find /home -size +1M

3、根据文件类型查找文件

find [路径] -type [类型]

在/home目录下查找所有普通文件:

find /home -type f

4、根据文件修改时间查找文件

find [路径] -mtime [时间]

在/home目录下查找最近7天内修改过的文件:

find /home -mtime -7

5、根据文件访问时间查找文件(仅适用于ext3及以下的文件系统)

find [路径] -atime [时间]

在/home目录下查找最近7天内访问过的文件:

find /home -atime -7

6、根据文件权限查找文件(仅适用于ext3及以下的文件系统)

find [路径] -perm [权限]

在/home目录下查找所有具有读写权限的文件:

find /home -perm 777

find命令高级用法与技巧

1、结合使用多个搜索条件(使用“|”分隔)

可以通过管道符“|”将多个搜索条件组合在一起,以便在一个命令中完成多个条件的搜索,在/home目录下查找所有名为test.txt且大于1MB的文件:

find /home -name test.txt -size +1M | grep "test"

2、结合使用通配符(*)和正则表达式(使用“[]”括起)

可以使用通配符(*)匹配任意字符序列,也可以使用正则表达式来匹配更复杂的模式,在/home目录下查找所有以“_”开头且以“.txt”结尾的文件:

find /home -name "*_.txt" 2>/dev/null || find /home -regex '.*_.txt$' 2>/dev/null || echo "No such files found!" >&2; exit 1; true; exec bash; _=() { local IFS=$'
' setopt noglob nounset; for i in $(cat); do _["$i"]=1; done; }; [[ ${_["$0"]} == 1 ]] && _['$0']=''; _[command_notfound]=1; _[exec]=1; _[exit]=1; _[dirs]=1; _[files]=1; _[self]=1; _[args]=1; _[params]=1; _[options]=1; _[paths]=1; _[links]=1; _[commands]=1; _[help]=1; _[man]=1; _[info]=1; _[warnings]=1; _[errors]=1; _[debug]=1; __DIRNAME="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"; __FILENAME="${__DIRNAME}/$(basename "${BASH_SOURCE[0]}")"; __LINENO="$(__LINE__)"; __funcname="$(declare --f)"; __all__=(); while read line; do __all__+=("$line"); done < "${__DIRNAME}/functions"; source "${__DIRNAME}/functions"; main() { case "${@}" in *"--"*) printf '%s
' "${@*--}"; shift; xargs --no-run-if-empty --no-keep-destdir --max-unmatched=0 --max-recursion=500000 --xmatch '*' "$@"; return $?; esac; if [[ "${@}" =~ (^|s)(help|man|info|warnings|errors|debug)$|^([^=]+)=(.*)$ ]]; then case "${BASH_VERSION%%.*}" in x*) echo >&2 "${FUNCNAME[0]}: unsupported version of Bash (${BASH_VERSION})"; exit 64; exit $?; esac; case "${2}" in help|man) echo >&2 "Usage: ${FUNCNAME[0]} ${@--}"; man "${@--}"; exit $?; esac; case "${3}" in info|warnings|errors|debug) echo >&2 "${FUNCNAME[0]}: invalid option "${3}""; exit $?; esac; return $?; else echo >&2 "Invalid arguments: "${@}""; exit $?; fi}; main "$@"; exit $?; exec bash -c "main "$@""; exec bash --norc --noprofile --norc <
                                                                    

网站标题:Linux中find命令有哪些用法
文章网址:http://www.shufengxianlan.com/qtweb/news40/250540.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联