Linux 操作系统(二)搜索文件命令find、locate、which、whereis、grep、wc
以下命令均已在 Kali Linux 下验证。
1.find 命令
--1--
find /usr/share -name test.lst //精准搜索,文件名需要与-name后的内容一模一样包括后缀
--2--
find /usr/share -name "tes*" //通配符* 表示匹配所有
find /usr/share -name "test.???" //通配符? 表示匹配单个字符
--3--
find /usr/share -iname "test.lst" // -iname 参数,不区分文件名大小写
--4--
find /usr/share -size +1024 //按照文件大小查找; -size 参数 +n大于 -n小于 n等于; 1块=512k, 2048块=10M;
--5--
find /home -user root //按照所有者查找;
--6--
find /etc -mmin -30 //按时间属性查找,-amin访问时间
find /etc -cmin -30 //按时间属性查找,-cmi改变文件属性
find /etc -amin -30 //按时间属性查找,-amin改变文件内容
--7--
find /usr/share 条件1 -a 条件2 // -a 两个条件都需要满足
find /usr/share 条件1 -o 条件2 // -o 满足一个就可
如:
find /usr/share -name "test*" -a -type f //其中-type f文件 -type d 目录 -type l 软连接文件
--8--
find /usr/share -name "test.lst" -exec ls -l {} \; // -exec/-ok 把find命令的结果 用-exec/ok调用的命令2来处理;"{}"相当于占位符,作为find的查找结果。
注:
find 命令是直接在硬盘中进行搜索,如果指定的搜索范围过大,find命令就会消耗较大的系统资源,
导致服务器压力过大。所以,在使用 find 命令搜索时,尽量更精准的查找,这样消耗系统的资源少,
查找的速度快。命令所在路径:/bin/find.
示例:

--1--
root@hugboy:/home/hugboy# find /usr/share -name test.lst
/usr/share/john/test.lst
--2--
root@hugboy:/home/hugboy# find /usr/share -name tes*
/usr/share/postgresql-common/testsuite
/usr/share/automake-1.16/test-driver
/usr/share/icons/Flat-Remix-Blue-Dark/apps/scalable/teslagrad.svg
/usr/share/perl5/Mail/Mailer/testfile.pm
/usr/share/perl5/Sys/Hostname/testall.pl
/usr/share/sqlmap/lib/core/testing.py
/usr/share/sqlmap/lib/techniques/union/test.py
... root@hugboy:/home/hugboy# find /usr/share -name test.???
/usr/share/john/test.lst
/usr/share/wfuzz/wordlist/general/test.txt
/usr/share/doc/node-normalize.css/examples/test.svg
/usr/share/doc/p7zip/DOC/MANUAL/cmdline/commands/test.htm
--3--
root@hugboy:/home/hugboy# find /usr/share -iname test.lst
/usr/share/john/TesT.lst
/usr/share/john/test.lst
--4--
root@hugboy:/home/hugboy# find /usr/share -size +9999
/usr/share/exploitdb/files_exploits.csv
/usr/share/sqlmap/data/txt/wordlist.tx_
/usr/share/proj/proj.db
/usr/share/john/latin1.chr
/usr/share/john/utf8.chr
/usr/share/john/ascii.chr
/usr/share/basemap/data/UScounties.shp
/usr/share/basemap/data/shadedrelief.jpg
...
--5--
root@hugboy:/home/hugboy# find -user hugboy
.
./.bash_logout
./.Xauthority
./CTF/sm.txt
./.msf4
./.msf4/plugins
./.msf4/logos
./.msf4/history
./.msf4/logs
./.msf4/logs/sessions
./.msf4/logs/scripts
./.msf4/logs/scripts/scraper
...
--6-- root@hugboy:/home/hugboy# find /usr/share -amin -30
/usr/share
/usr/share/mime/image/jpeg.xml
/usr/share/mime/application/pdf.xml
/usr/share/icons/Adwaita/cursors/col-resize
/usr/share/icons/Adwaita/cursors/watch
/usr/share/icons/Flat-Remix-Blue-Dark/apps/scalable/vulnhub.svg
/usr/share/icons/Flat-Remix-Blue-Dark/apps/scalable/kali-web-application-trans.svg
/usr/share/icons/Flat-Remix-Blue-Dark/apps/scalable/devhelp.svg
/usr/share/icons/Flat-Remix-Blue-Dark/apps/scalable/accessories-text-editor.svg
...
--7--
root@hugboy:/home/hugboy# find /usr/share -name test.lst -a -type f
/usr/share/john/test.lst --8--
root@hugboy:/home/hugboy# find /usr/share -name test.lst -exec ls -l {} \;
-rw-r--r-- 1 root root 85 4月 27 21:19 /usr/share/john/test.lst
2.locate 命令
--1--
locate test.lst //从数据库中搜索文件名
--2--
updatedb // 更新数据库
--3--
locate -i test.lst
注:
1) locate相比find速度更快,因为它是从已经建立好的数据库中搜索文件,消耗系统资源非常小。
2) 但是locate不会实时更新数据库,新建的文件会搜索不到,需要手动更新。(updatadb)
3) locate不收录临时目录tmp下的文件。
4) 命令所在路径:/usr/bin/locate.
示例:

