文档章节

Linux查找命令

浮躁的码农
 浮躁的码农
发布于 2015/04/24 11:21
字数 1164
阅读 11
收藏 0

(1)find

find命令用于文件搜索,所在路径/bin/find,其语法格式为:

find [搜索范围] [匹配条件]

1)-name:根据文件名搜索,如搜索/etc下的init文件

复制代码
[root@localhost ~]# find /etc/ -name init /etc/sysconfig/init /etc/kdump-adv-conf/kdump_initscripts/init /etc/init

[root@localhost ~]#
复制代码

注:-iname是不区分大小写,与Windows不同的是,按照-name搜索到的文件只有与之完全相同的才会被搜索出来

2)-size:按照文件大小搜索,如搜索根目录下大于100M的文件:

复制代码
[root@localhost ~]# find / -size +204800 find: “/proc/1628/task/1628/fd/5”: 没有那个文件或目录 find: “/proc/1628/task/1628/fdinfo/5”: 没有那个文件或目录 find: “/proc/1628/fd/5”: 没有那个文件或目录 find: “/proc/1628/fdinfo/5”: 没有那个文件或目录

[root@localhost ~]#
复制代码

 

注:num前面的"+"表示大于,"-"表示小于,其次文件的大小需要进行换算,Linux在以数据块为单位,1个数据块即为512字节(0.5k)

3)-user:按所有者进行查找,-group:按所属组进行查找,如在/home目录下查找所有者为username的文件:find /home –user username。

4)-amin:按访问时间进行搜索(access),-cmin:按文件属性修改的时间进行搜索(change),-mmin:按文件内容修改的时间进行搜索(modify)。如在/etc下查找5分钟内被修改过属性的文件:

find /etc –cmin -5

注:+5表示超过5分钟,-5表示在5分钟内

5)连接选项:-a和-o

-a表示与(and)的关系,-o表示或(or)的关系,如在/etc下查找大于80M,小于100M的文件:find /etc –size +163840 –a –size -204800。

6)连接选项:-exec和-ok

格式为:-exec/-ok [命令] {} \;

其中"{}"包含搜索的结果,"\"表示转移字符,分号";"表示命令结束。-exec和-ok用于搜索后文件后执行特定命令。二者的区别是前者直接执行,后者需询问确认。如在/etc下查找inittab文件并显示其详细信息:

[root@localhost ~]# find /etc/ -name inittab -exec ls -l {} \; -rw-r--r--. 1 root root 884 1月 7 22:27 /etc/inittab
[root@localhost ~]#

7)-type和-inum

-type选项是根据文件类型查找,其中"f"表示文件,"d"表示目录,"l"表示软链接文件。如查找/etc下以init开头的文件:

复制代码
[root@localhost ~]# find /etc/ -name init* -a -type f /etc/sysconfig/init /etc/sysconfig/network-scripts/init.ipv6-global /etc/kdump-adv-conf/kdump_initscripts/init /etc/init/init-system-dbus.conf /etc/selinux/targeted/contexts/initrc_context /etc/inittab

[root@localhost ~]#
复制代码

-inum选项是根据i节点查找,Linux中每个文件都有i节点号,通过ls –l命令可以显示,i节点号的作用是:当对一个文件名很复杂的文件进行操作时,可以通过i节点号进行操作,同时,i节点号可以查找硬链接信息

(2)locate

locate命令用于在文件资料库中查找文件,是一种快速查找工具,其语法格式为:

locate [文件名称]

加入-i选项表示不区分大小写进行查找

注:新创建的文件无法使用locate进行查找,因为该文件尚未更新至文件资料库中,若要成功查找,则需使用updatedb命令进行更新。另外,创建在/tmp下的文件并不在文件资料库的收录范围之中,因此也无法查找该文件夹下的文件

查找inittab文件

复制代码
[root@localhost ~]# locate inittab /etc/inittab /usr/share/man/man5/inittab.5.gz /usr/share/vim/vim72/syntax/inittab.vim

[root@localhost ~]#
复制代码

在/root目录下创建一个新文件,使用updatedb进行更新,然后进行查找:

复制代码
[root@localhost ~]# touch text.txt

[root@localhost ~]# locate text.txt

[root@localhost ~]# updatedb

[root@localhost ~]# locate text.txt /root/text.txt
复制代码

(3)which

which命令用于搜索命令所在目录及别名信息,所在路径为/usr/bin/which,语法格式为:

which [命令名称]

如查找rm命令的信息:

[root@localhost ~]# which rm alias rm='rm -i' /bin/rm

其中alias是定义的别名。

(4)whereis

whereis命令用于搜索命令所在目录及帮助文档路径,所在路径为/usr/bin/whereis,其语法格式为:

whereis [命令名称]

如查找ls的命令信息:

[root@localhost ~]# whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

(5)grep

grep命令用于在文件中搜索字串匹配的行并输出,所在路径为/bin/grep,其语法格式为:

grep –iv [指定字串] [文件]

其中-i选项表示不区分大小写,-v选项表示排除指定字串进行显示

例:搜索/root下install.log中的mysql所在行:

[root@localhost ~]# grep mysql install.log

安装 mysql-libs-5.1.71-1.el6.i686

例:查看/etc下inittab文件除#开头的行

[root@localhost ~]# grep -v ^# /etc/inittab id:3:initdefault:

© 著作权归作者所有

共有 人打赏支持
浮躁的码农

浮躁的码农

粉丝 62
博文 727
码字总数 142435
作品 0
松江
程序员
专业地攻击:优秀黑客的Linux基础,part 4(查找文件)

我之所以写这一些列的文章是应为很多人在使用Linux的时候都有不解的地方。作为一个黑客,Linux技能是无可替代的攻击利器。 因为Linux有着和Mac OS以及Windows不一样的文件目录结构,所以很多...

djokary
2014/01/24
0
0
如何在 Linux 中查找文件

使用简单的命令在 Linux 下基于类型、内容等快速查找文件。 如果你是 Windows 或 OSX 的非资深用户,那么可能使用 GUI 来查找文件。你也可能发现界面受限,令人沮丧,或者两者兼而有之,并学...

作者: Lewis Cowles
04/28
0
0
查看linux 下已经安装的软件包信息

RPM使用详解 在Linux 操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是 Red Hat Package Manager(简称RPM)。此工...

欢168
2012/04/14
0
1
在 Linux 上寻找你正在寻找的东西

怎样在 Linux 系统上使用 find、locate、mlocate、which、 whereis、 whatis 和 apropos 命令寻找文件。 在 Linux 系统上找到你要找的文件或命令并不难, 有很多种方法可以寻找。 find 最显然...

作者: Sandra Henry-stocker
05/09
0
0
软件测试人员在工作中如何运用Linux

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你...

软件测试网
04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

php 使用redis锁限制并发访问类

1.并发访问限制问题 对于一些需要限制同一个用户并发访问的场景,如果用户并发请求多次,而服务器处理没有加锁限制,用户则可以多次请求成功。 例如换领优惠券,如果用户同一时间并发提交换领...

豆花饭烧土豆
10分钟前
0
0
Linux环境搭建 | 手把手教你配置Linux虚拟机

在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度。 Ubuntu刚安装完毕之后,还无法进行开发,...

良许Linux
12分钟前
0
0
Nginix开启SSL支持HTTPS访问(自签名方法)

Nginix开启SSL支持HTTPS访问(自签名方法) 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器...

openthings
28分钟前
0
0
(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部