对于想了解Linux查找文件命令的读者,本文将是一篇不可错过的文章,我们将详细介绍linux查找文件命令grep,并且为您提供关于linuxfind命令查找文件和文件夹、linuxfind命令如何查找
对于想了解Linux 查找文件命令的读者,本文将是一篇不可错过的文章,我们将详细介绍linux查找文件命令grep,并且为您提供关于linux find 命令查找文件和文件夹、linux find命令如何查找文件、Linux fing cd 查找文件 / 文件夹并进入目录命令、linux whereis命令查找文件位置的有价值信息。
本文目录一览:- Linux 查找文件命令(linux查找文件命令grep)
- linux find 命令查找文件和文件夹
- linux find命令如何查找文件
- Linux fing cd 查找文件 / 文件夹并进入目录命令
- linux whereis命令查找文件位置
Linux 查找文件命令(linux查找文件命令grep)
查找文件命令
- 查找文件命令
- find命令
- find命令的常用选项
- find命令结合通配符的使用
- find命令的使用
- 扩展
查找文件命令
find命令
命令 | 说明 |
---|---|
find | 在指定目录下查找文件(包括目录) |
find命令的常用选项
选项 | 说明 |
---|---|
-name name,-iname name | 文件名称符合 name 的文件,iname 会忽略大小写 |
-mount, -xdev | 只检查和指定目录在同一个文件系统下的文件,避免列出其他文件系统中的文件 |
-amin n | 在过去 n 分钟内被读取过 |
-anewer file | 比文件 file 更晚被读取过的文件 |
-atime n | 在过去n天内被读取过的文件 |
-cmin n | 在过去 n 分钟内被修改过 |
-ctime n | 在过去 n 天内被修改过的文件 |
-type c | 文件类型是 c 的文件,d:目录,c:字型装置文件,b:区块装置文件,p:具名贮列,f:一般文件,l:符号连结 |
find命令结合通配符的使用
通配符:是一种特殊语句
通配符 | 说明 |
---|---|
* | 代表0个或多个任意字符 |
? | 代表任意一个字符 |
find命令的使用
- 查找当前目录下的所有文本文件
find . -name ''*.txt''
- 查看当前目录下的一般文件
find . -type f
扩展
通配符不仅能结合 find
命令使用,还可以结合其它命令使用, 比如: ls
、mv
、cp
等,这里需要注意只有 find
命令使用通配符时需要加上引号。
linux find 命令查找文件和文件夹
查找目录:find /(查找范围) -name ''查找关键字'' -type d
查找文件:find /(查找范围) -name 查找关键字 -print
详解:
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法
find(选项)(参数)
选项
-amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
-cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-daystart:从本日开始计算时间;
-depth:从指定目录下最深层的子目录开始查找;
-expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-false:将find指令的回传值皆设为False;
-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
-follow:排除符号连接;
-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
-fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
-gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
-group<群组名称>:查找符合指定之群组名称的文件或目录;
-help或——help:在线帮助;
-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-inum<inode编号>:查找符合指定的inode编号的文件或目录;
-ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
-iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
-links<连接数目>:查找符合指定的硬连接数目的文件或目录;
-iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
-ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;
-maxdepth<目录层级>:设置最大目录层级;
-mindepth<目录层级>:设置最小目录层级;
-mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mount:此参数的效果和指定“-xdev”相同; -mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算; -name<范本样式>:指定字符串作为寻找文件或目录的范本样式; -newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录; -nogroup:找出不属于本地主机群组识别码的文件或目录; -noleaf:不去考虑目录至少需拥有两个硬连接存在; -nouser:找出不属于本地主机用户识别码的文件或目录; -ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令; -path<范本样式>:指定字符串作为寻找目录的范本样式; -perm<权限数值>:查找符合指定的权限数值的文件或目录; -print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串; -print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行; -printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定; -prune:不寻找字符串作为寻找文件或目录的范本样式; -regex<范本样式>:指定字符串作为寻找文件或目录的范本样式; -size<文件大小>:查找符合指定的文件大小的文件; -true:将find指令的回传值皆设为True; -typ<文件类型>:只寻找符合指定的文件类型的文件; -uid<用户识别码>:查找符合指定的用户识别码的文件或目录; -used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算; -user<拥有者名称>:查找符和指定的拥有者名称的文件或目录; -version或——version:显示版本信息; -xdev:将范围局限在先行的文件系统中; -xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。
参数
起始目录:查找文件的起始目录。
实例
根据文件或者正则表达式进行匹配
列出当前目录及子目录下所有文件和文件夹
find .
在/home
目录下查找以.txt结尾的文件名
find /home -name "*.txt"
同上,但忽略大小写
find /home -iname "*.txt"
当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find . \( -name "*.txt" -o -name "*.pdf" \)
或
find . -name "*.txt" -o -name "*.pdf"
匹配文件路径或者文件
find /usr/ -path "*local*"
基于正则表达式匹配文件路径
find . -regex ".*\(\.txt\|\.pdf\)$"
同上,但忽略大小写
find . -iregex ".*\(\.txt\|\.pdf\)$"
否定参数
找出/home下不是以.txt结尾的文件
find /home ! -name "*.txt"
根据文件类型进行搜索
find . -type 类型参数
类型参数列表:
- f 普通文件
- l 符号连接
- d 目录
- c 字符设备
- b 块设备
- s 套接字
- p Fifo
基于目录深度搜索
向下最大深度限制为3
find . -maxdepth 3 -type f
搜索出深度距离当前目录至少2个子目录的所有文件
find . -mindepth 2 -type f
根据文件时间戳进行搜索
find . -type f 时间戳
UNIX/Linux文件系统每个文件都有三种时间戳:
- 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
- 修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
- 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
搜索最近七天内被访问过的所有文件
find . -type f -atime -7
搜索恰好在七天前被访问过的所有文件
find . -type f -atime 7
搜索超过七天内被访问过的所有文件
find . -type f -atime +7
搜索访问时间超过10分钟的所有文件
find . -type f -amin +10
找出比file.log修改时间更长的所有文件
find . -type f -newer file.log
根据文件大小进行匹配
find . -type f -size 文件大小单元
文件大小单元:
- b —— 块(512字节)
- c —— 字节
- w —— 字(2字节)
- k —— 千字节
- M —— 兆字节
- G —— 吉字节
搜索大于10KB的文件
find . -type f -size +10k
搜索小于10KB的文件
find . -type f -size -10k
搜索等于10KB的文件
find . -type f -size 10k
删除匹配文件
删除当前目录下所有.txt文件
find . -type f -name "*.txt" -delete
根据文件权限/所有权进行匹配
当前目录下搜索出权限为777的文件
find . -type f -perm 777
找出当前目录下权限不是644的php文件
find . -type f -name "*.php" ! -perm 644
找出当前目录用户tom拥有的所有文件
find . -type f -user tom
找出当前目录用户组sunk拥有的所有文件
find . -type f -group sunk
借助-exec
选项与其他命令结合使用
找出当前目录下所有root的文件,并把所有权更改为用户tom
find .-type f -user root -exec chown tom {} \;
上例中,{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名。
找出自己家目录下所有的.txt文件并删除
find $HOME/. -name "*.txt" -ok rm {} \;
上例中,-ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。
查找当前目录下所有.txt文件并把他们拼接起来写入到all.txt文件中
find . -type f -name "*.txt" -exec cat {} \;> all.txt
将30天前的.log文件移动到old目录中
find . -type f -mtime +30 -name "*.log" -exec cp {} old \;
找出当前目录下所有.txt文件并以“File:文件名”的形式打印出来
find . -type f -name "*.txt" -exec printf "File: %s\n" {} \;
因为单行命令中-exec参数中无法使用多个命令,以下方法可以实现在-exec之后接受多条命令
-exec ./text.sh {} \;
搜索但跳出指定的目录
查找当前目录或者子目录下所有.txt文件,但是跳过子目录sk
find . -path "./sk" -prune -o -name "*.txt" -print
find其他技巧收集
要列出所有长度为零的文件
find . -empty
linux find命令如何查找文件
使用 find 命令在 linux 中查找文件:基本用法:find . -name file.txt,查找当前目录中名为 "file.txt" 的文件。高级用法:find 命令还支持 -type、-size、-mtime 和 -exec 等高级选项,以实现更细致的搜索。示例:find . -size +1g 查找大于 1gb 的文件;find . -mtime -7 -name ''*.pdf'' 查找最近 7 天内修改过的所有 pdf 文件;find . -type d -empty 查找所有空目
如何使用 Linux find 命令查找文件
find 命令是 Linux 中用于查找文件的强大工具,它提供了多种搜索参数和选项来满足不同的需求。
基本用法:
要查找当前目录中的名为 "file.txt" 的文件,可以使用以下命令:
点击下载“修复打印机驱动工具”;
find . -name file.txt
其中:
- . 指定要从当前目录开始搜索。
- -name 指定要根据文件名进行搜索。
高级用法:
find 命令还支持以下高级选项:
- -type:根据文件类型搜索(例如 -type d 查找目录)。
- -size:根据文件大小搜索(例如 -size +100M 查找大于 100MB 的文件)。
- -mtime:根据文件修改时间搜索(例如 -mtime -1 查找在过去 24 小时内修改的文件)。
- -exec:在找到文件后执行命令(例如 -exec rm {} \; 删除找到的文件)。
示例:
- 查找当前目录中大于 1GB 的文件:
find . -size +1G
- 查找最近 7 天内修改过的所有 PDF 文件:
find . -mtime -7 -name ''*.pdf''
- 查找所有空目录:
find . -type d -empty
- 删除当前目录中所有名为 "temp" 的文件:
find . -name temp -exec rm {} \;
注意事项:
- 记住转义特殊字符(例如 * 和 ?),否则可能会导致错误。
- 使用 -print 选项在结果中打印文件的完整路径。
- 使用 -exec 选项时,确保命令以分号 (;) 结尾。
以上就是
Linux fing cd 查找文件 / 文件夹并进入目录命令
查找文件 | 文件夹并进入目录命令:cd $()
[root@localhost /]# cd $(dirname "`find /-name ''ifcfg-ens33''`") // 查找 ifcfg-ens33 文件并进入该文件所在目录
[root@localhost network-scripts]#
[root@localhost /]# mkdir -p /etc/sysconfig/network-scripts/kings-dev
[root@localhost ~]# cd $(dirname "`find /-name ''kings-dev''`") // 查找 kings-dev 文件夹并进入该文件夹上层目录
[root@localhost network-scripts]#
[root@localhost ~]# cd $(find /-name ''kings-dev'') // 查找 kings-dev 文件夹并进入该文件夹目录
[root@localhost kings-dev]#
[root@localhost src]# du -alh
1.9M ./redis-5.0.5.tar.gz
1.9M .
[root@localhost src]# cd $(dirname `tar -zxvf redis-5.0.5.tar.gz`) // 解压 redis-5.0.5.tar.gz 进入解压目录
[root@localhost redis-5.0.5]#
总结
cd $(dirname "`find /-name ''*file or dirname''`") // 查找 xxxx 文件并进入该文件所在目录或文件夹并进入该文件夹上层目录
cd $(find /-name ''dirname'') // 查找 xxxx 文件夹并进入该文件夹目录
cd $(dirname "`tar -zxvf xxxx.tar.gz`") // 方式 1:解压源文件进入解压目录通用
cd $(dirname `tar -zxvf xxxx.tar.gz`) // 方式 2:解压源文件进入解压目录通用
cd $(dirname "$(tar -zxvf xxxx.tar.gz)") // 方式 1-2:解压源文件进入解压目录通用
cd $(dirname $(tar -zxvf xxxxtar.gz)) // 方式 2-2:解压源文件进入解压目录通用
[root@localhost src]# cd $(dirname "`tar -zxvf apache-tomcat-8.5.46.tar.gz`")
[root@localhost conf]# pwd
/usr/local/src/apache-tomcat-8.5.46/conf
[root@localhost src]# cd $(dirname `tar -zxvf apache-tomcat-8.5.46.tar.gz`)
[root@localhost apache-tomcat-8.5.46]# pwd
/usr/local/src/apache-tomcat-8.5.46
[root@localhost src]# cd $(dirname "`tar -zxvf redis-5.0.5.tar.gz`")
[root@localhost redis-5.0.5]# pwd
/usr/local/src/redis-5.0.5
[root@localhost src]# cd $(dirname "`tar -zxvf nginx-1.17.3.tar.gz`")
[root@localhost nginx-1.17.3]# pwd
/usr/local/src/nginx-1.17.3
[root@localhost src]# cd $(dirname "`tar -zxvf libzip-1.5.2.tar.gz`")
[root@localhost libzip-1.5.2]# pwd
/usr/local/src/libzip-1.5.2
[root@localhost src]# tar -zxvf nginx-1.17.3.tar.gz ;cd `basename -s .tar.gz nginx-1.17.3.tar.gz`
[root@localhost nginx-1.17.3]# pwd
/usr/local/src/nginx-1.17.3
[root@localhost src]# cd $(dirname "$(tar -zxvf apache-tomcat-8.5.46.tar.gz)")
[root@localhost conf]# pwd
/usr/local/src/apache-tomcat-8.5.46/conf
[root@localhost src]# cd $(dirname "$(tar -zxvf redis-5.0.5.tar.gz)")
[root@localhost redis-5.0.5]# pwd
/usr/local/src/redis-5.0.5
[root@localhost src]# cd $(dirname $(tar -zxvf apache-tomcat-8.5.46.tar.gz))
[root@localhost apache-tomcat-8.5.46]# pwd
/usr/local/src/apache-tomcat-8.5.46
排除Download.sh和Download_LNMP.sh文件进行统计当前目录文件数:ls -lh;find ./*|grep -v .''file1\|file2\|file3\|...\|...\|''|wc -l
[root@localhost src]# ls -lh;find ./*|grep -v ''Down*''|wc -l
total 120M
-rw-r--r-- 1 root root 7.5M Oct 8 04:14 boost_1_71_0.tar.gz
-rw-r--r-- 1 root root 8.9M Oct 2 10:45 cmake-3.15.4.tar.gz
-rw-r--r-- 1 root root 1.1K Oct 8 03:57 Download_LNMP.txt
-rw-r--r-- 1 root root 1.2K Oct 8 03:56 Download.sh
-rw-r--r-- 1 root root 3.3M Mar 15 2019 freetype-2.10.0.tar.gz
-rw-r--r-- 1 root root 1005K Mar 27 2018 jpegsrc.v9c.tar.gz
-rw-r--r-- 1 root root 3.2M Aug 30 2017 libgd-2.2.5.tar.gz
-rw-r--r-- 1 root root 1.3M Feb 19 2007 libmcrypt-2.5.8.tar.gz
-rw-r--r-- 1 root root 1.5M Oct 8 03:58 libpng-1.6.37.tar.gz
-rw-r--r-- 1 root root 47M Oct 8 04:37 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root 1009K Aug 13 13:01 nginx-1.16.1.tar.gz
-rw-r--r-- 1 root root 7.0M Oct 8 04:25 openssl-1.1.1d.tar.gz
-rw-r--r-- 1 root root 2.0M Oct 8 03:57 pcre-8.43.tar.gz
-rw-r--r-- 1 root root 11M Oct 8 04:04 php-7.3.10.tar.gz
-rw-r--r-- 1 root root 1.8M Oct 8 03:58 t1lib-5.1.2.tar.gz
-rw-r--r-- 1 root root 2.3M Nov 10 2018 tiff-4.0.10.tar.gz
-rw-r--r-- 1 root root 2.8M Oct 8 03:59 v1.8.1
-rw-r--r-- 1 root root 1.5M Aug 11 2014 yasm-1.3.0.tar.gz
-rw-r--r-- 1 root root 594K Jan 15 2017 zlib-1.2.11.tar.gz
17
[root@localhost src]# ls -lh;find ./*|grep -v ''D*.sh\|D*.txt''|wc -l
total 120M
-rw-r--r-- 1 root root 7.5M Oct 8 04:14 boost_1_71_0.tar.gz
-rw-r--r-- 1 root root 8.9M Oct 2 10:45 cmake-3.15.4.tar.gz
-rw-r--r-- 1 root root 1.1K Oct 8 03:57 Download_LNMP.txt
-rw-r--r-- 1 root root 1.2K Oct 8 03:56 Download.sh
-rw-r--r-- 1 root root 3.3M Mar 15 2019 freetype-2.10.0.tar.gz
-rw-r--r-- 1 root root 1005K Mar 27 2018 jpegsrc.v9c.tar.gz
-rw-r--r-- 1 root root 3.2M Aug 30 2017 libgd-2.2.5.tar.gz
-rw-r--r-- 1 root root 1.3M Feb 19 2007 libmcrypt-2.5.8.tar.gz
-rw-r--r-- 1 root root 1.5M Oct 8 03:58 libpng-1.6.37.tar.gz
-rw-r--r-- 1 root root 47M Oct 8 04:37 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root 1009K Aug 13 13:01 nginx-1.16.1.tar.gz
-rw-r--r-- 1 root root 7.0M Oct 8 04:25 openssl-1.1.1d.tar.gz
-rw-r--r-- 1 root root 2.0M Oct 8 03:57 pcre-8.43.tar.gz
-rw-r--r-- 1 root root 11M Oct 8 04:04 php-7.3.10.tar.gz
-rw-r--r-- 1 root root 1.8M Oct 8 03:58 t1lib-5.1.2.tar.gz
-rw-r--r-- 1 root root 2.3M Nov 10 2018 tiff-4.0.10.tar.gz
-rw-r--r-- 1 root root 2.8M Oct 8 03:59 v1.8.1
-rw-r--r-- 1 root root 1.5M Aug 11 2014 yasm-1.3.0.tar.gz
-rw-r--r-- 1 root root 594K Jan 15 2017 zlib-1.2.11.tar.gz
17
-exec CMD:正在搜索的文件符合以上条件,并且返回0作为成功执行命令的退出状态。
-ok CMD:它与-exec相同,除了首先提示用户。
-inum N:搜索索引号为“ N”的文件。
-links N:搜索带有“ N”个链接的文件。
-name demo:搜索“ demo”指定的文件。
-newer file:搜索在“文件”之后修改/创建的文件。
-perm octal:如果权限为“八进制”,则搜索文件。
-print:显示使用其余条件找到的文件的路径名。
-empty:搜索空文件和目录。
-size + N / -N:搜索“ N”个块的文件;“ N”后跟“ c”可用于测量字符大小;''+ N''表示大小>''N''个块,''-N''表示大小<''N''个块。
-用户名:搜索由用户名或ID“名称”拥有的文件。
\(expr \):如果''expr''为true,则为true; 用于与OR或AND组合的分组条件。
!expr:如果''expr''为假,则为true。
Find是Unix(或Linux)的功能强大的实用程序之一,用于在目录层次结构中搜索文件。find命令的语法是
查找 [路径名] [条件]
1.如何运行最后执行的find命令?
!find
这将执行最后一个find命令。它还在终端上显示最后执行的find命令以及结果。
2.如何使用名称查找文件?
find -name "sum.java"
./bkp/sum.java
./sum.java
这将在当前目录和子目录中找到所有名称为“ sum.java”的文件。
3.如何使用名称和忽略大小写查找文件?
find -iname "sum.java"
./SUM.java
./bkp/sum.java
./sum.java
这将查找名称为“ sum.java”的所有文件,而忽略当前目录和子目录中的大小写。
4.如何仅在当前目录中查找文件?
find -maxdepth 1 -name "sum.java"
./sum.java
这将仅在当前目录中找到文件“ sum.java”
5.如何查找名称中包含特定单词的文件?
find -name "*java*"
./SUM.java
./bkp/sum.java
./sum.java
./multiply.java
它显示了文件名
6.中所有带有单词“ java”的文件。如何在特定目录中查找文件?
find /etc -name "*java*"
这将在/ etc目录中的文件名中查找带有“ java”的文件。
7.如何查找名称不是“ sum.java”的文件?
find -not -name "sum.java"
.
./SUM.java
./bkp
./multiply.java
这就像反转比赛一样。它将打印除给定文件“ sum.java”以外的所有文件。
8.如何将文件搜索限制为特定目录?
find -name "sum.java"
./tmp/sum.java
./bkp/var/tmp/files/sum.java
./bkp/var/tmp/sum.java
./bkp/var/sum.java
./bkp/sum.java
./sum.java
您可以在这里看到find命令在当前目录和子目录中显示了所有名称为“ sum.java”的文件。
a.如何打印当前目录中的文件并向下一级打印到当前目录?
find -maxdepth 2 -name "sum.java"
./tmp/sum.java
./bkp/sum.java
./sum.java
b.如何打印当前目录中的文件以及向下两级打印到当前目录?
find -maxdepth 3 -name "sum.java"
./tmp/sum.java
./bkp/var/sum.java
./bkp/sum.java
./sum.java
c.如何在1级和4级之间的子目录中打印文件?
find -mindepth 2 -maxdepth 5 -name "sum.java"
./tmp/sum.java
./bkp/var/tmp/files/sum.java
./bkp/var/tmp/sum.java
./bkp/var/sum.java
./bkp/sum.java
9.如何在目录中查找空文件?
find . -maxdepth 1 -empty
./empty_file
10.如何在当前目录和子目录中查找最大的文件
find . -type f -exec ls -s {} \; | sort -n -r | head -1
查找命令“查找。-type f -exec ls -s {} \;” 将列出所有文件以及文件的大小。然后,sort命令将根据大小对文件进行排序。head命令将仅从sort输出中选择第一行。
11.如何在当前目录和子目录中查找最小的文件
find . -type f -exec ls -s {} \; | sort -n -r | tail -1
使用find的另一种方法是
find . -type f -exec ls -s {} \; | sort -n | head -1
12.如何根据文件类型查找文件?
a.查找套接字文件
find . -type s
b.查找目录
find . -type d
C.查找隐藏目录
find -type d -name ".*"
d.查找常规文件
find . -type f
e.查找隐藏文件
find . -type f -name ".*"
13.如何根据大小查找文件?
a.查找大小恰好为10M的文件
find . -size 10M
B.查找大于10M的文件
find . -size +10M
C.查找小于10M的文件
find . -size -10M
14.如何查找在给定文件修改后被修改的文件。
find -newer "sum.java"
15.这将显示在文件“ sum.java”之后修改的所有文件。15
find -anewer "sum.java"
16.显示修改给定文件后更改的文件。
find -cnewer "sum.java"
17.如何根据文件权限查找文件?
find . -perm 777
这将显示具有读取,写入和执行权限的文件。要了解文件和目录的权限,请使用命令“ ls -l”。
18.查找在30分钟内修改的文件。
find . -mmin -30
19.查找在1天内修改的文件。
find . -mtime -1
20. 30分钟后如何找到被修改的文件
find . -not -mmin -30
21.如何找到1天后修改的文件。
find . -not -mtime -1
22.打印在1小时内访问的文件。
find . -amin -60
23.打印在1天内访问的文件。
find . -atime -1
24.显示在2小时内更改的文件。
find . -cmin -120
25.显示2天内更改的文件。
find . -ctime -2
26.如何查找在两个文件之间创建的文件。
find . -cnewer f1 -and ! -cnewer f2
到目前为止,我们仅找到文件并显示在终端上。现在,我们将看到如何对文件执行一些操作。
1.如何查找包含名称“ java”的文件的权限?
find -name "*java*"|xargs ls -l
替代方法是
find -name "*java*" -exec ls -l {} \;
2.查找其中名称为“ java”的文件,然后仅显示其中包含“类”字的文件?
find -name "*java*" -exec grep -H class {} \;
3.如何删除包含名称“ java”的文件。
find -name "*java*" -exec rm -r {} \;
参考连接:
https://www.folkstalk.com/2011/12/101-examples-of-using-find-command-in.html
linux whereis命令查找文件位置
一、whereis命令用法说明
功能说明:查找文件。
语 法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
补充说明:
whereis指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。
参 数:
-b 只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
二、linux whereis命令
linux whereis命令用于查找文件。
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
语法
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
参数:
-b 只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
实例
使用指令"whereis"查看指令"bash"的位置,输入如下命令:
$ whereis bash
上面的指令执行后,输出信息如下所示:
bash:/bin/bash/etc/bash.bashrc/usr/share/man/man1/bash.1.gz
注意:以上输出信息从左至右分别为查询的程序名、bash路径、bash的man 手册页路径。
如果用户需要单独查询二进制文件或帮助文件,可使用如下命令:
$ whereis -b bash
$ whereis -m bash
输出信息:
$ whereis -b bash #显示bash 命令的二进制程序
bash: /bin/bash /etc/bash.bashrc /usr/share/bash # bash命令的二进制程序的地址
$ whereis -m bash #显示bash 命令的帮助文件
bash: /usr/share/man/man1/bash.1.gz #bash命令的帮助文件地址
三、whereis和which用法
1、linux whereis 命令详解
功能说明:查找文件。
语 法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
补充说明:whereis指令会在特定目录中查找符合条件的文件。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
参 数:
-b 只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
2.linux which 命令详解
功能说明:查找文件。
语 法:which [文件...]
补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
参 数:
-n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息
如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。
免费下载地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter
今天关于Linux 查找文件命令和linux查找文件命令grep的分享就到这里,希望大家有所收获,若想了解更多关于linux find 命令查找文件和文件夹、linux find命令如何查找文件、Linux fing cd 查找文件 / 文件夹并进入目录命令、linux whereis命令查找文件位置等相关知识,可以在本站进行查询。
本文标签: