1.文件搜索命令

1)locate命令 (只能按文件名搜索)

格式:locate 文件名
-在后台数据库中按文件名搜索,搜索速度更快
-/var/lib/mlocate —locate命令所搜索的后台数据库
-updatedb 更新数据库(locate后台数据库本身更新频率为一天一次,搜索不到时手动更新)
*可使用 locate locate 搜索locate相关文件,可看到locate数据库。
*在不同linux中,该数据库名字稍微不同,例如,locatedb、slocate、mlocate。

-/etc/updatedb.conf配置文件

   [root@redhat74 shell]touch /root/cangls[root@redhat74 shell]touch /tmp/cangls[root@redhat74 shell]updatedb[root@redhat74 shell]locate cangls/root/cangls

即使更新了数据库,结果显示 cangls 只有一条,而/tmp下的cangls没有显示出来,原因在于locate搜索遵循配置文件 /etc/updatedb.conf, 在PRUNEPATHS 中配置了/tmp/目录不进行搜索。所以没有进行查找。

-/etc/updatedb.conf 配置文件PRUNE_BIND_MOUNTS = "yes" ---开启搜索限制,yes为后面三项都生效。no为后面三项都不生效PRUNEFS =                 ---搜索时,不搜索的文件系统PRUNENAMES =              ---搜索时,不搜索的文件类型PRUNEPATHS =              ---搜索时,不搜索的路径

2)命令搜索命令 whereis和which

i.文件搜索命令:whereis (只能搜索系统命令,不能搜索自己凭空创建的普通文件)
选项:
-b:只查找可执行文件
-m:只查找帮助文件
whoami 显示当前操作用户 //who am i 显示登录用户
whatis ls 查询ls的作用

ii.文件搜索命令:which(不仅能看到命令的路径,如果有别名,还能看到别名)
[root@redhat74 shell]# which ls
alias ls=‘ls --color=auto’ ----别名
/usr/bin/ls
[root@redhat74 shell]# which pwd
/usr/bin/pwd

echo $PATH说明:-不光是Linux专有的,Windous中也有,类似于Windows中的环境变量,执行命令的时候都要在path定义的目录中去寻找。所以像ls这样的命令就可以不用加路径(/bin/ls)执行了。如果自己写的脚本 在运行时不想要具体的目录 需要在path设置目录

3)find命令

find搜索(避免大范围的搜索,会非常浪费系统资源,不建议直接在“/”目录下搜索)

格式:find [搜索范围] [搜索条件];
选项:
i.按照名字
-name test 搜索文件名为test的文件
-iname test 不区分要搜索的test大小写格式
注意:find搜索默认是完全匹配。如果需要进行模糊查询,需要添加通配符。

 Linux通配符有以下3种"*"   匹配任意字符,例:find /home -name "*test*",显示所有名字带test的文件;或例:find /home -name "*",home目录下的所有文件,包括隐藏文件。"?"   匹配任意一个字符,"[]"  匹配任意一个中括号内的字符,例:find /home -name "test[12]",显示test1和test2文件;或find /home -name "[12]",显示以1和2开头的文件。组合使用:例:find /home -name "*[12]",显示所有1和2结尾的文件

ii.按照所属用户
-user root 搜索所有属于root用户的文件
-nouser 没有所属者的文件,liunx中,每个文件都有所属者,如果没有,那么一般都是垃圾文件,但还是有特例的,比如内核产生的文件,就没有所属者,一般在proc和sys目录下;还有外来文件,也就是U盘拷入的文件也会忽略所有者

iii.按文件时间来搜索
find /home -mtime +10 在home目录下,查找10天前修改的文件
find /home -mtime 10 在home目录下,查找10天前当天修改的文件
find /home -mtime -10 在home目录下,查找10天内修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
iv.按照文件大小
find 目录 -size 文件大小

 -size n[cwbkMG]File uses n units of space.  The following suffixes can be used:`b'    for 512-byte blocks (this is the default if no suffix is used)`c'    for bytes`w'    for two-byte words`k'    for Kilobytes (units of 1024 bytes)`M'    for Megabytes (units of 1048576 bytes)`G'    for Gigabytes (units of 1073741824 bytes)

-a 表示and
-o 表示or
例如:find /etc -size +20k -a -size -50k -exec ls -lh {} \;
-exec command {} \; 固定格式,表示直接对前面的搜索结果进行后面的命令处理,逐一执行
-exec command {} + 表示直接对前面的搜索结果进行后面的命令处理,一次性执行
-一条命令可以包含多个exec

find -exec 命令后面的\;和+
-一个-exec只能执行一个命令,而且必须在命令后面加上终结符,终结符有两个:“;”和“+”。
1) “;”会对每一个find到的文件去执行一次cmd命令。
2) ”+“让find到的文件一次性执行完cmd命令。

例如:[root@redhat74 tmp]# find /etc -size +2M -exec ls  {} \;                                                             /etc/udev/hwdb.bin                                                                                  /etc/selinux/targeted/active/policy.kern                                                            /etc/selinux/targeted/policy/policy.30                                                              [root@redhat74 tmp]# find /etc -size +2M -exec ls  {} +                                             /etc/selinux/targeted/active/policy.kern /etc/selinux/targeted/policy/policy.30  /etc/udev/hwdb.bin-为什么必须有终结符?因为一个find后面可以有多个-exec cmd,所以必须要有终结符分割他们。如果不加,会报缺少参数

