linux文件目录管理命令

16 篇文章 0 订阅
8 篇文章 0 订阅

linux的文件目录管理命令这一节算是结束了;筛选了一些重要的知识点作此博客以为笔记;

 

 

使用Linux系统时,我们经常需要查找某些文件、目录;或者在文件中搜索某个关键词。这里我们就对常用的查找命令findlocategrep进行总结

 

find命令

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-path<范本样式>:指定字符串作为寻找目录的范本样式;
-regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;(正则表达式)
起始目录:查找文件的起始目录 参数:是查找文件/目录字符

实例:

find /home -name "*.txt"  //在/home目录下查找以.txt结尾的文件名
find /home -iname "*.txt"  //忽略大小写
find /usr/ -path "*locate*"  //匹配文件路径或者问及那
find . -regex ".*\(\.txt\|\.pdf\)$"  //基于正则表达式匹配文件路径
find . -iregex ".*\(\.txt\|\.pdf\)$"  //同上,但忽略大小写

locate命令

locate命令和slocate命令都用来查找文件或目录。

locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

语法:

locate [选项] [参数]

选项:
-d<目录>或--database=<目录>:指定数据库所在的目录;
-u:更新slocate数据库;
--help:显示帮助;
--version:显示版本信息。

实例:

locate 文件名
locate /etc/sh  //搜索etc目录下所有以sh开头的文件
locate ~/m  //搜索用户主目录下,所有以m开头的文件
locate -i ~/m  //忽略大小写

grep命令:

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(用于查找文件里符合条件的字符串 )

语法:
 

grep [选项] 字符串 文件

eg:
grep match_pattern file_name
grep "match_pattern" file_name

选项:

-a 不要忽略二进制数据。(用于在一个二进制文件中查找指定的字符串)
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数>或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。(按正则表达式查找字符串)
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。

实例:

grep match_pattern file_name //在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行
grep "match_pattern" file_name
grep "match_pattern" file_1 file_2 file_3 ... //在多个文件中查找
grep -v "match_pattern" file_name  //输出除之外的所有行 -v 选项
grep -E "[1-9]+"  //使用正则表达式 -E 选项
或
egrep "[1-9]+"

netstat -an | grep ":22"  //结合管道一起使用(重要)

 

 

 

 

下一节:管道符,重定向与环境变量

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值