linux四剑客awk 、sed、grep 、find

find(查找文件或者目录)

find path -name “targetName”

find path -name “targetName” -type f(文件)

find path -name “targetName” -type d(目录)

find path -name “targetName” -type f - perm 644(权限, 文件默认666 目录777 ,但Linux会默认减去022)

find path -name “targetName” -type f -size +5k(大于5K, +5M大于5M)

find path -name “targetName” -type f(文件) -mtime(修改时间) +30(30天以前,只能以天为单位

find path -name “targetName” -type f(文件) -mtime(修改时间) -30(30天以内,只能以天为单位

find path -name “targetName” -type f -mtime -30 | xargs rm -rf {} ; (xargs是承接的意思, 用exec替换xargs,功能更广)
比如:xargs 不能进行复制, exec可以

find . -type f -exec chmod -R 644 {} ; //将当前目录下的所有文件的权限都改成644
find . -type d -exec chmod -R 755 {} ; //将当前目录下的所有文件的权限都改成755

grep 查找文件中的内容

grep -n(显示行号) --color(显示色彩) “要查找的内容” path
grep -n(显示行号) --color(显示色彩) “要查找的内容 ( ( (表示以什么结尾 )” path

grep “查找的目标” path

grep -v “不想看到的目标” path(-v 就是 取反,不找什么什么)
grep -v "^$"以空开头, 以空结尾 (可以去掉空行, 空行以空开头,以空结尾)

grep - aciv

  • a 以文本的方式搜索
  • c 计算符合的行数
  • i 忽略大小写
  • v 反向选择,即不显示包含的
  • n 显示行号
  • l 只显示匹配的文件名, 不显示匹配的内容
  • E 加上扩展 grep -e ==egrep
    例如 egrep + 正则 来匹配IP地址
    egrep --color “([0-9]){1,3}.){3} [0-9]{1,3}$” // .前必须➕\ 转义字符

awk 对列处理能力好, 对行处理能力差

文件/日志分析神器(列和列之间以空格分开的)

awk ‘{print $1}’ test.txt // 打印test.txt文件中的第一列
'{print $1}'是一个整体(用‘’ 括起来)
{ }是固定格式
$1 表示第一列 $3 第三列 $NF最后一列 $(NF-1)倒数第二列…

awk -F 指定列分割符 ‘{}’ 具体文件
”“ 双引号在awk中表示添加的意思 ,双引号内是什么,就添加什么

eg :awk -F: ‘{print $1 “:” $NF}’ test.txt|head 5 //打印test.txt文件以:为列分割 的前5行 的第一列和最后一列,用 :连接

-F就是指定切分格式 (默认为空格)

hostname ifconfig | grep "inet addr:"|grep -v "127" |awk '{print $2}'|awk -F. '{print $1"-"$2"-"$3"-"$4"-lny"}' //修改了hostname

`` //反引号 可以让内部的命令行语句变成shell指令

sed

类似于awk, sed 简单,对列处理能力差,对行处理能力好
/可以替换成#号

sed -i’s/jd.com/baidu.com/’
sed -i ‘s#jd.com#baidu.com#’
sed ‘s#jd.com#baidu.com#1’//替换1行
sed ‘s#jd.com#baidu.com#2’//替换2行
sed ‘s#jd.com#baidu.com#g’//全部替换

s表示替换哪行

  • i 表示修改后保存, 不加-i修改无效

sed 命令中有变量, 必须用双引号

删除:d命令
$ sed ‘2d’ example-----删除example文件的第二行。
$ sed ‘2,$d’ example-----删除example文件的第二行到末尾所有行。
$ sed ‘$d’ example-----删除example文件的最后一行。
$ sed '/test/'d example-----删除example文件所有包含test的行。

从文件读入:r命令
$ sed ‘/test/r file’ example-----file里的内容被读进来,显示在与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面。

写入文件:w命令
$ sed -n ‘/test/w file’ example-----在example中所有包含test的行都被写入file里。

追加命令:a命令
$ sed ‘/^test/a\—>this is a example’ example<-----'this is a example’被追加到以test开头的行后面,sed要求命令a后面有一个反斜杠。

插入:i命令
$ sed ‘/test/i\
new line
-------------------------’ example
如果test被匹配,则把反斜杠后面的文本插入到匹配行的前面。

下一个:n命令
$ sed ‘/test/{ n; s/aa/bb/; }’ example-----如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续。

变形:y命令
$ sed ‘1,10y/abcde/ABCDE/’ example-----把1–10行内所有abcde转变为大写,注意,正则表达式元字符不能使用这个命令。

退出:q命令
$ sed ‘10q’ example-----打印完第10行后,退出sed。
保持和获取:h命令和G命令

top命令详解
https://www.cnblogs.com/makelu/p/11169270.html

free(看内存)
https://www.cnblogs.com/ultranms/p/9254160.html

df(看文件系统磁盘使用情况)

mpstat 看CPU信息 (top)

netstat 看网络相关的状态https://www.cnblogs.com/ftl1012/p/netstat.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值