find /etc -size +2M -ok ls -lh {} \; 在执行ls -lh之前会逐一询问
v.按照i节点号
find / -inum [i节点号]
例如:
[root@redhat74 tmp]# ls -i
16787236 cangls
45527 hello.hard
[root@redhat74 tmp]# find / -inum 45527
/tmp/hello.hard
/shell/hello.log --[建立了硬链接,所以显示有两个i节点号为45527的文件]

4)grep命令

grep [选项] 字符串 文件名 (字符串使用 “” 包围,结果为行记录)
-i 忽略大小写
-v 排除指定字符串

find 命令与 grep 命令的区别
find:在系统中搜索符合条件的 文件名,使用通配符(完全)匹配
grep:在文件当中搜索符合条件的 字符串,使用正则表达式 (包含)匹配

linux常用命令-文件搜索(locate_find_grep)相关推荐

  1. Linux常用命令--文件搜索命令

    本文主要记录Linux常用命令中的文件搜索命令,如下. 文件搜索命令locate 命令搜索命令 whereis 与which 文件搜索命令 find 字符串搜索命令grep find命令与grep的区 ...

  2. [Linux学习笔记] Linux常用命令 - 文件搜索命令

    2019独角兽企业重金招聘Python工程师标准>>> 文件搜索命令 1. 显示系统命令所在目录: which 命令名称: which 命令所在路径: /usr/bin/which ...

  3. Linux常用命令--文件搜索命令:压缩解压命令

    1.命令名称:gzip 命令英文原意:GNUzip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip [文件] 功能描述:压缩文件 压缩后文件格式:.gz 2.命令名称:gunzi ...

  4. 【Linux】Linux常用命令--文件打开、创建、移动、用户管理权限等相关命令

    目录 一.关于Linux文件目录 二.Linux常用命令 1.文件的打开显示命令 1.1 ls命令 1.2 cd命令 1.3 vim命令 2.文件夹的创建/删除/移动命令 2.1创建 2.2删除 2. ...

  5. Linux学习4之常用命令--文件搜索命令

    一.文件搜索命令  find 语法:find [搜索范围] [匹配条件]  {find [搜索范围] [搜索模式] [搜索条件]} 1.以文件名来查找  -name(区分大小写)-iname (不区分 ...

  6. Linux常用命令之搜索命令

    Linux下查找相关命令主要有以下4个:which.whereis.locate.find,外加一个关键字行搜索grep 4个命令的比较如下表所示: 一.最常用的搜索命令:find 注意:Linux搜 ...

  7. Linux常用命令--文件(夹)查找之find命令

    Linux系统用得越久,就会发现这真的是一个很优秀的系统,各种方便各种实用各种高效率. 晚饭前写一下find命令的笔记. 其实这篇笔记,也是看到一篇外文博客,写得不错,自己拿来练一练,然后才顺便写篇笔 ...

  8. Linux常用命令--文件压缩与挂载

    目录 gzip gunzip tar zip unzip bzip2 mount umount gzip 命令用途:压缩或解压缩文件.            压缩格式:.gz            命 ...

  9. Linux常用命令:文件及磁盘

    #查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令: linux文件或者目录名称最长可以有265个字符,".&q ...

  10. 01-02 Linux常用命令-文件处理

    帮助文档 man:用于查看命令的帮助文档 格式:man 需要查询的命令 例如:man ls 相关快捷键使用: 退出:q 下一页:空格键 上下移动:上下方向键 --help:也可以用于查看帮助文档 格式 ...

最新文章

  1. linux系统下搭建php环境之-Discuz论坛
  2. 在iOS 中使用sleep方法 让程序暂停几秒钟
  3. Blog 081018
  4. 小程序 --- Tab组件的封装
  5. 事务的特性和隔离级别
  6. android 表情,软键盘冲突解决方案(仿微博等SNS应用)
  7. 二分法实战教学快速入门(折半查找法)
  8. excel 数据透视表完成分类汇总
  9. STM32与XY12864屏幕(ST7920中文显示模块)
  10. 教你用python爬虫下载1w+『ppt模板』,再也不用付费去购买啦!
  11. C#ADO连接修改Paradox表时“操作必须使用一个可更新的查询”错误的处理办法
  12. 写好简历的16个关键点
  13. 2021年,你读了哪些不错的C++书籍?
  14. 【42】android Context深度剖析
  15. 【目标检测】K-means计算anchors
  16. 手把手转行|小步试错,逐步迭代
  17. kvm安装ovmf,增加UEFI启动模式
  18. 计算机组装的规范装机流程,电脑装机详细步骤
  19. uniapp图片地址以文件流的形式传给后端
  20. 计算机系统配置有哪些内容,组装电脑主要配置有哪些丨组装电脑主要配置图解...

热门文章

  1. 大数据系列 | 阿里云datav数据可视化(使用json文件生成可视化动态图标)
  2. C# 中的Finalize 和Dispose(bool disposing)和 Dispose()
  3. native react 图片裁剪_React Native图片选择裁剪组件
  4. 集成电路设计的一种运作模式(Fabless/Foundry/IDM模式)
  5. vss服务器状态失败_vss问题解决办法
  6. 来!程序猿教你们玩微信代码~
  7. 01. Linux文件目录结构及存放内容(功能)
  8. List中存放list
  9. windows系统下itunes的备份路径修改
  10. m118w重置墨粉_富士施乐 Fuji Xerox DocuPrint M118w/M118z墨盒换粉加粉详解