linux shell locate,shell学习之locate和find命令
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命令相关推荐
- Linux基础知识系统学习.NO2——基础字符界面命令
2.4.简单基础命令 Ps:实际命令为把加号替换为空格 (1)whoami:查询当前登陆用户用户名 (2)pwd:打印当前工作目录 (3)mkdir -p+[新目录名]:创建新目录,-p表示可以创建多 ...
- shell脚本编程学习笔记6(xdl)——字符串截取命令
shell脚本编程学习笔记6--字符串截取命令 1,cut命令 [root@localhost ~]# cut [选项] 文件名-f 列号,表示提取第几列-d 分隔符,按照指定的分隔符分割列注意:默认 ...
- 渗透测试-Kali Linux学习(Linux基础、Shell编程、渗透测试软件)
目录 目录结构 SSH连接 开关机与重启 关机 重启 文件目录 目录 显示/切换 创建与删除 文件 创建 复制 移动 查看 重定向和追加 软链接 查找 备份与压缩 .gz .zip .tar.gz 用 ...
- Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- Linux shell脚本基础学习详细介绍(完整版)2
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- Linux shell脚本基础学习详细介绍(完整版)
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- 《LINUX与UNIX SHELL编程指南》学习笔记
linux下文件的几种类型:目录,符号链接.套接字文件.....要注意,说到的文件类型是一个不一样的概念.linux下文件的类型不是后缀名上进行区别. "-"表示该文件是一个普通类 ...
- 详细介绍Linux shell脚本基础学习(一)
2019独角兽企业重金招聘Python工程师标准>>> Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础 ...
最新文章
- 三步解决C语言中struct字节对齐问题,Python进阶篇-struct字节对齐问题
- byte 类型比较_C++数据类型回顾
- System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse()
- react-native run-android的输出
- php symfony urlmatcher-gt;match,symfony路由组件(The Routing Component)
- linux编码 form表单,Linux以form表单形式上传文件讲解
- R-apply()函数
- sql limit offset 的用法 但在SqlServer中用不了
- [转]22条经典的编程引言
- 2D美术3——PS笔刷延迟、图层卡顿等解决办法(百试百灵)
- UBUNTU环境下编译的openwrt
- 2021年中国互联网广告市场年度分析
- Linux系统中的进程管理
- 飞机大战(案例详解)
- 启动mysql报错:mysql.service: Service hold-off time over, scheduling restart
- 【一起学UniGUI】--创建新的uniGUI应用程序(11)
- PDF怎么压缩大小,一分钟学会
- Ubuntu 安装boost
- GitHub强势开源,这个神器,支持12个视频片源、高清无码、能下载、全平台 !!...
- 教你如何在网页上用H5实现动画效果