linux命令文档: http://man.linuxde.net/par/1
1、ps aux | grep xxx 查找xxx的进程 ps:progress status 进程状态
2、
- top查看CPU占用情况
- netstat显示网络连接、路由表、网络接口信息 网络情况
- free查看内存使用情况
- df检查文件系统的磁盘空间的占用情况
- 创建文件: touch 文件名
- 创建目录: mkdir 目录名
- 查看文件: cat 文件名
- 移动: mv 源 目的
- 删除 : rm
- 切换目录: cd
- 显示当前路径: pwd
- 查看内存情况: free -m (df -h)
- > 文件名:清空某文件
- grep “要搜索的文本” 文件路径 -i :忽略大小写 -r:文件递归查找
- scp scp [-r] 源 目的 (远程主机:dev@ip:/路径 -r表示复制目录)
- wc -c显示字节数 -l显示函数 -w显示字数
- cp 源 目的 复制
- truncate -s 0 文件名1 文件名2 同时清空多个文件
- ps -ef | grep php-fpm | grep -v grep | awk '{print $2}' | xargs kill -9 杀所有php-fpm进程
3、netstat
netstat -tlnup|grep php-fpm 查看 php-fpm进程监听的端口号
-l:
listening
监控中的服务器的Socket
-t:tcp
显示TCP传输协议的连线状况
-u:udp
-n:
numeric
直接使用ip地址,而不通过域名服务器;
-p: programs:显示正在使用Socket的程序识别码和程序名称;
4、sed
grep "pvstat.js" -rl ./ | grep -v svn | xargs sed -i 's/pvstat.js?[0-9]\{8\}/pvstat.js\?20171023/' #替换pvstat.js?xxxxxxxx 为pvstat.js?20171023
-i 直接写入。例子:sed -i 's/book/books/' sed.log”替换sed.log文件里的book为books。。 sed 's/book/books/' sed.log--不修改文件,只打印替换结果
/g表示到最后。/Ng表示从第N处开始匹配。如 echo bookfdabookff | sed 's/book/books/2g'
s 替换指定字符
d 删除,删除选择的行。
常用命令:
a:新增 例:sed '2a 11111' sed.log #在sed.log文件的第二行下面插入11111
sed '1,3a 11111' sed.log #第1行到第3行下插入1111
c:替换 例:sed '1,3c 1111' sed.log #把sed.log文件里的第1行到第3行 替换成11111
d:删除 例:sed '1d' sed.log #删除第一行
sed '$d' sed.log #删除最后一行
sed '1,2d' ab #删除第一行到第二行
sed '2,$d' ab #删除第二行到最后一行
i:插入 例: sed -i 's/book/books/' sed.log”替换sed.log文件里的book为books
s:替换 例:sed 's/book/books/' sed.log #修改book为books
5、文件权限
chmod:改变文件权限 例:chmod 764 文件名;
r:可读---4; w:可写---2; x:可执行---1 -l查看文件属性
例:ls -l 文件名 查看文件
所有者权限--用户组权限--其他人权限 连接数 用户 用户组 文件大小 最后修改日期 文件名、
d开头表示目录
-开头表示文件
6、awk 文本分析工具
awk [options] 'BEGIN{ commands } pattern{ commands } END{ commands }' file
awk '{命令+字段}'
1、
echo -e '11 22 33 44\naa bb cc dd' | awk '{print $3" "$2" "$1}' (
-e选项的目的就是为了保持字符串中的\n的格式能够生效,否则该换行将被忽略。
)
输出:
33 22 11
cc bb aa
2、BEGIN语句块
BEGIN语句块是在匹配文件第一行之前运行的语句块。由于是匹配第一行之前运行,实际上在BEGIN语句块中 $n 是不可用的。
echo -e '1 2 3 4\n5 6 7 8' | awk 'BEGIN{print "c1 c2 c3";print ""}{print $3" "$2" "$1}'
输出为:
c1 c2 c3
3 2 1
7 6 5
3、
END语句块
END语句块是在awk循环执行完所有行的处理之后,才执行的,与BEGIN一样,END语句块也只执行一次,
echo -e '1\n2\n3' | awk 'BEGIN{print "begin"}{print $1}END{print "end"}'
输出:
begin
1
2
3
end
4、awk定义变量对列求和
test.txt 的内容如下:
11 22 33
23 45 34
22 32 43
awk 'BEGIN{sum=0}{sum+=$1}END{print sum}' test.txt
输出结果:56