2020总结-常用的Linux命令

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

sed2.PNG

c :取代

sed -i '1c xxxx' test

sed3.PNG

d :删除

sed -i '1,2d' test

sed1.PNG

i :插入

sed -i '1i ggg' test

sedi.PNG

p :列印,通常 p 会与参数 sed -n 一起运行

sed -n '2p' test

sed4.PNG

s :取代,

sed -i 's/ggg/zzz/g' test或者

sed -i 's@zzz@xxx@' test

seds.PNG

28、awk(处理文本文件)

常用:awk '{print $1}'

awk.PNG

awk2.PNG

29、cut(切割文件或字符串)

常用:1)echo "aa bb cc"|cut -d " " -f 1(-d分割区域空格,-f指定区域)

cutd.PNG

2)echo "aa bb cc"|cut -b 1 (-b获取第几个字节)

cutb.PNG



猜你喜欢

转载自blog.51cto.com/zhaoxiaohu/2633147