侧边栏壁纸

Linux常用命令整理

2022年12月27日 194阅读 0评论 0点赞
Linux命令有很多,但常用且高频的更是重中之重。下面总结了20个常用的Linux命令,供大家学习和参考,最好还是多实践,多敲多练习。

linux常用命令

1.查看目录以及权限

在Linux中,通常使用ls -l列出,其中可以查看文件属性,所属用户组等较为详细的信息。下面详细解释从左到右每一列是什么意思

第一列第一个字段:文件类型,后面9个字符是模式,其中分为三组,每一组三个字段。第一组为所属用户权限。第二组为所属组的权限。第三组为其他用户所属权限。其中r(read)代表可读,w(write)代表可写,e(execute)代表可执行。在后面的9个字符中,如果是字母说明有相应的权限,如果为"-"代表没有权限。举一个例子

-rw-r-r--:此为普通文件,对于所属用户为可读可写不能执行,对于所属组仅仅可读,对于其他用户仅为读。

第二列 硬链接数目

硬链接允许作用之一是允许一个文件拥有多个有效路径名,从而防止误删。但是只能在同一文件系统中的文件之间进行连接,不能对目录进行创建。

第三列是所属用户,第四列为所属组,第五列为文件大小,第六列为文件被修改的时间,最后为文件名。其中使用chown改变所属用户,chgrp改变所属组。

2.nohup(no hang up 不要挂起的意思)

这也是常用后台启动程序的常用方法,如果在交互命令行中运行程序,我们很容易就终止它。在交互环境下,我们的输出一般都会直接输出到当前界面,在后台启动的时候通常会定向到文件,那通常情况是下面这个命令。

nohup command >X.file 2 >&1 &

其中1表示标准输出。2表示文件标准错误输出。2>1&即将两者合并,但是合并到哪里,就是X.file.

3.ps -ef查看进程

有的时候我们需要查看进程是否已经启动或者尝试终止进程。经常使用的命令为ps -ef---列出当前正在运行的程序,那如何定位我们想要查看的进程A,这个时候使用grep,即ps -ef| grep A.

4.awk

如果文件是csv(a.csv),按照","分割,需求为打印第一列和第二列

awk -F "," '{print 2}' a.csv

获取第三列最大值

awk 'BEGIN{max=0}{if(3}END{print max}'

5.tar解压缩

解压缩命令

常用参数

  • -c:创建的tar文件
  • -x解开tar文件
  • -t:列出tar文件中包含的文件信息
  • -r:附加新的文件到tar文件中

常用的命令组合

tar -xvf /home/a.tar //打开tar打包文件
tar -zxvf /home/a.tar.gz //解压以gzip压缩的文件
tar -jxvf /home/a.tar.bz2 //解压以bzip压缩的文件
tar -cvf /home/a.tar /home 打包/home下所有文件

6.scp

通过scp命令在多台服务器中的相互复制 传输文件。为了省下输入密码,可以设置免密登录。

常用组合:

例子1:将A服务器中/home/a.txt 复制到B服务器的/home中

scp -r /home/a.txt root@B_ip:/home

7.不敢用的命令 rm -rf

保持清醒,慎用!除非你知道你是谁,你正在干什么。生产环境建议?️掉此命令

8.watch

这个命令是动态查看命令执行的结果。比如如果需要每隔一秒高亮显示网络连接数的变化情况。则 watch -n 1 -d netstat -ant

例子:每隔一秒高亮显示http连接数的变化情况

watch -n 1 -d 'pstree | grep http'

例子:十秒一次输出系统的平均负载

watch -n 10 'cat /proc/loadavg'

9.df

查看磁盘大小
df -h

10.du

显示每个文件和目录的磁盘使用空间文件的大小
du -h
#以K M G为单位显示,提高可读性~~~(最常用的一个~也可能只用这一个就满足需求了)

11.tcpdump

和它类似的工具在windows中是wireshark,其采用底层库winpcap/libpcap实现。采用了bpf过滤机制。下面我们看看提供的不同参数的含义。
参数名含义
-n使用IP地址表示主机。使用数字表示端口
-i指定要监听的端口。如果为"-i any"表示住区所有网卡数据包
-v输出诸如ip数据包中的TTL更加详细的信息
-t不打印时间戳
-e显示以太网帧头部信息
-c仅仅抓取指定数量的数据包
-x按照十六进制显示数据包内容
-X不仅仅输出-x结果还输出十六进制对应的ASCII字符
-s设置抓包时的抓包长度
-w将输出结果定向到某个文件,一般为pcap后缀
-r从文件读取数据包并显示数字表示端口
-i指定要监听的端口。如果为"-i any"表示住区所有网卡数据包
-v输出诸如ip数据包中的TTL更加详细的信息
-t不打印时间戳
-e显示以太网帧头部信息
-c仅仅抓取指定数量的数据包
-x按照十六进制显示数据包内容
-X不仅仅输出-x结果还输出十六进制对应的ASCII字符
-s设置抓包时的抓包长度
-w将输出结果定向到某个文件,一般为pcap后缀
-r从文件读取数据包并

