Linux常用命令

查看进程端口号

1.已知程序名称查看进程号

ps aux

a:显示当前终端下的所有进程信息,包括其他用户的进程。

u:使用以用户为主的格式输出进程信息。

x:显示当前用户在所有终端下的进程。

ps -elf

-e:显示系统内的所有进程信息。

-l:使用长(long)格式显示进程信息。

-f:使用完整的(full)格式显示进程信息。

2.端口号查看进程号(查看端口占用情况)

必须为root用户

lsof -i:端口号

sudo lsof -i:22

netstat -ntulp

$ sudo netstat -ntulp

-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

3.根据进程号查询正在运行的程序的port(端口号)

netstat -anop | grep pid

sudo netstat -anop | grep pid

4.根据PID查询进程名称

ll /proc/PID
#PID是自己查询的PID号
这样就可以定位到该运行程序的路径

5.杀死进程

kill -9 PID

6.查看所有用户的进程情况

top

top命令如果不加限制,默认是查看所有用户的进程情况

7.查看某用户的所有进程

top -u [用户名]

top -u root

8.查看进程所属用户

ps u PID

ps u 165


压缩包操作

tar格式(该格式仅仅打包,不压缩)

打包:tar -cvf [目标文件名].tar [原文件名/目录名]
解包:tar -xvf [原文件名].tar


注:c参数代表create(创建),x参数代表extract(解包),v参数代表verbose(详细信息),f参数代表filename(文件名),所以f后必须接文件名。

tar.gz格式

方式一:利用前面已经打包好的tar文件,直接用压缩命令。

压缩:gzip [原文件名].tar
解压:gunzip [原文件名].tar.gz


方式二:一次性打包并压缩、解压并解包

打包并压缩: tar -zcvf [目标文件名].tar.gz [原文件名/目录名]
解压并解包: tar -zxvf [原文件名].tar.gz


注:z代表用gzip算法来压缩/解压。

tar.bz2格式

方式一:利用已经打包好的tar文件,直接执行压缩命令:

压缩:bzip2 [原文件名].tar
解压:bunzip2 [原文件名].tar.bz2

方式二:一次性打包并压缩、解压并解包

打包并压缩: tar -jcvf [目标文件名].tar.bz2 [原文件名/目录名]
解压并解包: tar -jxvf [原文件名].tar.bz2

注:小写j代表用bzip2算法来压缩/解压。

tar.xz格式

方式一:利用已经打包好的tar文件,直接用压缩命令:

压缩:xz [原文件名].tar
解压:unxz [原文件名].tar.xz

方式二:一次性打包并压缩、解压并解包

打包并压缩: tar -Jcvf [目标文件名].tar.xz [原文件名/目录名]
解压并解包: tar -Jxvf [原文件名].tar.xz

注:大写J代表用xz算法来压缩/解压。


安装工具

apt安装

以john为例

sudo apt install john -y

GitHub下载安装

以SearchSploit为例

git clone https://github.com/offensive-security/exploitdb.git
#GitHub访问有时会很慢,这里使用一下代理
proxychains4 git clone https://github.com/offensive-security/exploitdb.git

创建命令快捷

cd /home/kali/tools/exploitdb/
sudo ln -s /home/kali/tools/exploitdb/searchsploit /bin/searchsploit

Linux查看CPU运行状态

1.Linux CPU性能分析:vmstat命令

vmstat 命令可以显示关于系统各种资源之间相关性能的简要信息

[root@localhost ~]# vmstat 2 3
#使用vmstat检测,每隔2秒刷新一次,共刷新3次
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      8 247512  39660 394168    0    0    31     8   86  269  0  1 98  1  0
0  0      8 247480  39660 394172    0    0     0     0   96  147  4  0 96  0  0
0  0      8 247484  39660 394172    0    0     0    66   95  141  2  2 96  0  0
通过分析 vmstat 命令的执行结果,可以获得一些与当前 Linux 运行性能相关的信息。比如说:
  r 列表示运行和等待 CPU 时间片的进程数,如果这个值长期大于系统 CPU 的个数,就说明 CPU 不足,需要增加 CPU。

  swpd 列表示切换到内存交换区的内存数量(以 kB 为单位)。如果 swpd 的值不为 0,或者比较大,而且 si、so 的值长期为 0,那么这种情况下一般不用担心,不用影响系统性能。

  cache 列表示缓存的内存数量,一般作为文件系统缓存,频繁访问的文件都会被缓存。如果缓存值较大,就说明缓存的文件数较多,如果此时 I/O 中 bi 比较小,就表明文件系统效率比较好。

  一般情况下,si(数据由硬盘调入内存)、so(数据由内存调入硬盘) 的值都为 0,如果 si、so 的值长期不为 0,则表示系统内存不足,需要增加系统内存。
  
  如果 bi+bo 的参考值为 1000 甚至超过 1000,而且 wa 值较大,则表示系统磁盘 I/O 有问题,应该考虑提高磁盘的读写性能。

  输出结果中,CPU 项显示了 CPU 的使用状态,其中当 us 列的值较高时,说明用户进程消耗的 CPU 时间多,如果其长期大于 50%,就需要考虑优化程序或算法;sy 列的值较高时,说明内核消耗的 CPU 资源较多。通常情况下,us+sy 的参考值为 80%,如果其值大于 80%,则表明可能存在 CPU 资源不足的情况。

