linux步步为营(1)--高级

 lsof  -f | grep Log

查看那个在用Log 文件,//一个应用起了两个程序,看那个的端口起来了

        终端:交互工具,用户用来与shell环境交互。

        echo: 

                bash不会对单引号引用变量求值echo '$JAVA_HOME'

                双引号引用的!要进行转义\!

        变量:bash中,每个变量的值都是字符串,不用声明类型。        

        cat /proc/$PID/environ //$PID 为进程号,查看进程的环境变量。

        echo $SHELL //显示当前shell

        echo $UID //显示是否为超级用户 0是

        ~ //当前用户的根目录

        

        shell文件第一行:#!bin/bash 注释

        

        sh -> bash 怎么重命名?

        

        文件描述符、重定向

                文件描述符,是个正数。系统预留:0=stdin,1=stdout,2=stderr

                ">"=输出 "|"=输入

                ll + >a.txt (1>等于>): 错误提示不能输入到文件

                ll + 2>a.txt :: 错误提示可以输入到文件

        

        tee

                cat a* | tee o1 o2 | cat -n //tee把一份副本写入o1,o2,另一份作为后续命令的stdin

                

        IFS(internal Field Separator)默认值:空白字符()

        

        循环        

                

        cat a.txt -n //显示行号

        

        find /usr/ -name "*dev" //通配符

        

        管道:把一个命令的stdout,重定向到另一个命令的stdio

        xargs: 把stdio转换为命令行参数,多行单行互转。

                多行-->单行 cat e.txt | xargs

                每行3列: cat e.txt | xargs -n 3

                -d指定分隔符:echo "12,34,55,66" | xargs -d , -n 2

                

        sort:

                sort -nrk 2 ee.txt //-nrk//n=数字、r=逆序,"k 2"=第二列                

        sort ee.txt |uniq -c //uniq 过滤重复,-c 重复次数

        

        grep (Globally search a Regular Expression and Print)

                grep -E "roleId :[0-9]+" logs/catalina.out //"E" 使用正则,只支持基本的,不支持"\d"

                grep -C 10 "wnj" logs/catalina.out //-A,-B //上下10行

                

        ssh 粘贴 shift+insert        

                

        sed(stream editor) 

                sed 's/9/nine/g' ee.txt //替换,g表示全部,可以不用。同vi

                

        awk:对数据流的行和列操作。

                NR: number of record 行数; NF: number of fields 列数; $0 当前文本; $1 当前文本第一列

                

        循环文本每一行        

                cat ee.txt |(while read t ; do echo $t+"--"; done)        

        循环文本每一行每一个单词

                cat ee.txt |(while read t ; do for w in $t; do echo $w+"=="; done;done) 

        

        tar -zcvf a.tar.gz tmp/ //

        tar -zxcv a.tar.gz        

                

        du:disk useage 文件/文件夹大小。占用磁盘空间

        df: disk free 磁盘未用空间                

        

        which: 返回命令的位置//#which ls

相关推荐