locate 文件路径 关键字
用法:find <path> <-option> [-print | -ls] [-exec|-ok <command> {} \;] 在<path>指定的目录结构中搜索文件,并执行指定的操作。
find需要根据某个条件在特定的目录进行查找,有以下常用的查找选项: ¨ -print 将查找到的文件输出到标准输出 ¨ -exec command {} \; 将查到的文件执行command操作,{} 和 \;之间有空格 ¨ -fprint <filename> 将查找到的文件输出到指定文件 ¨ -ok 和-exec相同,只不过在操作前要询问用户 ¨ -name <filename> : 查找名为filename的文件,即按文件名查找。 ¨ -iname <filename> : 与-name相同,只是忽略大小写(-i); ¨ -perm : 按执行权限来查找 ¨ -user <username> : 按文件属主来查找 ¨ -group <groupname> : 按组来查找 ¨ -user <username> : 按文件属主来查找 ¨ -amin <-n|+n> : 按文件访问时间来查找文件,-n指n分钟以内,+n指n分钟以前 ¨ -atime <-n|+n> : 按文件访问时间来查找文件,-n指n天以内,+n指n天以前 ¨ -cmin <-n|+n> : 按文件创建时间来查找文件,-n指n分钟以内,+n指n分钟以前 ¨ -ctime <-n|+n> : 按文件创建时间来查找文件,-n指n天以内,+n指n天以前 ¨ -mmin <-n|+n> : 按文件更改时间来查找文件,-n指n分钟以内,+n指n分钟以前 ¨ -mtime <-n|+n> : 按文件更改时间来查找文件,-n指n天以内,+n指n天以前 ¨ -empty : 空白文件、空白文件夹、没有子目录的文件夹 ¨ -newer <f1 !f2> : 查更改时间比f1新但比f2旧的文件 ¨ -type <b|d|c|p|l|f> : 查是块设备/目录/字符设备/管道/符号链接/普通文件 ¨ -prune : 忽略某个目录 ¨ -size <+n|-n> :根据文件大小查找文件,+n表示超过n大小的文件,-n表示小于n大小的文件 |
注意 | |
¨ -size <n[cwbkMG]>,其中:n表示文件大小的数值,b表示512字节的块,c表示字节,k表示K字节,M表示M字节(1024*1024字节=1024k),G表示G字节(1024*1024*1024字节=1024M) ¨ -type < [bcdpfls]>,其中b表示块设备文件,c表示字符设备文件,d表示目录,p表示命名管道文件,f表示普通文件,l表示符号链接文件,s表示socket文件 |
注意 | |
¨ find命令的所谓“命令动作(Actions)”,表示在查找到文件后,要对这些文件所做的操作,我们在这里只介绍其中三个常用的命令动作: 1. –print:find命令的默认动作,将查找到的文件名输出 2. –ls:将将查找到的文件名以ls –dils格式输出 3. -exec command ; :对查找到的文件名执行指定命令,命令command由用户指定,用{} 代表查找到的文件,用\;结束。 4. -ok command ; :与-exec非常类同,只不过在对文件执行指定命令之前会询问用户是否执行 |
注意 | |
¨ 在Linux中与文件相关的时间属性有三个: 1. atime:文件最后被访问时间(Time when file data was last accessed.),atime 是在读取文件或者执行文件时更改的。 2. mtime:文件内容最后被更改的时间(Time when data was last modified.),mtime 是在写入文件时随文件内容的更改而更改的 3. ctime:文件状态(属性或者内容)最后被更改的时间(Time when file status was last changed),ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。 ¨ 常常在一些文章和资料中提到的文件时间戳(Timestamp)指的是文章的mtime。 |
注意 | |
¨ 在find命令支持用逻辑运算符来操作单个逻辑条件,或者将逻辑条件连接起来: 1. –a 表示与 2. –o 表示或 3. !表示取反 ¨ 注意:使用多个条件时,这些条件要用圆括号括起来,左右圆括号还要使用反斜杠"\"来进行转义,以防止shell的解释; |
通配符:
?
eg:
cmd:
ls -l /bin/??sh
res:
-rwxr-xr-x 1 root root 1113504 4月 5 2018 /bin/bash
-rwxr-xr-x 1 root root 121432 1月 25 2018 /bin/dash
[cahr]:
char可以是单一字符,也可以是一个列表。
表示匹配括号里的单一字符或字符列表里的多字符。
{string1,string2}
匹配字符串
!:对其中的内容取反
查看文本文件内容:
cat,适合查看较少的文本
less,较少的文本查看(/关键字 可查看关键内容)按q退出
more
head,tail -n 查看头部几行或末尾几行。