linux五大搜索命令学习

五大搜索命令学习

分别解释locate,find,which,whereis,grep 五大linux搜索命令

locate

解释:由man手册可以看出,locate查找就是根据文件名进行查找,只是依赖于updatedb命令。该命令更新linux中的查找数据库/var/lib/locatedb

这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用

locate之前,先使用updatedb命令,手动更新数据库。

find

解释:find命令在文件系统中根据给定的约束条件进行查找,返回搜索结果

与时间有关的选项:-atime。 -ctime 。-mtime 。

-mtime  -n +n 按文件更改时间来查找文件,-n指n天以内,+n指n 天以前 
-atime  -n +n 按文件访问时间来查找文件,-n指n天以内,+n指n 天以前
-ctime  -n +n  按文件创建时间来查找文件,-n指n天以内,+n指n 天以前  
例:
-newer file :file 为一个存在的档案,列出比 file 还要新的档案档名
-amin -n   查找系统中最后N分钟访问的文件
-atime -n  查找系统中最后n*24小时访问的文件
-cmin -n   查找系统中最后N分钟被改变文件状态的文件
-ctime -n  查找系统中最后n*24小时被改变文件状态的文件
-mmin -n   查找系统中最后N分钟被改变文件数据的文件
-mtime -n  查找系查找系统中最后n*24小时被改变文件数据的文件
总结:min是分钟,time是小时,a访问,c改变状态,m改变数据。

-name   按照文件名查找文件
-perm   按照文件权限来查找文件
-user   按照文件属主来查找文件
-group  按照?文件所属的组来查找文件。?
-nogroup  查找无有效所属组的文件,即该文件所属的组在/ etc/groups中不存在
-nouser   查找无有效属主的文件,即该文件的属主在/etc/ passwd中不存在。
-newer file1 ! file2  查找更改时间比文件file1新但比文 件file2旧的文件。
-type  查找某?一类型的?文件

示例:

1.查找当前目录下文件名为code的目录 
find . -name code -print
./code
2.在目录中查找更改时间在5日以前的文件并删除它们: 
find -atime +5 -exec rm {} \; 
3.查找当前所有目录并排序
find / -type d |sort
4.查找所有目录名称中按照”.log”结尾的目录
find / -type d -name "*.log"
5.查找系统中最近5天访问的文件
find -atime -5
6.查找系统中最近5分钟访问的目录
find -amin -5
7. 查找当前目录下所有权限为755的文件,并设置成777 
find . -perm 755 -exec chmod 777 {} \;

grep

解释:grep 从文件中查找包含匹配字符的串,可用正则

grep [选项]  [文件]

eg  : grep "test*"  ./test.txt

whersis

解释:查找可执行程序,二进制文件等的路径

eg whereis ls

which

解释:查找一个可执行命令的路径

eg  : which  ls

时间: 2024-08-24 11:13:18

linux五大搜索命令学习的相关文章

Linux系统管理常用命令学习

在前面的Blog中给大家介绍了Linux安装和目录结构的相关知识,今天我们将正式的走进Linux系统,本期的内容如下: 1.Linux命令功能简单介绍 2.Linux系统管理常用命令 3.Linux系统管理常用热键 4.获取Linux命令帮助 5.内容总结 一.Linux命令功能介绍 首先介绍一个名词"控制台(console)",它就是我们通常见到的使用字符操作界面的人机接口,例如dos.我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令.我们现

LInux 文件搜索命令

文件搜索命令  locate 优点:搜索速度很快 缺点: 只能搜索文件名(速度快 耗费资源少) localte  文件名 (在后台数据库中按文件名 搜索,搜索速度快  localte 命令并不是在系统中去搜索 ) 而是会在 /var/lib/mlocate  后台数据库  (#locate 命令所搜索的后台数据库 该数据库是一天一更新) updatedb  可以立刻更新数据库 locate 搜索时: 按照配置文件来进行搜索  /etc/updatedb.conf 配置文件 # 开启搜索限制 pr

linux下搜索命令

1.文件搜索命令locate 2.命令搜索命令which和whereis 3.文件搜索命令find 4.字符串搜索命令grep 5.find和grep的区别 locate +文件名 locate搜索是在后台数据库中按文件名搜索,搜索速度很快 /var/lib/mlocate locate搜索命令的后台数据库 locate搜索不能对进行适时搜索,因为locate的后台数据库每天才会更新一次所以对刚建立的文件是搜索不到的 updatedb更新数据库过后就可以使用locate对刚建立的文件进行搜索了

Linux部分常用命令学习(二)

1.wc:wc命令是一个统计的工具,主要用来显示文件所包含的行.字和字节数.wc命令是word count的缩写. 命令格式:wc [选项参数] [文件] 选项参数: -c 统计字节数 -l 统计行数 -m 统计字符数,这个标志不能与 -c 标志一起使用 -w 统计字数,一个字被定义为由空白.跳格或换行字符分隔的字符串 -L 打印最长行的长度 2.grep:grep是个很强大的命令,用来找到文件中的匹配文本,并且能够接受正则表达式和通配符,同时可以用多个grep命令选项来生成各种格式的输出.gr

linux文件搜索命令

文件搜索命令使用高峰期时尽量少用find,尽量缩小搜索范围,尽量精确搜索关键词 find -a (and) -o(or) find /路径 -name 文件名find /路径/*文件名*通配符find /路径/文件名???匹配三个字符find /路径 -iname 文件名 搜索结果包括大写的 find -type f文件 d目录 l软连接       -inum按节点find / -size +1M k 代表搜索大于100MB的文件 -204800 204800        -mtime +-

Linux —— 文件搜索命令

文件搜索命令(配置文件/etc/updatedb.conf) locate 文件名 搜索速度非常快 在后台数据库中按照文件名搜索 updatedb 更新数据库 只可以按照文件名搜索 whereis 命令名 搜索命令所在路径以及帮助文档所在的位置 -b: 只查找可执行文件 -m: 只查找帮助文档 which 命令名 别名,所在路径 find [搜索范围] [搜索条件] 从根节点遍历一遍 通配符 匹配任意内容 ? 任意一个字符 [] 指定范围 按照名字搜索 iname 名字不区分大小写-name 区

linux 文件搜索命令which、whereis

which /usr/bin/which 搜索命令所在目录及别名信息 which lsalias ls='ls --color=auto'/usr/bin/ls which rmalias rm='rm -i' /usr/bin/rm /bin/rm /tmp/test2 这个没有询问确认,直接删除 rm -r /tmp/Init 这个有询问确认,因为这个rm 实际是 rm -i whereis 搜索命令及配置文件的信息 whereis rm 结果:rm: /usr/bin/rm /usr/sh

Linux部分常用命令学习(一)

什么是linux命令? 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样. 属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写成的程序,比如说 shell,perl,python,ruby,等等. 是一个内建于 shell 自身的命令.bash 支持若干命令,内部叫做 shell 内部命令 (builtins).例如,上面我本地环境中的cd命令,就是一个 shell 内部命令. 是一个 shell 函数.这些是小规模的 s

Linux中grep命令学习

1.简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep.egrep和fgrep的命令只跟grep有很小不同.egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就说,正则表达式中的元字符表示回其自身的字面意义,不再特殊.linux使用GNU版本的grep.它功能更强,可以通过-G.-E.-F命令行选项来使用egre