Linux常用命令(第二版) --文件搜索命令

文件搜索命令

1、which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件

格式:which [系统命令]

e.g. which ls

附-whereis:也可以查找到命令的绝对路径

与whereis不同,which会列出这个命令的别名记录,而whereis会显示出这个命令的帮助文档所在位置

2、find /usr/bin/find #查找文件或目录,任何文件皆可,如图片,压缩包等

语法:find [搜索路径] [搜索选项] filename

a) find /etc -name 文件名 #-name 最常见的选项

find /etc -name init // 在目录/etc中查找文件init文件

注意:

1-尽量缩小查找范围,不要在根目录下查找,不然:1、查找速度非常慢;2、占用大量系统资源.

2-占用系统资源越少越好,而且尽量在服务器压力较小时用find进行查找.

3-find .. -name 查找结果与Windows不同,如:Windows会把所有包含init关键词的文件全都列出来而Linux则只会匹配init关键词

4-使用通配符:

*:用于匹配任意字符

find /etc -name init* #查找所有以init开头的文件

find /etc -name *init*  #init左右都没有空格,用于查找所有包含init关键词的文件

?:用于匹配单个字符

find /etc -name init??? #这个文件会有七个字符。

find /etc -name ?init??

b)find /etc -size 文件大小

#他是以数据块为单位的!512字节 = 0.5KB, 1K = 2Blocks

100M=?blocks

100M = 102400K = 102400*2blocks

E.g

find /etc -size +204800  #在/etc下查找大于80MB大于100MB的文件

find /etc -size -204800 #在/etc下查找大于80MB小于100MB的文件

find /etc -size 204800 #在/etc下查找等于100MB的文件,不常用!

c)find /etc -user username 查找属于username的文件

find /home/xiaofang/Programme/Data_Structure/ -user xiaofang

d)通过时间值查找:

1、以天为单位: ctime,atime,mtime

2、以分钟为单位: cmin,amin,mmin #更为常用

c-change 改变:表示文件的属性被修改过,比如:所有者,所属组,权限

a-access 访问:文件被浏览过

m-modify 修改:文件内容被修改过

-多长时间之内,+超过多少时间

E.g.

find /etc -mtime -1

find /etc -amin -60

find /home -cmin -120

e)find /etc -type 文件类型 #根据文件类型查找

f 二进制文件

l 软链接文件

d 目录

E.g.

find /etc -type f

find /etc -type l

f)-inum #根据i节点进行查找

E.g.

touch -- -abc #删除:rm -- -abc

touch “a b” #删除:rm “a b”

find . -inum 159341

find . -inum 159341 -exec rm -f {} \; #找到i节点为159341的文件,并删除它

附-find连接符:

1、 -a:and 逻辑与

-o:or 逻辑或

E.g.

find /etc -size +163840 -a -size 204800 #查找>80M,<100M的文件

find /etc -name init* -a -type f #查找名为init并且为二进制的文件,并不包含目录

2、find ….. -exec 命令 {} \; #固定格式,只能这样来写

{} :find的查询结果

\   :转义符-使得符号命令使用本身的含义

; :语句结束

e.g.

find /etc -name inittab -exec ls -l {} \;

#在/etc下查找inittab文件并显示其详细信息

find /home -user sax -exec rm -rf {} \;

#删除用户sax所有的文件

find /home -user sax -ok rm -rf {} \; #-ok连接符

#删除用户sax所有的文件,他会提示你是否确认

find /etc -name init* -ok rm -rf {} \;

3、locate[list file in databases]: /usr/bin/locate

说明:

#是Linux所特有的命令,寻找文件或目录,最好用于快速定位系统命令,配置文件等

#虽然搜索速度很快,但有时候会找不到

#locate是在文件数据库中查找的,所以速度会很快

#但是如果数据库没有包含这个文件的话,他就会找不到;

格式:locate [搜索关键字]

配合:updatedb [update a database for mlocate]: /usr/bin/updatedb

#建立整个系统目录文件的数据库

注意:其执行权限为:root!!!

4、grep: /bin/grep #在文件中搜寻字串匹配的行并输出

格式: grep [指定字串] [源文件]

E.g. grep ftp /etc/services

附:grep功能特别强大,支持正则表达式,她的更加具体的介绍请参考我的另一篇博文:

四天精通Shell编程(二)

时间: 2024-12-24 05:42:15

Linux常用命令(第二版) --文件搜索命令的相关文章

小蚂蚁学习Linux(4)——链接命令ln、文件搜索命令locate、whereis和which

