文件相关
- readelf: 用来显示一个或者多个elf格式的目标文件的信息
ELF格式的文件:
- 动态库( 用于和其他共享目标文件或者可重定位文件一起生成elf目标文件或者和执行文件一起创建进程映像)
- .o 文件(可重定位的ELF格式文件)( 用户和其他目标文件一起创建可执行文件或者共享目标文件)
- 可执行程序( 用于生成进程映像,载入内存执行,例如编译好的可执行文件a.out)
- objdump:
用来显示二进制文件的信息,就是以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息
objdump -ds 可执行文件 显示反汇编信息
nm: 显示二进制目标文件的符号表。
file: 用来探测给定文件的类型
ldd 可执行文件 : 列出动态库的依赖关系
系统相关:
free:该命令可显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
-b:以byte为单位显示
-m:以MB为单位显示
-k:以KB为单位显示
uptime:能够打印系统总共运行了多长时间和系统的平均负载
top: 可以实时动态地查看系统的整体运行情况
df:用于显示磁盘分区上的可使用的磁盘空间
默认显示单位为kb
df -h
以kb以上的单位来显示,可读性高。
进程相关
bg:将作业放在后台执行,使前台执行其他任务
在指令后面添加&
也有同样功效。
fg:将后台作业提到前台来执行。
job:查看后台任务
-l
选项可以显示进程号
ps:用于查看系统进程状况
它所涉及的选项非常多,介绍几种常用命令:
ps -ef|grep a.out|grep -v grep
查看进程名为a.out的所有进程。
-e
选项显示所有进程
-f
选项显示PID、PPID等头部信息ps axj
a
:列出当前及其他所有用户的进程
x
:列出所有有控制终端或无控制终端的进程
j
:列出与作业控制相关信息
pstree:打印进程数
pstree | grep -A2 -B2 "bash"
打印bash进程的上下两行
size+进程名:查看各个段的长度(代码段、数据段、堆栈段等)
echo $? 查看进程的退出码
网络相关
ping:测试主机之间网络的连通性,基于ICMP协议
netstat:用来查看网络系统的状态
netstat -a 列出所有端口
netstat -l 列出监听状态的socket
netstat -s 显示所有端口的统计信息
netstat -pt 在netstat输出中显示 PID 和进程名称
arp:显示arp缓冲区的所有条目
traceroute:追踪数据包在网络上的传输时的全部路径
tracert:用来探测路由经过
host:分析域名查询工具
route:显示本机路由表的内容,还可对其进行修改
ifconfig:用于配置和显示Linux内核中网络接口的网络参数