Linux CPU性能分析:sar命令

虽然使用 sar 命令会增加系统开销,不过这些开销是可以评估的,不会对系统性能的统计结果产生很大影响。

[root@localhost ~]# sar -u 3 5
#每 3 秒统计一次,统计 5 次
Linux 2.6.32-431.el6.x86_64 (localhost)  10/28/2019  _x86_64_ (8 CPU)

04:02:46 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
04:02:49 AM     all      1.69      0.00      2.03      0.00      0.00     96.27
04:02:52 AM     all      1.68      0.00      0.67      0.34      0.00     97.31
04:02:55 AM     all      2.36       0.00      1.69      0.00      0.00     95.95
04:02:58 AM     all      0.00      0.00      1.68      0.00      0.00     98.32
04:03:01 AM     all      0.33      0.00      0.67      0.00      0.00     99.00
Average:        all      1.21      0.00      1.35      0.07      0.00     97.37
此输出结果中,各个列表项的含义分别如下:
  %user:用于表示用户模式下消耗的 CPU 时间的比例;
  %nice:通过 nice 改变了进程调度优先级的进程,在用户模式下消耗的 CPU 时间的比例;
  %system:系统模式下消耗的 CPU 时间的比例;
  %iowait:CPU 等待磁盘 I/O 导致空闲状态消耗的时间比例;
  %steal:利用 Xen 等操作系统虚拟化技术,等待其它虚拟 CPU 计算占用的时间比例;
  %idle:CPU 空闲时间比例。

在一个多 CPU 的系统中,如果程序使用了单线程,就会出现“CPU 整体利用率不高,但系统应用响应慢”的现象,造成此现象的原因在于,单线程只使用一个 CPU,该 CPU 占用率为 100%,无法处理其他请求,但除此之外的其他 CPU 却处于闲置状态,进而整体 CPU 使用率并不高。

可以使用 sar 命令单独查看系统中每个 CPU 的运行状态

[root@localhost ~]# sar -P 0 3 5
Linux 2.6.32-431.el6.x86_64 (localhost)  10/28/2019  _x86_64_ (8 CPU)

04:44:57 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
04:45:00 AM       0      8.93      0.00      1.37      0.00      0.00     89.69
04:45:03 AM       0      6.83      0.00      1.02      0.00      0.00     92.15
04:45:06 AM       0      0.67      0.00      0.33      0.33      0.00     98.66
04:45:09 AM       0      0.67      0.00      0.33      0.00      0.00     99.00
04:45:12 AM       0      2.38      0.00      0.34      0.00      0.00     97.28
Average:          0      3.86      0.00      0.68      0.07      0.00     95.39

sar 命令对系统中 CPU 的计数是从数字 0 开始的,因此上面执行的命令表示对系统中第一颗 CPU 的运行状态进行统计。如果想单独统计系统中第 5 颗 CPU 的运行状态,可以执行sar -P 4 3 5命令。

Linux CPU性能分析:iostat命令

iostat 命令主要用于统计磁盘 I/O 状态,但也能用来查看 CPU 的使用情况,只不过使用此命令仅能显示系统所有 CPU 的平均状态,无法向 sar 命令那样做具体分析。

使用 iostat 命令查看 CPU 运行状态,需要使用该命令提供的 -c 选项,该选项的作用是仅显示系统 CPU 的运行情况。

[root@localhost ~]# iostat -c
Linux 2.6.32-431.el6.x86_64 (localhost)  10/28/2019  _x86_64_ (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.07    0.00    0.12    0.09    0.00   99.71

Linux CPU性能分析:uptime命令

uptime 命令是监控系统性能最常用的一个命令,主要用来统计系统当前的运行状况。

[root@localhost ~]# uptime
05:38:26 up  1:47,  2 users,  load average: 0.12, 0.08, 0.08

该命令的输出结果中,各个数据所代表的含义依次是:系统当前时间、系统运行时长、当前登陆系统的用户数量、系统分别在 1 分钟、5 分钟和 15 分钟内的平均负载。

这里需要注意的是,load average 这 3 个输出值一般不能大于系统 CPU 的个数。例如,本测试系统有 8 个 CPU,如果 load average 中这 3 个值长期大于 8,就说明 CPU 很繁忙,负载很高,系统性能可能会受到影响;如果偶尔大于 8 则不用担心,系统性能一般不会受到影响;如果这 3 个值小于 CPU 的个数(如本例所示),则表示 CPU 是非常空闲的。

vim常用命令

普通模式的命令

插入模式的命令

在普通模式下使用下面的键将进入插入模式,并可以从相应的位置开始输入。注意每次要先回到普通模式才能切换成以不同的方式进入插入模式。

命令行模式的命令

posted @ 2022-05-28 11:35  雷霆小黄鸭  阅读(64)  评论(0)    收藏  举报