Linux重要命令

1、进程 | 线程操作

ps               默认查看当前终端中运行的线程

ps  -eLf      带上参数L可以查看正在运行的线程id

 

top            系统检测工具

top  -H      显示应用程序的每一个线程信息

top  fj        显示进程或线程在哪个cpu上运行

 

2、调试程序gdb

l ---------显示代码      b ---------加断点     info  break-------显示断点信息

r---------启动程序      n---------下一步       c--------继续运行

s---------进入函数      p---------打印         finish---------退出函数

bt-------显示函数调用栈关系

set  follow-fork-mode child    跟踪子进程

attach  pid                            选择跟踪哪个子进程

info  threads                         显示可调试线程信息(线程id)

thead  id                               调试指定线程

 

3、ldd  main            查看某个程序使用了哪些共享库

4、nm  main            查看二进制目标文件中的符号表,即函数名、逻辑地址等。

5、objdump            查看二进制目标文件的构成

6、strace                跟踪程序执行过程使用了哪些系统调用函数

7、ltrace                 跟踪程序执行过程使用了哪些库函数

8、ipcs                   查看系统当前 信号量、共享内存、消息队列的使用情况

           ipcs  -m       查看共享内存信息

           ipcs  -q        查看消息队列信息

           ipcs  -s        查看信号量信息 

           ipcrm  -m    移除shmid标识的共享内存段

           ipcrm  -s     移除semid标识的信号量

           ipcrm  -q    移除msgid标识的消息队列

 

9、netstat(ss) 查看网络相关信息、TCP连接、TCP和UDP监听。

                            可查看tcp连接状态、某个进程使用哪个端口、查看发送缓冲区,接收缓冲区中的数据字节数

10、lsof    查看某个进程打开的文件

11、mpstat 获取多个处理器使用情况(CPU相关的统计信息)

       mpstat可以显示每一个处理器的统计信息,vmstat显示所有处理器的统计信息。

12、vmstat  可实时输出系统各种资源的使用情况,如内存、cpu、io等

13、tcpdump 网络抓包工具

14、nc  快速构建一个网络连接,可以服务端运行,也可以作为客户端。也能扫描某个端口是否打开。

15、sar 收集系统性能信息

16、free  系统内存使用情况

17、slabtop  实时显示系统如何分配各种缓存,以及缓存的使用情况

18、time  测试程序执行的性能,如运行时间

19、iostat 显示磁盘信息

20、ifconfig 查看ip地址

21、ethtool  显示以太网设备统计信息及配置信息

22、taskset 设置某个进程在哪个cpu上运行

猜你喜欢

转载自blog.csdn.net/ShWe_yayaya/article/details/82254910