linux常用命令

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




你可能感兴趣的:(Linux)