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 ...
随机推荐
- LeetCode 19 Remove Nth Node From End of List (移除距离尾节点为n的节点)
题目链接 https://leetcode.com/problems/remove-nth-node-from-end-of-list/?tab=Description Problem: 移除距离 ...
- sencha touch list tpl 监听组件插件(2013-9-15)
插件代码 /* *list tpl模版加入按钮监控 *<div class="x-button-normal x-button x-iconalign-center x-layout- ...
- 查看JVM使用的默认的垃圾收集器
一.查看步骤 cmd执行命令: java -XX:+PrintCommandLineFlags -version 输出如下(举例): 针对上述的-XX:UseParallelGC,这边我们引用< ...
- 3944: Sum[杜教筛]
3944: Sum Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3471 Solved: 946[Submit][Status][Discuss] ...
- 查看UUID的方法
# blkid /dev/sdc1: UUID="6dfada2a-3a79-46b9-8e5d-7e8b39eba0da" TYPE="ext4" /dev/ ...
- jquery ajax中事件的执行顺序
jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...
- 上拉刷新和下拉刷新的两种方法(包括使用第三方库MJRefresh)
一.使用苹果原生的方法 1.下拉刷新 2.上拉刷新 (1 首先要新建一个footer得XIB文件,当然同时包括对应的控制器文件,例如在XIB文件中可以如下拖拉对应的控件 (2 然后在代码文件中写一个实 ...
- 使用SQL手动创建数据库并创建一个具有该数据库所有权限的用户
$ mysql -u adminusername -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. ...
- POJ2387-Till the cows come home【最短路】
A - Til the Cows Come Home POJ - 2387 Bessie is out in the field and wants to get back to the barn t ...
- hdu4513完美队形II manacher
吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要 ...