美文网首页
linux基本命令练习

linux基本命令练习

作者: 舒小贱 | 来源:发表于2017-09-19 14:34 被阅读0次

    给一个ngx日志文件,统计出http相应速度最慢的前10个url:

    awk '{print $i}' access.log | sort -nr -k 1 | head -10
    

    其中print $i表示打印哪一行, -nr表示逆序,-k表示按指定行排,head -10表示前10行

    查看进程:

    ps aux|grep php
    

    注意:ps是显示当前状态处于running的进程,grep表示在这些里搜索,而ps aux是显示所有进程和其状态。如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    ps aux输出格式:
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    比如上面命令输出为:

    [minping@localhost ~]$ ps aux | grep php
    minping  12362  0.0  0.0 112660   976 pts/1    S+   13:38   0:00 grep --color=auto php
    [minping@localhost ~]$ 
    

    查看最大文件打开数:在Linux下有时会遇到Socket/File : Can't open so many files的问题。其实Linux是有文件句柄限制的,而且Linux默认一般都是1024(阿里云主机默认是65535)。在生产环境中很容易到达这个值,因此这里就会成为系统的瓶颈。:

    ulimit -a
    

    返回结果为:

    [minping@localhost ~]$ ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 7881
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 1024
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 4096
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    [minping@localhost ~]$ 
    

    其中的open files就是最大文件打开数

    创建一个新的tar文件:

    tar cvf minping.tar minping/
    

    解压一个tar文件:

    tar zvf minping.tar
    

    解压一个tar.gz文件:

    tar zxvf minping.tar.gz
    

    从一个文件中查找字符( 其中-i表示胡列字符大小写的区别,如果不加-i就搜索不出来‘The’这种字符):

    grep -i 'the' nubo.txt
    

    从文件中查找符合的字符,输出此行及之后的三行:

    gerp -A 3 -i 'the' nubo.txt
    

    在一个文件夹中递归查询包含特定字符的文件:

    gerp -r -i 'the' minping/
    

    查找指定文件名的文件:

    find -iname 'minping.txt'
    

    对找到的某个文件执行某个操作:

    find -iname 'minping.ext' -exec md5sum {} \
    

    找出当前用户根目录下的空文件

    find ~ -empty
    

    ssh远程登录到主机:

    ssh -l minping 10.74.95.145
    

    ssh登录调试:

    ssh -v -l jsmith remotehost.example.com
    

    打印文件中的指定部分的字段:

    awk '{print  $3,$5;}' employee.txt
    

    打开文件并跳到第10行:

    vim +10 employee.txt
    

    打开文件跳到第一个匹配的行:

    vim +/search_item employee.txt
    

    以只读模式打开文件:

    vim -R employee.txt
    

    比较的时候忽略空白符:

    diff -w list.txt   list_new.txt
    

    以升序对文件内容排序:

    sort list.txt
    

    以升序对文件内容排序:

    sort -r list.txt
    

    以第三个字段对文本内容进行排序

    sort -t: -k 3n list.txt | more
    

    下载文件并以指定的文件名来保存:

    wget -o myname.txt http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
    

    创建软链接:

    ln -s file1 file1soft
    

    查看软链接:

    [root@localhost minping]# ls -il
    total 20
    1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
    1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
    1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
    

    参考

    相关文章

      网友评论

          本文标题:linux基本命令练习

          本文链接:https://www.haomeiwen.com/subject/fhswsxtx.html