Linux常用命令——查找相关

本文介绍了Linux系统中常用的命令,包括grep用于搜索文本、sed用于文本替换、awk进行数据处理及报告生成、find查找文件等。此外还涉及head、tail、cat等命令的基本用法。

grep命令

  • 功能:按行匹配字符串,支持遍历目录
-A<数字N> :显示匹配结果后N行
-B<数字N>:显示匹配结果前N行
-i:忽略大小写
-n:显示行号
-v:显示不匹配的行
-r:递归匹配,可对目录进行匹配
-c:统计匹配的行数,如果1行中匹配多次,也只记作1次
-E:支持正则表达式,默认是不支持的
##示例
grep "hello" hello.c		#在hello.c文件中匹配字符串hello
grep -E "^hello$" hello.c	#匹配仅含有hello的行
grep -r "hello" src			#src目录中匹配字符串hello
grep -c "hello" hello.c		#hello.c文件中出现hello的行数
grep -o "hello" hello.c | grep -c "hello"	#hello.c文件在hello出现的次数

sed命令

  • 将文本分成按行处理

awk命令

  • 按行处理,将每行分成多段
awk '$1=$1' <文件名>		#去除文件每行前后的空格
aa=${aa//,/ }			#将变量aa中的,替换成空格		

find命令

  • 查找文件
-name <文件名>		#支持正则表达式
-iname <文件名>		#忽略大小写
-path <路径格式>		#结果符合路径格式,支持正则表达式,如:"./aaa/*"
-ipath <路径格式>	#忽略大小写
-type <文件类型>		#d:目录文件	c:字型文件 b:块文件 f:普通文件 l:链接文件 s:socket
-perm <权限>			#如/644,/u=x
-user <用户名>		#如root
-nouser				#没有属主的文件
-group <组名>		#按文件所属组查找
-nogroup			#没有属组的文件
-size <文件大小>		#超过1M:+1M,小于1k:-1k
-mtime <修改时间>	#2天内:-2,2天前:+2
-atime <访问时间>	#3天内:-3,3天前:+3
-ctime <状态改变时间>	#4天内:-4,4天前:+4
-newer <文件>		#比指定文件新
! -newer <文件>		#比指定文件旧
-exec <命令> \;		#查找后执行命令,删除文件:rm {},{}表示查找到的文件
-ok <命令> \;		#同exec,执行命令前需要确认,备份文件:cp {} {}.bak
-print				#输出到控制台,默认
-printf <格式>		#按指定格式输出,如
-fprint <文件名>		#输出到指定文件,结果之间换行
-fprint0 <文件名>	#输出到指定文件,结果之间没有任何分隔

##示例
find -name "*.log"		#查找当前目录下以".log"结尾的文件
find /home/aaa/ -name "a.log" -exec cp {} {}.bak \;	#在/home/aaa目录下查找a.log并备份
find -size +1M -fprint a.out	#在当前目录下查找大于1M的文件,并保存在a.out中

head命令

  • 显示文件开始部分内容
-数字N:显示文件前N行内容
-c <字节数>:显示文件前N个字节内容

#示例
head -10 hello.c		#显示hello.c前10行
head -c 10 hello.c		#显示hello.c前10个字节

tail命令

  • 显示文件末尾内容
-数字N:显示文件后N行内容
-c 数字N:显示文件后N个字节内容

#示例
tail -10 hello.c		#显示hello.c后10行
tail -c 10 hello.c		#显示hello.c后10个字节
tail -f hello.c			#实时显示hello.c末尾的内容

cat命令

  • 显示文件所有的内容,或拼接文件
-n:显示行号
-b:只对非空行进行编号

#示例
cat -n hello.c				#显示hello.c的所有内容
cat a.log b.log > ab.log	#拼接a.log和b.log为ab.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值