linux系统中有几个关于文件搜索的命令,例如:locate,wheris以及find在工作中比较常用到。.

1.locate命令:locate查找文件是基于/var/lib/mlocate数据库,该数据库包含所有的本地文件信息,Linux系统自动创建这个数据库,并且每天自动更新一次。本地刚创建一个文件,但使用locate命令搜索不到本地文件,需要使用updaetedb手动更新一下本地数据库。

[root@node-2 ~]# touch helloWorld

[root@node-2 ~]# locate helloWorld

[root@node-2 ~]# updatedb

[root@node-2 ~]# locate helloWorld

/root/helloWorld

[root@node-2 ~]#

常用使用方法及参数:

locate 文件名称 #会匹配出本地/var/lib/mlocate数据库中已经建立索引的包含文件名称的所有文件。

[root@node-2 ~]# locate /etc/passwd

/etc/passwd

/etc/passwd-

[root@node-2 ~]#

常用参数

-h --help #显示帮助

-V --version #显示版本信息

-b, --basename match only the base name of path names #只匹配路径名的基本名称

-c, --count only print number of found entries #只打印找到的条目数量

-e, --existing only print entries for currently existing files #仅打印当前存在的文件的条目

-i, --ignore-case ignore case distinctions when matching patterns #忽略大小写

-w, --wholename match whole path name (default) #匹配整个路径名称(默认)

2.find命令:find命令可以在不通位置根据不同标准搜索任何文件,并支持多种方式处理搜索结果。其工作流程:(1)搜索所有用户指定的路径,包括所有的子目录。(2)对于遇到的每个文件,根据是否符合用户指定的条件,所有符合条件的文件形成一个列表。(3)对于结果列表的文件,执行用户指定的操作。

参数:

-name filename #表示包含指定匹配模式的文件名

-iname filename #表示包含指定匹配模式的文件名,不区分大小写

-type #指定文件类型,f表示普通文件 ,d表示目录,c表示块设备,p表示管道,l表示连接

-user userid #匹配其所有者为指定用户ID的文件

-group groupid #匹配其所有者的组为指定组ID的文件

-size size #匹配其大小为size的文件

-empety #匹配空文件

-amin[-+]n #文件最后一次访问时间,-n表示时间为n分钟以内,+n表示n分钟之前,n表示刚好n分钟

-atime [-+]n #天

-cmin[-+]n #文件最后一次状态改变时间

-ctime[-+]n #

-mmin [-+]n #最后一次被修改时间

-mtime [-+]n

动作:

-print #默认动作,将搜索结果写入到标准输出

-fprint file #将搜索结果写入到file中

-ls #以详细格式展示搜索结果

-fls file #将详细格式结果写入file

-delete #将结果文件删除

-exec command {} \; #查找并执行命令,{}表示搜索到的文件名

-ok command {}\; #查找并执行命令,但是需要用户确认

列子,找到3分钟之前创建包含一个数字的文件并将其删除。

[root@node-2 home]# ll -rst

total 8

4 drwxr-xr-x. 2 root root 4096 Mar 21 19:34 ISO

4 drwx------. 4 xguest xguest 4096 Mar 22 01:06 xguest

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file1[a-z].1

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file2[a-z].2

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file3[a-z].3

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file5[a-z].5

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file7[a-z].7

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file6[a-z].6

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file8[a-z].8

0 -rw-r--r-- 1 root root 0 Apr 20 17:07 file9[a-z].9

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text1.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text2.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 tex

[root@node-2 home]# find -type f -mmin +3 -iname "*[1-9]*" -exec rm -rf {} \;

[root@node-2 home]# ll -rst

total 8

4 drwx------. 4 xguest xguest 4096 Mar 22 01:06 xguest

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text1.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text2.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text3.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text4.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text5.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text6.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text9.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text8.txt

0 -rw-r--r-- 1 root root 0 Apr 20 17:27 text7.txt

4 drwxr-xr-x. 2 root root 4096 Apr 20 17:28 ISO

[root@node-2 home]#

linux shell locate,shell学习之locate和find命令相关推荐

  1. Linux基础知识系统学习.NO2——基础字符界面命令

    2.4.简单基础命令 Ps:实际命令为把加号替换为空格 (1)whoami:查询当前登陆用户用户名 (2)pwd:打印当前工作目录 (3)mkdir -p+[新目录名]:创建新目录,-p表示可以创建多 ...

  2. shell脚本编程学习笔记6(xdl)——字符串截取命令

    shell脚本编程学习笔记6--字符串截取命令 1,cut命令 [root@localhost ~]# cut [选项] 文件名-f 列号,表示提取第几列-d 分隔符,按照指定的分隔符分割列注意:默认 ...

  3. 渗透测试-Kali Linux学习(Linux基础、Shell编程、渗透测试软件)

    目录 目录结构 SSH连接 开关机与重启 关机 重启 文件目录 目录 显示/切换 创建与删除 文件 创建 复制 移动 查看 重定向和追加 软链接 查找 备份与压缩 .gz .zip .tar.gz 用 ...

  4. Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  5. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  6. Linux shell脚本基础学习详细介绍(完整版)2

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  7. Linux shell脚本基础学习详细介绍(完整版)

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  8. 《LINUX与UNIX SHELL编程指南》学习笔记

    linux下文件的几种类型:目录,符号链接.套接字文件.....要注意,说到的文件类型是一个不一样的概念.linux下文件的类型不是后缀名上进行区别. "-"表示该文件是一个普通类 ...

  9. 详细介绍Linux shell脚本基础学习(一)

    2019独角兽企业重金招聘Python工程师标准>>> Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础 ...

最新文章

  1. 三步解决C语言中struct字节对齐问题,Python进阶篇-struct字节对齐问题
  2. byte 类型比较_C++数据类型回顾
  3. System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse()
  4. react-native run-android的输出
  5. php symfony urlmatcher-gt;match,symfony路由组件(The Routing Component)
  6. linux编码 form表单,Linux以form表单形式上传文件讲解
  7. R-apply()函数
  8. sql limit offset 的用法 但在SqlServer中用不了
  9. [转]22条经典的编程引言
  10. 2D美术3——PS笔刷延迟、图层卡顿等解决办法(百试百灵)
  11. UBUNTU环境下编译的openwrt
  12. 2021年中国互联网广告市场年度分析
  13. Linux系统中的进程管理
  14. 飞机大战(案例详解)
  15. 启动mysql报错:mysql.service: Service hold-off time over, scheduling restart
  16. 【一起学UniGUI】--创建新的uniGUI应用程序(11)
  17. PDF怎么压缩大小,一分钟学会
  18. Ubuntu 安装boost
  19. GitHub强势开源,这个神器,支持12个视频片源、高清无码、能下载、全平台 !!...
  20. 教你如何在网页上用H5实现动画效果

热门文章

  1. Node.js API 全栈 开发框架
  2. 以太网的分层架构_以太网矩阵(Ethernet Fabric)简介
  3. 乔治华盛顿计算机科学,乔治华盛顿大学计算机科学
  4. 河北对口计算机计算机网络,河北对口计算机试题及答案.doc
  5. mysql增加列并增加comment_运城多条高铁线路调整动车列数增加到99列
  6. Atlassian JIRA 插件开发之一 环境搭建
  7. 多校赛 Barareh on Fire
  8. 中国中产阶层占全球三成 财富增长动力来自房产
  9. linux-32bit-内存管理
  10. 250个jquery 插件