root@hugboy:/usr# touch ilovelisa
root@hugboy:/usr# locate ilovelisa
root@hugboy:/usr# updatedb
root@hugboy:/usr# locate ilovelisa
/usr/ilovelisa
3.which 命令
--1--
which cp //列出命令cp所在路径,和命令的别名(如果存在的话)
注:
所在路径:/usr/bin/which.
示例:

root@hugboy:/usr# which find
/usr/bin/find
root@hugboy:/usr# which cp
/usr/bin/cp
root@hugboy:/usr#
4.whereis 命令
--1--
whereis cp //查找二进制命令,源文件和帮助文档的命令
注:
所在路径:/usr/bin/whereis.
示例:

root@hugboy:/usr# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
5.grep 命令
--1--
grep "this" test.lst //存在内容"test"的行
--2--
grep -i "this" test.lst //忽略大小写
--3--
grep -v "this" test.lst //反转查找,不存在内容"test"的行
--4--
grep "^string" test.lst //以string开头
grep "string$" test.lst //以string结尾
grep "^$" test.lst //空行
注:
所在路径:/bin/grep.
示例:

root@hugboy:/usr/share/john# cat test.lst
This a test to proof linux order. and my love Godness is Lisa hahah...
Just a Test.
this all,Bye~
--1--
root@hugboy:/usr/share/john# grep "this" test.lst
this all,Bye~ --2--
root@hugboy:/usr/share/john# grep -i "this" test.lst
This a test to proof linux order.
this all,Bye~ --3--
root@hugboy:/usr/share/john# grep -v "this" test.lst
This a test to proof linux order. and my love Godness is Lisa hahah...
Just a Test. --4--
root@hugboy:/usr/share/john# grep "...$" test.lst
This a test to proof linux order.
and my love Godness is Lisa hahah...
Just a Test.
this all,Bye~ root@hugboy:/usr/share/john# grep "^$" test.lst root@hugboy:/usr/share/john# grep -n "^$" test.lst
2:
6.wc 统计
--1--
wc -l test.lst // 行数
wc -w test.lst // 单词数
wc -c test.lst // 字节数
注:
命令所在路径:/usr/bin/wc.
示例:

