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功能特别强大,支持正则表达式,她的更加具体的介绍请参考我的另一篇博文:
Linux常用命令(第二版) --文件搜索命令的更多相关文章
- Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)
1.文件搜索命令:locate [文件名] 在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少 例子:locate test.txt,就会显示文件名包含 test.txt的所 ...
- 【linux学习笔记四】文件搜索命令
一 文件搜索 locate //在后台数据库中按文件名搜索 搜索速度更快 locate 文件名 //locate命令所搜索的后台数据库 /var/lib/mlocate //更新数据库 updated ...
- Linux常用命令(第二版) --压缩解压缩命令
压缩解压缩命令: ----------.gz---------- 1.压缩 gzip[GNU zip]: /bin/gzip 格式: gzip 选项 [文件] #压缩文件,压缩后扩展名为.gz,Lin ...
- Linux常用命令(第二版) --权限管理命令
权限管理命令 1.chmod[change the permissions mode of a file] : /bin/chmod 语法: chmod [{ugo}{+-=}{rwx}] [文件或目 ...
- Linux进程管理(第二版) --进程管理命令
进程管理命令 一.查看用户信息.5.15 分钟内的系统的,优先值越小,优先权越大 ] 1.nice 指定程序运行的优先级 格式 nice -n command 例如 nice -5 myprogrem ...
- Linux常用命令之文件搜索命令
目录 1.最强大的搜索命令:find2.在文件资料库中查找文件命令:locate 一.根据 文件或目录名称 搜索 二.根据 文件大小 搜索 三.根据 所有者和所属组 搜索 四.根据 时间属性 搜索 五 ...
- Linux常用命令——文件搜索命令
Linux常用命令——文件搜索命令 Linux 以#号开头的内容都是内容描述或配置项 find 描述:文件搜索 语法:find [搜索范围] [范围条件] . 当前目录 示例:[root@local ...
- Linux系列教程(六)——Linux常用命令之文件搜索命令
前一篇博客我们讲解了Linux链接命令和权限管理命令, 通过 ln -s 链接名 表示创建软链接,不加-s表示创建硬链接:还有三个更改权限的命令,chmod命令可以更改文件或目录权限,chown命令 ...
- Linux系统之常用文件搜索命令
(一)常用文件搜索命令 (1)which命令 (2)find命令 (3)locate (4)updatedb (5)grep (6)man (7)whatis (一)常用文件搜索命令 (1)which ...
随机推荐
- JavaWeb 文件 上传 下载
文件上传下载对于一个网站来说,重要性不言而喻.今天来分享一个JavaWeb方式实现的文件上传下载的小例子. 项目依赖 项目目录 工作流程 文件上传 表单处的设置 服务器端 上传功能的实现 upload ...
- ORACLE数据库学习之逻辑结构
逻辑结构 数据库逻辑结构包含表空间.段.范围(extent).数据块和模式对象. (一)表空间 一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间类似于sybase下的设备.(TABLES ...
- 剑指Offer——回溯算法解迷宫问题(java版)
剑指Offer--回溯算法解迷宫问题(java版) 以一个M×N的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍.设计程序,对任意设定的迷宫,求出从入口到出口的所有通路. 下面我们来详细讲一 ...
- ScheduledExecutorService和timer的异同
先来个传统的Timer的例子: package com.jerry.concurrency; import java.text.ParseException; import java.text.Sim ...
- Python 键盘鼠标监听
异想天开的想记录一下自己每天的键盘键位走向,于是就在网上搜索了一下相关的实现,然后就发现了一个第三方的库pyHook.封装的很好,我们只需要傻瓜式的调用里面的API就可以了. 下面是我在使用pyHoo ...
- springMVC系列之(三) spring+springMVC集成(annotation方式)
个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助.不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想.实践出真知. 1.基本概念 1.1.Spring Spri ...
- git提交代码到github
前言:转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52117504 git提交代码到github 命令汇总: git init git ...
- ubuntu安装水星MW150US无线网卡8188eu驱动
买了一个无线网卡插在ubuntu系统的电脑上,却不能识别出来.lsusb,可以看到下面的结果: Bus 002 Device 002: ID 0bda:8179 Realtek Semiconduct ...
- Java-IO之BufferedInputStream(缓冲输入流)
BufferedInputStream是缓冲输入流,继承于FilterInputStream,作用是为另一个输入流添加一些功能,本质上是通过一个内部缓冲数组实现的.例如,在新建某输入流对应的Buffe ...
- iOS中 流媒体播放和下载 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 iOS中关于流媒体的简介:介于下载本地播放与实时流媒体之间的一种播放形式,下载本地播放必须全部将文件下载完成后才能播 ...