相关案例

执行任务执行命令
捕获特定网口数据包tcpdump -i eth0
捕获特定个数(1000)的包tcpdump -c 1000 -i eth0
将捕获的包保存到文件tcpdump -w a.pcap -i eth0
读取pcap格式的包tcpdump -r a.pcap
增加捕获包的时间戳tcpdump -n -ttt -i eth0
指定捕获包的协议类型tcpdump -i eth0 arp
捕获指定端口tcpdump -i eth0 post 22
捕获特定目标ip+port的包tcpdump -i eth0 dst address and port 22
捕获DNS请求和响应tcpdump -i eth0 -s0 port 53
匹配Http请求头tcpdump -s 0 -v -n -l \egrep -i "POST /\GET /\Host:"
将捕获的包保存到文件tcpdump -w a.pcap -i eth0
读取pcap格式的包tcpdump -r a.pcap
增加捕获包的时间戳tcpdump -n -ttt -i eth0
指定捕获包的协议类型tcpdump -i eth0 arp
捕获指定端口tcpdump -i eth0 post 22
捕获特定目标ip+port的包tcpdump -i eth0 dst address and port 22
捕获DNS请求和响应tcpdump -i eth0 -s0 port 53
匹配Http请求头tcpdump -s 0 -v -n -l \egrep -i "POST /\GET /\Host:"

12.lsof

列出当前系统打开的文件描述符工具。可以得知感兴趣的描述符是被哪些进程使用
执行任务命令
列出所有的网络链接lsof -i
列出所有udp的网络链接lsof -i udp
列出谁在使用某个端口lsof -i :3306
列出谁在使用特定的tcp端口lsof -i tcp:80
根据文件描述范围列出文件信息lsof -d 2-3

13.nc

nc-->“瑞士军刀”。不知大家在渗透过程中,拿了shell有没有使用nc搞点事儿。它用来快速构建网络链接。常用来调试客户端程序。
执行任务执行命令
扫描机器A端口号在30-40的服务nc -z A 30-40
连接服务器A 端口号为5000nc -C A 5000
传送文件MachineA:nc -v -n ip portE:\a.exe

14.netstat

netstat是一个网络信息统计工具。它可以得到网卡接口上全部了解,路由表信息,网卡接口信息等。通常在网络编程中我们用它来显示TCP连接以及状态信息。
执行任务执行命令
列出所有连接netstat -a
只列出TCP或者UDPnetstat -at/netstat -au
列出监听中的连接netstat -tnl
获取进程名、进程号以及用户 IDnestat -nlpt
打印统计信息netstat -s
netstat持续输出netstat -ct
打印active状态的连接netstat -atnp \grep ESTA
查看服务是否运行(npt)netstat -aple\grep ntp

15.vmstat

vmstat能够实时输出系统的进程信息,内存使用,cpu使用等资源的使用情况
字段名描述
procsr表示等待运行的而进程数目。b表示处于不可中断睡眠状态的进程数目
memoryswpd:使用的虚拟内存量。free:空闲内存量。buff:用作缓冲区的内存量。cache:用作缓存的内存量。
swapsi:从磁盘换入的内存量(/s)。so:交换到磁盘的内存量(/s)。
iobi:从块设备接收的块(blocks/s)。bo:发送到块设备的块(blocks/s)。
systemin:每秒中断的次数,包括时钟。cs:每秒上下文切换的次数。

16.mpstat

能够实时监测多处理器系统中各个cpu的使用情况。这个命令的执行需要安装sysstat,在centos中执行yum install systat就好了。
字段描述
cpu表示当前条信息属于哪个cpu的数据
%usr进程运行在用户空间所占cpu运行时间的比例
%nicenice值为负的进程运行在用户空间的时间占cpu总运行时间的比例
%iowaitcpu等待磁盘操作的时间占cpu总运行时间的比例
%irqcpu用于处理硬件中断时间占cpu总运行时间的比例
%softcpu用于处理软件中断的时间占cpu用运行时间的比例
%steal一对虚拟cpu。当超级管理员在处理某个虚拟cpu时,另一个等待它处理完才能运行。这段等待时间表示为steal时间占总运行时间的比例
%guest运行虚拟cpu时间占cpu总运行时间的比例
%idle系统空闲时间占cpu总运行时间的比例

17.split

将文件分割为数个

split -5 a.txt //将a.txt每5行分割为一个文件

18.wc -c+fileName

统计文件中单词的个数。

19.more/less

一页一页显示,通过空白键显示下一页/上一页

20.head/tail

查看某文件前几行或者后几行

21.diff

diff -c file1 file2 //显示两个文件的差异
陆续更新中...

一心向学

0

—— 评论区 ——

昵称
邮箱
网址
取消
人生倒计时
最新评论
舔狗日记