首页 > linux > 命令大杂烩(实用而经常记不牢)

命令大杂烩(实用而经常记不牢)

2015年8月10日 489 人阅读 发表评论 阅读评论

计算机领域水太深了,不可能什么都记住,所以只需要理解并记住核心的原理,其他的交给网络,用的时候查一下就可以了。整理平时自己觉得好用而又记不住的命令如下:

1、让内核参数立即生效:sysctl -p

2、从一堆文件中查找包含某个字符串的文件: find <directory> -type f -name “*.c” | xargs grep “<strings>”(ps:编译一堆文件时有变量冲突时特别好用,可以快速定位在那些文件中声明了相同的变量)

3、查看指定进程的环境变量:cat /proc/pid/environ | tr -s ‘\0’ ‘\n’

4、替掉已经登录的用户:pkill -kill -t pts/1 (ps:pts/1 是终端号)或者kill用户登录的bash进程。

5、通过pid查看对应的执行文件:lsof -p pid | grep txt (ps:这对查看来历不明的进程有帮助)

6、查看进程内存地址空间映射: pmap -x pid (ps:查看进程运行时实际加载的是那个库)

7、查看文件被那些进程打开:fuser -v filename (ps:对查看库被那些进程使用,在你要修改一个基础库在评估影响范围的时候就很好用)

8、查看程序的符号表:nm file 或者 readelf -s file (ps:排查编译连接失败,调用异常等问题很好用)

9、查看本地网段中的所有主机ip,先使用ifconfig命令找出本地网段的广播地址Bcast,然后执行,假设广播地址为:192.168.0.255,则执行:ping -b 192.168.0.255

10、当主机(线上的接入主机)上有大量的连接时,但要查看当前的连接状态时netstat基本无能为力,这时可以执行:cat /proc/net/sockstat

sockets: used:已使用的所有协议套接字总量
TCP: inuse:正在使用(正在侦听)的TCP套接字数量。其值≤ netstat –lnt | grep ^tcp | wc –l
TCP: orphan:无主(不属于任何进程)的TCP连接数(无用、待销毁的TCP socket数)
TCP: tw:等待关闭的TCP连接数。其值等于netstat –ant | grep TIME_WAIT | wc –l
TCP:alloc(allocated):已分配(已建立、已申请到sk_buff)的TCP套接字数量。其值等于netstat –ant | grep ^tcp | wc –l
TCP:mem:套接字缓冲区使用量(单位不详。用scp实测,速度在4803.9kB/s时:其值=11,netstat –ant 中相应的22端口的Recv-Q=0,Send-Q≈400)
UDP:inuse:正在使用的UDP套接字数量
RAW:
FRAG:使用的IP段数量

11、查看进程打开的文件:lsof -p pid

12、查看进程堆栈:pstack pid

13、查看进程的系统调用:strace -p pid

14、查看进程的库调用:ltrace -p pid

待添加…

分类: linux 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.