1、常用的ps命令参数选项组合
ps:列出系统中运行进程,和他支持的参数选项组合显示进程的一些特性
参数:a:显示所有用户的所有进程(包括其它用户
u:按用户名和启动时间的顺序来显示进程
x:显示无控制终端的进程
-e:显示所有进程,环境变量
-f:全格式
1)ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 进程所有者
PID: 进程ID
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 终端的次要装置号码
STAT: 进程状态
START: 启动进程的时间
TIME: 进程消耗CPU的时间
COMMAND:命令的名称和参数
2)ps -ef
UID PID PPID C STIME TTY TIME CMD
UID: 用户id
PPID: 父进程id
C:占用的 CPU 使用率
3)查看进程中的特定线程
ps aux -L grep 线程id
4)查看进程中线程使用情况
ps -mp 3276 -o THREAD,tid,time | sort -rn
2、压缩命令tar
tar:压缩和解压缩命令
参数:
-c:创建一个新归档
-x:从归档中解出文件
-t:列出归档内容
-z:通过 gzip 压缩归档
-j:通过 bzip2 压缩归档
-J:通过 xz 过滤归档
-v:详细地列出处理的文件过程
1)压缩tar -cvf xxx.tar *
2)解压缩tar -xvf xxx.tar
3、tail命令用途是依照要求将指定的文件的最后部分输出
tail -f xxx(监视xxx文件的尾部内容)
tail -n 100 xxx(查看xxx文件的最后100行)
4、fdisk查看磁盘或设置磁盘分区
fdisk -l(查看磁盘分区)
fdisk /dev/xx(设置磁盘,根据提示设置)
5、dd(用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换)
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
1)备份dd if=/dev/sdb1 of=./sdb1.img bs=1M
2)恢复dd if=./sdb1.img of=/dev/sdb1 bs=1M
6、patch用于修补文件
1)产生补丁文件 diff
2)打补丁 patch -p0 < xxx
7、uptime 主要用于获取主机运行时长和查询Linux系统负载等信息
10:22:17 up 1:15, 3 users, load average: 0.06, 0.03, 0.01
现在时间、系统已经运行时间、当前登录用户数、系统在过去 1 分钟, 5 分钟,15分钟内的平均负载
8、strace跟踪进程执行时的系统调用和所接收的信号
常用:strace -fp 进程号
9、ipcs显示消息队列、共享内存和信号量的信息
常用:ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
------ Semaphore Arrays --------
key semid owner perms nsems
------ Message Queues --------
key msqid owner perms used-bytes messages
10、taskset可以将进程(或 线程)绑定到特定的一个或多个CPU上去执行
常用:taskset -c 0 perf top -C 0
perf top
实时显示系统/进程的性能统计信息
-C:显示在指定CPU上的性能统计信息
11、lsof 是一个列出当前系统打开文件的工具
常用参数:
-a:列出打开文件存在的进程
-c:<进程名> 列出指定进程所打开的文件
-d:<文件号> 列出占用该文件号的进程
-i:<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p:<进程号> 列出指定进程号所打开的文件
12、xargs
1)、捕获一个命令的输出,然后传递给另外一个命令
常用:ls |xargs rm -f *
2)、多行变单行,单行变多行
常用:cat test.txt | xargs -n3
13、man查看命令或者系统调用或者c库函数解释
14、netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接
常用 netstat -lntp
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
15、ifconfig 命令用来查看和配置网络设备
常用:1)ifconfig -a (查看所有网络设备)
2)ifconfig -s (只显示短的列表如(netstat -i))
3)ifconfig ethx ip (配网卡ip)
4)ifconfig ethx up/down(down或者up网卡)
16、route 显示或配置路由表
常用命令: route add default gw xxx(添加默认路由)
17、mount 挂载一个文件系统
常用1)mount /dev/sdb1 /mnt/product
2)-t参数 mount -t nfs 10.10.10.1:/mnt/nfs /mnt/nfs(挂载nfs网络文件系统)
取消挂载 umount xxx(xxx是挂载点或者设备文件)
18、ip 查看网络接口相关信息
ip [ OPTIONS ] OBJECT { COMMAND | help }
常用:ip link show
通过mac找到接口名:
root@book-desktop:~# ip link show|xargs -n 5|grep 00:0c:29:38:7a:7f|awk '{print $5}'|cut -d ":" -f 1
eth5
19、ldd(用于打印程序或者库文件所依赖的共享库列表)
ldd xx(程序或者动态库)
20、strings(打印文件中的可打印字符串。常用来在二进制文件中查找字符串,与grep配合使用)
strings xxx|grep a
21、scp(用于在Linux下进行远程拷贝文件的命令)
常用:1)scp root@ip:/xxx ./ 将远端拷贝到本地当前目录
2)scp ./xxx root@ip:/ 将本地当前目录的xxx拷贝到远端目录/
21、hexdump(将二进制文件转换为ASCII-c、八进制-b、十进制-d、十六进制-C格式进行查看)
root@book-desktop:/home/book# hexdump -c hello.c
0000000 a a a \n
0000004
root@book-desktop:/home/book# hexdump -C hello.c
00000000 61 61 61 0a |aaa.|
00000004
22、nm(作用是可以显示二进制文件(通常是库文件和可执行文件)中的符号表)
nm aa|grep xx(aa二进制程序,xx函数名)
23、tcpdump 抓包命令
常用:1)tcpdump -i eth4 -c 100 -w ./xxx.pcap (抓某个接口的报文)
2)tcpdump -ni any icmp (抓任意接口icmp协议的报文)
25、tcpreplay(tcpreplay 是一种pcap包的重放工具)
tcpreplay -i eth1 -M 10 -l 0 /xxx.pcap (M回放速率,l循环次数0为无限循环)
24、tcprewrite 重写报文
tcprewrite -C -i xxx.pcap -o xxxok.pcap (C修复校验和)
25、find(查找目录或文件)
常用:1)find ./ -name xxx 查找name为xxx的文件或目录
2)find ./ -type d/f -name xxx 查找类型为目录或文件名字为xxx
3)find ./ -type f -name zr36016.ko |xargs file|grep ELF|grep 32-bit(查找二进制类型)
26、grep(查找文件里符合条件的字符串)
常用:1)grep -nR "xx" (理解为循环查找文件中的xx)
2)grep -v xx(过滤掉xx)
root@book-desktop:/home/book# ps aux|grep bash
book 1830 0.0 0.3 6476 3788 pts/0 Ss+ 09:08 0:00 bash
root 1980 0.0 0.1 4516 2040 pts/1 Ss 09:23 0:00 -bash
root 2641 0.0 0.1 4436 1944 pts/1 S 12:01 0:00 bash
root 2749 0.0 0.0 3036 792 pts/1 S+ 12:48 0:00 grep bash
root@book-desktop:/home/book# ps aux|grep bash|grep -v grep
book 1830 0.0 0.3 6476 3788 pts/0 Ss+ 09:08 0:00 bash
root 1980 0.0 0.1 4516 2040 pts/1 Ss 09:23 0:00 -bash
root 2641 0.0 0.1 4436 1944 pts/1 S 12:01 0:00 bash
27、sed(文件编辑器)
sed [OPTION]... {script-only-if-no-other-script} [input-file]
option:-i(直接修改读取的文件内容,而不是输出到终端)
-n(和p一起使用如下)
常用参数:
a :新增
sed -i '1a aaaa' test
c :取代
sed -i '1c xxxx' test
d :删除
sed -i '1,2d' test
i :插入
sed -i '1i ggg' test
p :列印,通常 p 会与参数 sed -n 一起运行
sed -n '2p' test
s :取代,
sed -i 's/ggg/zzz/g' test或者
sed -i 's@zzz@xxx@' test
28、awk(处理文本文件)
常用:awk '{print $1}'
29、cut(切割文件或字符串)
常用:1)echo "aa bb cc"|cut -d " " -f 1(-d分割区域空格,-f指定区域)
2)echo "aa bb cc"|cut -b 1 (-b获取第几个字节)