链接命令ln    (取自link之意) ln  [源文件]    [目标文件]    功能:生成链接文件.    -s 创建软连接 ,不加是创建硬链接 硬链接的特征: 1. 拥有相同的i节点和存储block快,可以看做是同一个文件. 2. 可通过i节点识别 3. 不能跨分区 4. 不能针对目录使用 备注:硬链接只要不把所有文件名删除,删除其中一个不影响其他文件名的使用. 需要注意的是,不建议只用硬链接: 1. 硬链接太过隐蔽,只能通过查看inode节点id号识别 2. 自身的限制也比较多. 替

【linux学习笔记四】文件搜索命令

一 文件搜索 locate //在后台数据库中按文件名搜索 搜索速度更快 locate 文件名 //locate命令所搜索的后台数据库 /var/lib/mlocate //更新数据库 updatedb 二 命令搜索命令 whereis 与 which //搜索命令所在路径及帮助文档所在位置 whereis ls whereis -b 只查看可行性文件 whereis -m 只查找帮助文件 //除了所在位置 还可以查看文件别名 which 三 文件搜索 find //find [搜索范围] [搜

Linux达人养成计划I&mdash;&mdash;文件搜索命令

文件搜索:locate 文件名 locate是通过数据库搜索,一天一更新,当天加的应该用updatedb,更新数据库 locate locate locate搜索的后台数据库:/var/lib/mlocate 只能按照文件名搜索,但是比较快 /etc/updatedb.conf 搜索配置文件 whereis 命令名 -b: 只看可执行文件位置 -m: 只看帮助文档位置 只能看不是shell自带的命令 which 文件名 查看别名和命令位置 $PATH环境变量,用;分割 执行命令时,先去PATH里

Linux常用命令(第二版) --压缩解压缩命令

压缩解压缩命令: ----------.gz---------- 1.压缩 gzip[GNU zip]: /bin/gzip 格式: gzip 选项 [文件] #压缩文件,压缩后扩展名为.gz,Linux下最常用 #比较常见的软件源代码包的格式 特点: 1)只能压缩文件,不能压缩目录 2)不保留原文件 e.g. gzip newfile #原newfile删除 2.解压 1)gunzip[GNU zip]: /bin/gunzip 2)gzip -d #解压.gz E.g. gzip -d ne

Linux常用命令(第二版) --权限管理命令

权限管理命令 1.chmod[change the permissions mode of a file] : /bin/chmod 语法: chmod [{ugo}{+-=}{rwx}] [文件或目录名] // 直观 e.g. chmod u+wx filename chmod o-x filename chmod g=rwx filename 或者: chmod [mode=421] [文件或目录] // 推荐 权限所对数字: r-4 w-2 x-1 e.g.  rwxr-xr-- 754

Linux进程管理(第二版) --进程管理命令

进程管理命令 一.查看用户信息w 1. w显示信息的含义 TTY:说明用户登录的方式,ttyN:表示以本地终端登录;pts/N表示以远程终端登录 JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里 PCPU:CPU执行程序耗费的时间 WHAT:用户正在执行的操作 load average:分别显示系统在过去1.5.15 分钟内的系统的平均负载程度[一般在0.8之下,我们认为系统负载较轻] FROM:显示用户从何处登录系统,":0"的显示代表该用户时从

LInux 文件搜索命令

文件搜索命令  locate 优点:搜索速度很快 缺点: 只能搜索文件名(速度快 耗费资源少) localte  文件名 (在后台数据库中按文件名 搜索,搜索速度快  localte 命令并不是在系统中去搜索 ) 而是会在 /var/lib/mlocate  后台数据库  (#locate 命令所搜索的后台数据库 该数据库是一天一更新) updatedb  可以立刻更新数据库 locate 搜索时: 按照配置文件来进行搜索  /etc/updatedb.conf 配置文件 # 开启搜索限制 pr

linux命令之——文件搜索命令

linux命令之——文件搜索命令 文件搜索命令:find 命令所在路径: /bin/find 执行权限 : find [搜索范围][匹配条件] 功能描述: 文件搜索 $find /etc -name init???  (相当于模糊搜素    *init*         *匹配任意字符   ?匹配单个字符) 在目录/etc中查找文件init -iname不区分大小写 $find / -size +204800 在根目录下查找大于100M的文件 +n 大于 -n 小于 n 等于 $find /ho

Linux自学第二天(权限管理命令、文件搜索命令、帮助命令)

添加用户两步走:1.useradd username   2.passwd ps  权限管理命令 命令名称:chmod  ->>change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [{u g o} {+-=}{rwx}][文件或目录] [mode = 421] [文件或目录] +:增加权限 -:减少权限 =:直接赋予权限 掌握的重点是用数字的方式进行权限控制,r=4 w=2 x=1. rwxr-x