linux命令:文件搜索命令
---恢复内容开始---
文件搜索命令:which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which [命令名称]
功能描述:显示系统命令所在目录,以及别名记录
范例:$which ls
一切皆文件:命令根据权限(路径)可分为两类:1,root /sbin /usr/sbin 2,普通路径 /bin /usr/bin
此命令可根据查找的命令所在的路径判断其权限。
whereis [命令名称]
与which类似
可以显示系统命令的所在路径以及帮助文档(所在文档)
尽管可以搜索,但应该减少搜索,占用太多资源。所以服务器的规划应该有条理的规划。
文件搜索命令:find
命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
语法:find [搜索路径] [搜寻关键字]
功能描述:查找文件或目录(任意)
范例:
$find /etc -name init 在目录/etc中查找文件或目录init,精准的搜索。
$find / -size +204800 在根目录下查找大于100MB的文件或目录
$find /home -usr samlee 在根目录下查找所有者为samlee的文件或目录
-name 根据文件名查找
在根目录下查找,会遍历整个硬盘,占用大量资源,应避免。
当只记得文件名一部分时,可以使用通配符,常用的通配符有两个
一个是 * 匹配任意字符,包括零个字符
比如要查找以init开头的文件或目录,则init*则可
若要查找包含init的文件或目录,则*init*则可
另一个是? 匹配单个字符 比如文件或目录名含7个字符,只记得前4个,则可用init???则可
总之在查询时要尽可能的精确路径,精确关键词。节省系统资源,占用系统资源越少越好。
linux严格区分大小写。不区分用 -iname 只是在搜索是不区分大小写。
-size 根据文件大小查找 大多数linux以block数据块 512字节=0.5kb(基本通用)
100MB=? block
100MB=102400KB=204800block
大于 +204800
小于 -204800
等于 204800
-user 根据文件所有者查找
-group根据文件所属组查找
另外是根据时间查找
1,天 ctime atime mtime
2,分钟 cmin amin mmin
c-change改变,表示文件的属性被修改过,所有者,所属组,权限。-l所显示的
a-access 访问,表示被人查看过
m-modify修改,表示文件内容被修改过
- 表示多长时间之内,如-1
+ 超过
$find /etc -mmin -120 在120分钟内被修改过内容的文件有哪些。
$find /etc -ctime -1 在/etc下查找24小时内被修改过程属性的文件和目录
1.连接符 -a and逻辑与 -o or逻辑或
$find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件
$find /etc -name init* -a -type(类型) f(二进制文件) 在/etc目录下查找init开头且类型为二进制文件的文件
$find /etc -name init* -a -type l(软连接文件)在/etc目录下查找init开头且类型为软连接的文件
-type 意为文件类型 f 二进制文件 l 软连接文件 d 目录
$find /etc -name init* or -size +204800 在/etc下查找以init开头或大小大于100MB的文件或目录
2.连接符 find ...... -exec 命令 {} \;
{}表示前面find查询的结果
/ 表示一个转义符(符号命令使用本身的含义)
;表示结束
注意三者之间有空格
$rm testfile
rm: remove regular cmpty file ‘testfile’? Y
$ which rm
alias rm=’rm -i’ //这也就是所说的别名,而\的使用则使其变成最原始的rm无-i选项
/bin/rm
$ \rm tesyfile //此时直接删除
$
;则表示语句的结束
$find /etc -name inittab -exec ls -l {} \; 查看/etc目录下inittab的详细信息
$find /etc -name testfile3 -exec rm {}\;将/etc下的testfile3文件直接删掉
$find /test -name test -exec ls -l {} \;将/test下的test文件列出详细信息
连接符 -ok(询问输入)
$find /etc -name inittab -ok ls -l {} \;意为查找到目标文件后,询问是否执行ls
$find /etc -name inittab -ok rm {} \;当后面的命令为rm时显得至关重要,询问是否移除。
$find /etc -name init* -a -type f -exec ls -l {} \;意为列出/etc下的以init开头的二进制文件的详细信息
另外的选项:根据i节点查找 无论文件名多奇怪,它总有一个i节点。i节点可以映射到多个文件,所以硬连接可以更新。
ls -i 便可列出此目录下文件的i节点
只要获得i节点便可利用find命令进行删除
例如:
无论发现何等奇异名字的文件,都可通过find查找i节点的方法来进行删除。
-inum 根据i节点查找
find . -inum 31531 -exec rm {} \ .
文件搜索指令:locate
指令名称:locate
指令英文原意:list files in databeses
指令所在路径:/usr/bin/locate
执行权限:all user
语法:locate [搜索关键字]
功能描述:寻找文件或目录在文件库中。此命令十分快,是因为建立了一个资料库。只是在资料库中找,并没有在硬盘上找。
范例:$locate file
列出所有和file相关的文件
locate经常查找一些系统默认安装的命令,配置文件等。
此命令在unix下一般不提供,只在linux下提供。
locate与find不同,find是在目录下查找,locate是在定期更新的数据库中查找所以速度非常快,locate经常和命令updatedb配合使用
新的文件建立后,资料库不会及时更新。
文件搜索指令:updatedb
指令英文原意:update the slocate database
指令所在路径:/usr/bin/updatedb
执行权限:root
语法:updatedb
功能描述:建立整个系统目录文件的数据库
范例:#updatedb
当建立新文件,而新文件没有录入数据库时,通过locate则不能查找到
在linix系统下会有个计划任务定期执行updatedb
注意在/temp文件夹下的所有文件并不会被收录在资料库其中。
-i不区分大小写
文件搜索命令:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep [指定字串] [源文件]
功能描述:在文件中搜寻字串匹配的行并输出
范例:#grep ftp /etc/services 所有和ftp相关的行输出出来
/etc/services 存放了所有网络协议对应的端口和信息
同样 -i不区分大小写。
-v 去掉 含#的行 grep -v ^# /etc/inittab ^表示行首。
---恢复内容结束---
文件搜索命令:which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which [命令名称]
功能描述:显示系统命令所在目录,以及别名记录
范例:$which ls
一切皆文件:命令根据权限(路径)可分为两类:1,root /sbin /usr/sbin 2,普通路径 /bin /usr/bin
此命令可根据查找的命令所在的路径判断其权限。
whereis [命令名称]
与which类似
可以显示系统命令的所在路径以及帮助文档(所在文档)
同时会显示别名。如rm = rm -i 询问是否删除。
文件搜索命令:find
命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
语法:find [搜索路径] [搜寻关键字]
功能描述:查找文件或目录(任意)
范例:
$find /etc -name init 在目录/etc中查找文件或目录init
$find / -size +204800 在根目录下查找大于100MB的文件或目录
$find /home -usr samlee 在根目录下查找所有者为samlee的文件或目录
-name 根据文件名查找
在根目录下查找,会遍历整个硬盘,占用大量资源,应避免。
当只记得文件名一部分时,可以使用通配符,常用的通配符有两个
一个是 * 匹配任意字符,包括零个字符
比如要查找以init开头的文件或目录,则init*则可
若要查找包含init的文件或目录,则*init*则可
另一个是? 匹配单个字符 比如文件或目录名含7个字符,只记得前4个,则可用init???则可
总之在查询时要尽可能的精确路径,精确关键词。节省系统资源,占用系统资源越少越好。
-size 根据文件大小查找 大多数linux以block数据块 512字节=0.5kb(基本通用)
100MB=? block
100MB=102400KB=204800block
大于 +204800
小于 -204800
等于 204800
-user 根据文件所有者查找
另外是根据时间查找
1,天 ctime atime mtime
2,分钟 cmin amin mmin
c-change改变,表示文件的属性被修改过,所有者,所属组,权限。
a-access 访问,表示被人查看过
m-modify修改,表示文件内容被修改过
- 表示多长时间之内,如-1
+ 超过
$find /etc -mmin -120 在120分钟内被修改过内容的文件有哪些。
$find /etc -ctime -1 在/etc下查找24小时内被修改过程属性的文件和目录
1.连接符 -a and逻辑与 -o or逻辑或
$find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件
$find /etc -name init* -a -type(类型) f(二进制文件) 在/etc目录下查找init开头且类型为二进制文件的文件
$find /etc -name init* -a -type l(软连接文件)在/etc目录下查找init开头且类型为软连接的文件
-type 意为文件类型 f 二进制文件 l 软连接文件 d 目录
$find /etc -name init* or -size +204800 在/etc下查找以init开头或大小大于100MB的文件或目录
2.连接符 find ...... -exec 命令 {} \;
{}表示前面find查询的结果
/ 表示一个转义符(符号命令使用本身的含义)
$rm testfile
rm: remove regular cmpty file ‘testfile’? Y
$ which rm
alias rm=’rm -i’ //这也就是所说的别名,而\的使用则使其变成最原始的rm无-i选项
/bin/rm
$ \rm tesyfile //此时直接删除
$
;则表示语句的结束
$find /etc -name inittab -exec ls -l {} \; 查看/etc目录下inittab的详细信息
$find /etc -name testfile3 -exec rm {}\;将/etc下的testfile3文件直接删掉
$find /test -name test -exec ls -l {} \;将/test下的test文件列出详细信息
连接符 -ok(询问输入)
$find /etc -name inittab -ok ls -l {} \;意为查找到目标文件后,询问是否执行ls
$find /etc -name inittab -ok rm {} \;当后面的命令为rm时显得至关重要,询问是否移除。
$find /etc -name init* -a -type f -exec ls -l {} \;意为列出/etc下的以init开头的二进制文件的详细信息
另外的选项:根据i节点查找 无论文件名多奇怪,它总有一个i节点。i节点可以映射到多个文件,所以硬连接可以更新。
ls -i 便可列出此目录下文件的i节点
只要获得i节点便可利用find命令进行删除
例如:
无论发现何等奇异名字的文件,都可通过find查找i节点的方法来进行删除。
文件搜索指令:locate
指令名称:locate
指令英文原意:list files in databeses
指令所在路径:/usr/bin/locate
执行权限:all user
语法:locate [搜索关键字]
功能描述:寻找文件或目录
范例:$locate file
列出所有和file相关的文件
locate经常查找一些系统默认安装的命令,配置文件等。
此命令在unix下一般不提供,只在linux下提供。
locate与find不同,find是在目录下查找,locate是在定期更新的数据库中查找所以速度非常快,locate经常和命令updatedb配合使用
文件搜索指令:updatedb
指令英文原意:update the slocate database
指令所在路径:/usr/bin/updatedb
执行权限:root
语法:updatedb
功能描述:建立整个系统目录文件的数据库
范例:#updatedb
当建立新文件,而新文件没有录入数据库时,通过locate则不能查找到
在linix系统下会有个计划任务定期执行updatedb
文件搜索命令:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep [指定字串] [源文件]
功能描述:在文件中搜寻字串匹配的行并输出
范例:#grep ftp /etc/services 所有和ftp相关的行输出出来
/etc/services 存放了所有网络协议对应的端口和信息
linux命令:文件搜索命令的更多相关文章
- Linux常用命令——文件搜索命令
Linux常用命令——文件搜索命令 Linux 以#号开头的内容都是内容描述或配置项 find 描述:文件搜索 语法:find [搜索范围] [范围条件] . 当前目录 示例:[root@local ...
- 4.Linux的文件搜索命令
1.文件搜索命令 which 语法:which [命令名称] 范例:$which ls 列出ls命令所在目录 [chanshuyi@localhost ~]$ which ls alias ls= ...
- Linux的文件搜索命令(locate ,find,grep,find命令和)
刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...
- [Linux] 012 文件搜索命令
文件搜索命令:find 命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find [搜索范围] [匹配条件] 功能描述:文件搜索 范例: 在目录 /etc 中查找文件 ...
- linux笔记:linux常用命令-文件搜索命令
文件搜索命令:find(文件搜索) 一些示例: 注意:在以文件名为条件进行搜索时,支持通配符. 多条件搜索,以及直接对搜索到的文件进行操作: 文件搜索命令:locate(在文件资料库中查找文件) 文件 ...
- Linux基本命令 文件搜索命令
1.文件搜索命令find ================================================================================== 命令名称 ...
- Linux 之 文件搜索命令
文件搜索命令 参考教程:[千峰教育] 文件搜索定位 grep: 作用:通用规则表达式分析程序,是一种强大的文本搜索工具, 它能使用正则表达式搜索文本,并把匹配的行打印出来. 格式:grep [选项] ...
- linux下文件搜索命令学习笔记
1. locate:按照文件名搜索文件 locate filename 与find在整个操作系统中遍历搜索不同,locate命令在/var/lib/mlocate这个后台数据库中按照文件名搜索,所以优 ...
- linux常用命令-文件搜索命令-locate,which,whereis,grep
locate 目录或文件名 -i 查找的时候不区分大小写 这个类似everything,速度比find快很多,因为这个命令搜索的是它维护的文件资料库,文件资料库是var/lib/mlocate/mlo ...
随机推荐
- HTTP协议剖析 (附HttpWatch工具监控网络请求)
工具:HttpWatch Prov7.2.13破解版(带正版key) HTTP协议概述 思考2个要点: 第一:浏览器和服务器是通过什么连接的 第二:这种连接方式是怎么实现的 通过Interne ...
- oracle索引优化
零.概述 在这之前,一直都是使用mysql来进行开发或者部署.最近及今后很长一段时间都要使用oracle,今天和同事也遇到一个oracle 慢查询问题.查了很多资料,这里记录备忘.持续更新ing... ...
- linux route命令详解
考试题一:linux下如何添加路由(百度面试题) 以上是原题,老男孩老师翻译成如下3道题. a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254? b. 192.1 ...
- linux下php redis扩展安装
sudo tar vxzf redis-2.2.7.tgz cd redis-2.2.7 执行sudo /data/service/php54/bin/phpize 在目录下生成配置文件 sudo . ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十四:储存模块
实验十四比起动手笔者更加注重原理,因为实验十四要讨论的东西,不是其它而是低级建模II之一的模块类,即储存模块.接触顺序语言之际,“储存”不禁让人联想到变量或者数组,结果它们好比数据的暂存空间. . i ...
- 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variabl
1.添加M2_HOME的环境变量 2.Preference->Java->Installed JREs->Edit 选择一个jdk, 添加 -Dmaven.multiModuleP ...
- jmeter中Implementation中几个选项的区别
在jmeter发送http请求时,Implementation下拉框中有几个选项,如下: 那到底有什么区别呢?发送http请求改用哪种方法呢.百度后查之,没答案.我们还是看官方文档吧.官方文档解释如下 ...
- Django---简单模板遍历渲染
简单路由: urlpatterns = [ path('admin/', admin.site.urls), path('index/', views.index), path('list/', vi ...
- 关于JavaScript转义字符('、 " 、\" 、\')【原创】
先插入一条广告,博主新开了一家淘宝店,经营自己纯手工做的发饰,新店开业,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!店名: 小鱼尼莫手工饰品店经营: 发饰.头花.发夹.耳环等(手工制作)网店: ...
- Nginx设置网站维护页面
网站升级需要停服,可以在Nginx设置静态页面设置强制跳转 修改nginx配置文件nginx.conf http { sendfile on; keepalive_timeout 65; server ...