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