root@hugboy:/usr/share/john# wc -l test.lst
5 test.lst
root@hugboy:/usr/share/john# wc -w test.lst
19 test.lst
root@hugboy:/usr/share/john# wc -c test.lst
99 test.lst
root@hugboy:/usr/share/john#
7.参考文章
Linux 操作系统(二)搜索文件命令find、locate、which、whereis、grep、wc的更多相关文章
- Linux下相关查找文件命令(find locate which whereis type)
以下内容摘自:http://blog.csdn.net/jessica1201/article/details/8139249 标注的内容为自己的补充: 我们经常需要在系统中查找一个文件,那么在lin ...
- [转载] Linux中的搜索文件命令
搜索文件用处很大,我们往往需要知道一个文件存放在什么地方,我们又知道Linux是命令强大的一个系统,所以也有好多非常优秀的搜索命令.通常find不常用,因为速度慢,耗费硬盘空间.通常我们先使用wher ...
- linux笔记:搜索命令find,locate,which,whereis,grep
命令名称:find功能:文件搜索命令所在路径:/bin/find用法:find 搜索范围 匹配条件其他:举例:find /root -name initfind /root -size +1024fi ...
- Linux下的搜索查找命令的详解(whereis)
2.whereis 和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据 ...
- S5 Linux信息显示与搜索文件命令
5.1-5 uname.hostname.dmesg.stat.du 5.6 date:显示与设置系统时间 5.7 echo:显示一行文本 5.8-12 watch.which.whereis.loc ...
- Linux下搜索文件find、which、whereis、locate
Linux下搜索文件find.which.whereis.locate: - which 寻找“执行文件” - -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称 - whereis 寻 ...
- linux中其他搜索命令(locate/which/whereis/grep)
目录 locate which whereis grep locate 解释 命令名称:locate 命令所在路径:/usr/bin/locate 执行权限:所有用户 功能描述:在文件资料库中查找文件 ...
- linux执行sh脚本文件命令
linux执行sh脚本文件命令 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本 ...
- Linux操作系统中打开文件数量的查看方法
Linux操作系统中打开文件数量的查看方法ulimit -n 4096也就是限制用户的最大文件打开数为4096个 在网上查了关于怎么查看文件打开数的文章大致有两种说法/proc/sys/fs/file ...
随机推荐
- python基础(〇):注释
单行注释 Python中单行注释以 # 开头,例如: # 这是一个注释1 print("Hello, World!") # 这是一个注释2 多行注释 单引号(''') ''' 这是 ...
- 【Java】7.0 进制转换
[二进制转十进制] public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.p ...
- 【Java】 5.0 判断与转换
[概述] 在if/条件语句中,我们已经谈及判断了,这次将详细讲讲一些逻辑判断 基本逻辑 &:且,And,需要二者均为True |:或,Or ,需要二者其一为False即可 ^:异或,XOE,两 ...
- 【故障公告】数据库服务器 CPU 100% 引发网站故障
悄悄地它又突然来了 -- 数据库服务器 CPU 100% 问题,上次光临时间是 3-30 8:48,这次是 4-28 9:41. 这次我们做出了快速反应,发现后立即进行主备切换,这次一次切换成功,CP ...
- Qt开发技术:Qt拽拖开发(一)拽托框架详解及Demo
前话 Qt中的拽拖操作详细介绍. Demo 图片拽拖 控件拽拖 窗口拽拖 拽托框架(高级开发) 拖放(Drag and Drop) 拖放提供了一种简单的可视 ...
- 使用IDEA模拟git命令使用的常见场景
目录 使用IDEA模拟git命令使用的常见场景 前期准备 新建一个远程仓库 在一个文件夹内建立两个子文件夹作为两个本地仓库的存放位置 本地仓库与远程仓库建立联系 模拟两个用户协同开发的场景(使用IDE ...
- Vue 批量注册局部组件及应用
博客地址:https://ainyi.com/105 批量注册路由的有个博客说到:https://ainyi.com/77 实际工作中,可能会遇到一个大页面里面有很多个模块,这些模块一般是需要拆分到单 ...
- hdu 3721 树的最小直径
题意: 给你一棵树,让你改变一条边,改变之后依然是一棵树,然后问你怎样改变才能让树的直径最短.这里的改变一条边指的是指把一条边长度不变,连在别的两个点上. 思路: 首先求出树的 ...
- hdu4720 三角形的外接圆
题意: 给你四个点,问你第四个点是否在前三个点围成的三角形的外接圆上. 思路: 水题,就是练练用魔板罢了,当该三角形是锐角三角形的时候,圆心是任意两条边中垂线的交点,半径是圆心 ...
- Python中的socket网络模块
目录 Socket 服务端(server.py) 客户端(client.py) socket中的一些常用方法 Socket 对象(内建)方法 Python Internet 模块 Python3 提供 ...