pgrep

pgrep名字前有个p,咱们能够猜到这和过程相干,又是grep,当然这是过程相干的grep命令。不过,这个命令次要是用来列举过程ID的

想要找到 SSH 服务器的 PID

> pgrep ssh1529284392844228719
pgrep会在每一行打印一个匹配的过程。-d选项容许你指定一个分隔符
> pgrep ssh -d " "1529 28439 28442 28719 28810 28813

-l选项通知pgrep显示名称和 ID:

> pgrep -l ssh1529 sshd28439 sshd28442 sshd28719 sshd

pstree

这个命令能够以树形的形式列出过程
> systemd─┬─NetworkManager───2*[{NetworkManager}]        ├─VGAuthService        ├─abrt-watch-log        ├─abrtd        ├─agetty        ├─atd        ├─auditd───{auditd}        ├─crond        ├─dbus-daemon───{dbus-daemon}        ├─firewalld───{firewalld}        ├─gssproxy───5*[{gssproxy}]        ├─irqbalance        ├─java───28*[{java}]        ├─lsmd        ├─lvmetad        ├─master─┬─pickup        │        └─qmgr        ├─mcelog        ├─nginx───nginx        ├─ntpd        ├─polkitd───6*[{polkitd}]        ├─redis-server───4*[{redis-server}]        ├─rngd        ├─rpcbind        ├─rsyslogd───2*[{rsyslogd}]        ├─smartd        ├─sshd─┬─sshd───sshd───sftp-server        │      └─sshd─┬─bash───pstree        │             └─sftp-server        ├─systemd-journal        ├─systemd-logind        ├─systemd-udevd        ├─tuned───4*[{tuned}]        └─vmtoolsd───2*[{vmtoolsd}]

bc

这个命令次要是做一个精度比拟高的数学运算的。比方开平方根等。上面是一个咱们利用bc命令写的一个脚本(文件名:sqrt)
#!/bin/bashif [ $# -ne 1 ]then    echo 'Usage: sqrt number'    exit 1else    echo -e "sqrt($1)\nquit\n" | bc -q -ifi
> ./sqrt.sh 123.00sqrt(123.00)11.09quit

split

如果你有一个很大的文件,你想把其宰割成一些小的文件,那么这个命令就是干这件事的了
> split -b 100m mysql.tar> ls -lh-rw-r--r--. 1 root root 517M Jun 21 22:35 mysql.tar-rw-r--r--. 1 root root 100M Jun 21 22:35 xaa-rw-r--r--. 1 root root 100M Jun 21 22:35 xab-rw-r--r--. 1 root root 100M Jun 21 22:35 xac-rw-r--r--. 1 root root 100M Jun 21 22:35 xad-rw-r--r--. 1 root root 100M Jun 21 22:35 xae-rw-r--r--. 1 root root  17M Jun 21 22:35 xaf
文件合并
> cat xa* > mysql.tar 

nl

nl命令其它和cat命令很像,只不过它会打上行号
> nl rumenz.sh     1  123     2  345     3  rumenz.com     4  111     5  222

ldd

这个命令能够晓得你的一个可执行文件所应用了动态链接库
> ldd /usr/bin/ls        linux-vdso.so.1 =>  (0x00007ffdb51ba000)        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4518ead000)        libcap.so.2 => /lib64/libcap.so.2 (0x00007f4518ca8000)        libacl.so.1 => /lib64/libacl.so.1 (0x00007f4518a9f000)        libc.so.6 => /lib64/libc.so.6 (0x00007f45186d1000)        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f451846f000)        libdl.so.2 => /lib64/libdl.so.2 (0x00007f451826b000)        /lib64/ld-linux-x86-64.so.2 (0x00007f45190d4000)        libattr.so.1 => /lib64/libattr.so.1 (0x00007f4518066000)        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4517e4a000)

col

这个命令能够让你把man文件转成纯文本文件。如下示例:
> PAGER=cat> man ls | col -b > ls.txt

lsof

能够列出关上了的文件。
> lsof rumenz.txt 显示开启文件rumenz.txt的过程> lsof -c nginx 显示出以字母nginx结尾过程当初关上的文件> lsof -p 1234 列出过程号为1234的过程所关上的文件> lsof -g gname/gid 显示归属gname或gid的过程状况> lsof -u uname/uid 显示归属uname或uid的过程状况> lsof +d /usr/local/ 显示目录下被过程开启的文件> lsof +D /usr/local/ 同上,然而会搜寻目录下的目录,工夫较长> lsof -d 4 显示应用fd为4的过程> lsof -i 用以显示符合条件的过程状况

原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站