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 ...
随机推荐
- Linux日志五大命令详解
1.who 命令 who 命令查询 utmp 文件并报告当前登录的每个用户.Who 的缺省输出包括用户名.终端类型.登录日期及远程主机.使用该命令,系统管理员可以查看当前系统存在哪些不法用户,从而对其 ...
- App.config使用ASP.NET Web Project的Transformation
1.创建对应configuration的App.config文件,比如:App.Debug.config.App.Release.config. 2.编辑项目文件,将App.*.config文件的Bu ...
- ASP.NET MVC View使用Conditional compilation symbols
由于View(.cshtml)的运行时编译关系,在项目级别中定义的symbols是无法被直接使用的.需要在Web.config中添加compilerOptions(在View目录下的Web.confi ...
- iOS - 指定UIView的某几个角为圆角
如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时 ...
- Django---简单模板遍历渲染
简单路由: urlpatterns = [ path('admin/', admin.site.urls), path('index/', views.index), path('list/', vi ...
- Shell while
while commanddo ...done c=0while [ $c -lt 5 ]do c='expr $c+1' echo $cdone
- Spark2 DataSet 创建新行之flatMap
val dfList = List(("Hadoop", "Java,SQL,Hive,HBase,MySQL"), ("Spark", & ...
- C语言清屏函数
Devc++ 与VC中的清屏函数 #include<stdio.h> #include<stdlib.h>//清屏函数的头文 int main() { int i; for(i ...
- 把Asp.Net Core 2.0部署在Linux上,使用Nginx代理服务器,并且用Systemctl命令以服务的方式监听项目
在Linux上部署.net core 2.0程序: 第一步:配置Nginx代理 在/etc/nginx/sites-available/default 中添加 server { listen ; lo ...
- hihocoder 1284 - 机会渺茫
N有N_cnt个约数,M有M_cnt个约数,那么总共有N_cnt * M_cnt种对应情况. 假设其中有D_cnt个对应结果是相等的,而这D_cnt个数正好是gcd(N,M)的所有约数. 例如: N= ...