Linux中几个你不常用,但却很有用的命令
公众号程序猿DD
共 3507字,需浏览 8分钟
· 2022-06-09
这些命令可能你没怎么用过,但记住他们,需要的时候可以帮大忙!
pgrep
pgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的
想要找到 SSH 服务器的 PID
> pgrep ssh
1529
28439
28442
28719
pgrep会在每一行打印一个匹配的进程。-d选项允许你指定一个分隔符
> pgrep ssh -d " "
1529 28439 28442 28719 28810 28813
-l选项告诉pgrep显示名称和 ID:
> pgrep -l ssh
1529 sshd
28439 sshd
28442 sshd
28719 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/bash
if [ $# -ne 1 ]
then
echo 'Usage: sqrt number'
exit 1
else
echo -e "sqrt($1)\nquit\n" | bc -q -i
fi
> ./sqrt.sh 123.00
sqrt(123.00)
11.09
quit
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 用以显示符合条件的进程情况
推荐阅读
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。
评论
金融研究 | 使用Python测量关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
我看阿里的年终奖总算发了!
到4月底了,这两天看朋友圈,发现阿里的年终奖终于发了,问了问老同学,也从网上检索了不少信息,基本搞清楚了阿里今年的年终奖情况。近来来阿里一些集团对绩效等级做了较大的调整,以前的旧绩效系统中,绩效分为3.25、3.5、3.75、4和5五个等级,其中4和5是较高绩效等级,较少见。而且之前3.5绩效内部划
公子龙
0
金融研究(更新) | 使用Python构建关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
偷偷告诉你如何一台电脑开多个微信!
大家好,我是轩辕。前几天在粉丝群里,有人问我是怎么在一台电脑上同时登录两个微信的?正好之前写过一篇文章,分析过原理,分享给没看过的小伙伴学习一下。手机端多开微信估计很多人都知道,像华为、小米等手机系统都对此做了支持,不过在运行Windows系统的电脑上怎么启动两个微信呢?其实很简单,你只需要写一个批
编程技术宇宙
0
盘点Lombok的几个骚操作,你绝对没用过!
👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接:http://116.62.199.48/ ,新项目正在酝酿中
小哈学Java
0
堪称最优秀的Docker可视化管理工具——Portainer你真的会用吗?
来源:blog.csdn.net/shark_chili3007/article/details/123366179👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目
小哈学Java
0
Apache Paimon毕业,湖仓架构的未来发展趋势!
北京时间 2024 年 4 月 16日,开源软件基金会 Apache Software Foundation(以下简称 ASF)正式宣布 Apache Paimon 毕业成为 Apache 顶级项目(TLP, Top Level Project)。经过社区的共同努力和持续创新,Apache Paim
程序源代码
0
JS的这些新特性,你都用过么?
大厂技术 高级前端 Node进阶点击上方 程序员成长指北,关注公众号回复1,加入高级Node交流群作为一门不断演进的语言,JavaScript每年都会引入新特性。这些特性的加入,能够帮助我们编写更加简洁、高效、易于维护的代码。然而,并非所有新特性
程序员成长指北
1