Shell/Bash代码信息

运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,不支持键盘输入语句但是拥有更高的运行速度,输出简洁明了 。 点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
shell脚本方式启动Tomcat服务 发布于:2021-03-02 13:59 九九乘法表 发布于:2021-02-24 19:27 shell 基本用法记录 发布于:2021-01-29 11:02 监控cpu、内存,并且告警 发布于:2021-02-04 16:02 接口测试shell脚本 发布于:2021-01-13 16:56 自动生成openssl证书 发布于:2021-01-12 14:23 curl auth ter global 发布于:2020-09-22 11:32 截取命令结果/后面字符 发布于:2020-09-02 08:55 linux- 1.查看系统信息 发布于:2020-08-06 16:26 v2ray-shell 发布于:2020-09-21 16:13 ubuntu 常用命令 发布于:2020-02-22 17:09 又来测试了 发布于:2019-12-25 10:39 The first project of shell 发布于:2019-05-17 14:51 Shell/Bach 时间戳 发布于:2019-04-03 14:17 linux命令查询cpu、内存信息 发布于:2019-02-24 18:59 [更多]
显示目录

find 命令-搜寻硬盘查询文件名称

find 命令

用于在文件树中查找文件,并作出相应的处理。

命令格式:

find pathname \-options \[-print  \-exec  \-ok ...\]

命令参数:

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。
相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,
在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

命令选项:

选项 作用
-name 按照文件名查找文件
-perm 按文件权限查找文件
-user 按文件属主查找文件
-group 按照文件所属的组来查找文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件
d - 目录
c - 字符设备文件
l - 符号链接文件
p - 管道文件
f - 普通文件
-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
-amin n 查找系统中最后N分钟访问的文件
-atime n 查找系统中最后n*24小时访问的文件
-cmin n 查找系统中最后N分钟被改变文件状态的文件
-ctime n 查找系统中最后n*24小时被改变文件状态的文件
-mmin n 查找系统中最后N分钟被改变文件数据的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
-maxdepth n 最大查找目录深度
-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项

(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )

实例:

查找 48 小时内修改过的文件

find \-atime \-2

在当前目录查找 以 .log 结尾的文件。 . 代表当前目录

find ./  \-name '\*.log'

查找 /opt 目录下 权限为 777 的文件

find /opt \-perm 777

查找大于 1K 的文件

find \-size +1000c

查找等于 1000 字符的文件

find \-size 1000c

-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。

实例:

在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)

find .  \-type f \-mtime +10  \-exec rm \-f {} \\;

当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除

find .  \-name '\*.log' mtime +5  \-ok \-exec rm {} \\;

当前目录下查找文件名以 passwd 开头,内容包含 "pkg" 字符的文件

find .  \-f \-name 'passwd\*'  \-exec grep "pkg"  {} \\;

用 exec 选项执行 cp 命令

find .  \-name '\*.log'  \-exec cp {} test3 \\;

-xargs find 命令把匹配到的文件传递给 xargs 命令,而 xargs 命令每次只获取一部分文件而不是全部,不像 -exec 选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

实例:

查找当前目录下每个普通文件,然后使用 xargs 来判断文件类型

find .  \-type f \-print  | xargs file

查找当前目录下所有以 js 结尾的并且其中包含 'editor' 字符的普通文件

find .  \-type f \-name "\*.js"  \-exec grep \-lF 'ueditor'  {} \\;
find \-type f \-name '\*.js'  | xargs grep \-lF 'editor'

利用 xargs 执行 mv 命令

find .  \-name "\*.log"  | xargs \-i mv {} test4

用 grep 命令在当前目录下的所有普通文件中搜索 hostnames 这个词,并标出所在行:

find .  \-name \\\*(转义)  \-type f \-print  | xargs grep \-n 'hostnames'

查找当前目录中以一个小写字母开头,最后是 4 到 9 加上 .log 结束的文件:

find .  \-name '\[a-z\]\*\[4-9\].log'  \-print

在 test 目录查找不在 test4 子目录查找

find test \-path 'test/test4'  \-prune \-o \-print

实例:查找更改时间比文件 log2012.log新但比文件 log2017.log 旧的文件

find \-newer log2012.log !  \-newer log2017.log

使用 depth 选项

depth 选项可以使 find 命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。

实例:find 命令从文件系统的根目录开始,查找一个名为 CON.FILE 的文件。 它将首先匹配所有的文件然后再进入子目录中查找

find /  \-name "CON.FILE"  \-depth \-print
由JSRUN为你提供的Shell/Bash在线工具
        JSRUN提供的Shell/Bash在线运行,Shell/Bash 在线编译工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

皮肤:

运行模式:

嵌入代码 iframe嵌入: