0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解压缩常用相关命令原理的组合

lhl545545 来源:Linux爱好者 作者:Linux爱好者 2020-06-05 13:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。

1 查看目录以及权限

在windows中,使用dir查看当前目录中文件。在Linux中使用ls(list)查看当前目录文件。

windows中的dir,如下图所示

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

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---列出当前正在运行的程序,那如何定位我们想要查看的进程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 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:”

11 lsof

列出当前系统打开的文件描述符工具。可以得知感兴趣的描述符是被哪些进程使用

同样,我们看看相关参数

参数描述

-i显示sokcet文件描述符

-c显示指定的命令打开的所有文件描述符

-t仅显示打开了目标文件描述符的进程pid

老规矩,上几个例子

执行任务命令

列出所有的网络链接lsof -i

列出所有udp的网络链接lsof -i udp

列出谁在使用某个端口lsof -i :3306

列出谁在使用特定的tcp端口lsof -i tcp:80

根据文件描述范围列出文件信息lsof -d 2-3

12 nc

nc--》“瑞士军刀”。不知大家在渗透过程中,拿了shell有没有使用nc搞点事儿。它用来快速构建网络链接。常用来调试客户端程序。

参数描述

-i设置数据包传送的时间间隔

-l以服务器方式运行。默认为客户端运行

-k重复接受并处理某个端口上的所有链接

-p以客户端运行时强制其使用指定端口

-C将CR和LF两个字符作为结束符

-u使用udp协议。默认tcp协议

-Xnc客户端余代理服务器通信时默认为socks5协议。

-z扫描目标机器某个范围服务是否开启

小贱上案例

执行任务执行命令

扫描机器A端口号在30-40的服务nc -z A 30-40

连接服务器A 端口号为5000nc -C A 5000

传送文件MachineA:nc -v -n ip portE:a.exe

13 netstat

netstat是一个网络信息统计工具。它可以得到网卡接口上全部了解,路由表信息,网卡接口信息等。通常在网络编程中我们用它来显示TCP连接以及状态信息。

参数描述

-n使用IP地址表示主机

-a显示结果中包含监听的socket

-t仅显示TCP连接

-r显示路由信息

-i显示网卡接口数据流量

-c每隔1s输出一次

-o显示socket定时器的信息

-p显示socket所属的进程的PID和名字

下面列举几个常用例子

执行任务执行命令

列出所有连接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

14 vmstat

vmstat能够实时输出系统的进程信息,内存使用,cpu使用等资源的使用情况

参数描述

-f显示系统自启动以来执行的fork次数

-s显示内存相关统计信息

-d显示磁盘相关统计信息

-p显示指定磁盘分区统计信息

count采样次数。

看一下vmstat都有哪些输出字段。

在这里插入图片描述

字段名描述

procsr表示等待运行的而进程数目。b表示处于不可中断睡眠状态的进程数目

memoryswpd:使用的虚拟内存量。free:空闲内存量。buff:用作缓冲区的内存量。cache:用作缓存的内存量。

swapsi:从磁盘换入的内存量(/s)。so:交换到磁盘的内存量(/s)。

iobi:从块设备接收的块(blocks/s)。bo:发送到块设备的块(blocks/s)。

systemin:每秒中断的次数,包括时钟。cs:每秒上下文切换的次数。

这里注意哈,如果查看磁盘的更加详细信息,有另外iostat所得到的信心就更加详细哟

15 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总运行时间的比例

16 split

将文件分割为数个。

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

17 wc -c +filename

统计文件中单词的个数。

18 more/less

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

19 head/tail

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

20 diff

diff -c file1 file2 //显示两个文件的差异
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11627

    浏览量

    217893
  • WINDOWS
    +关注

    关注

    4

    文章

    3694

    浏览量

    93186
  • Wireshark
    +关注

    关注

    0

    文章

    49

    浏览量

    6923
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    找正难、数据断、效率低——蔡司柔性检测,1 步破解压缩机质检难题

    针对压缩机产品全生命周期的质量管控需求,蔡司打造模块化软件平台,搭配多测头技术,能对蜗杆、转子等95%的齿轮类型进行参数化检测。
    的头像 发表于 10-17 14:12 193次阅读
    找正难、数据断、效率低——蔡司柔性检测,1 步破<b class='flag-5'>解压缩</b>机质检难题

    飞凌嵌入式ElfBoard-Linux系统基础入门-文件操作相关shell命令

    到标准输出设备上参数:cat文件名示例:2.5.9 tar文件压缩解压命令命令:tar英文全拼:tape archive功能:文件打包工具,可实现文件的
    发表于 09-30 09:46

    请问RT-FOTA固件校验通过但是解压缩失败是什么原因?

    芯片:STM32F407ZGT6 FOTA流程: 从SD卡中读取固件(压缩过的RBL)校验通过后开始解压缩搬运到Flash的0x8020000地址 已经确认读取的固件大小是正确的但是到解压缩这一步就失败了。 代码中位置 跟进
    发表于 09-26 07:41

    达梦数据库常用管理SQL命令详解

    达梦数据库常用管理SQL命令详解
    的头像 发表于 06-17 15:12 6557次阅读
    达梦数据库<b class='flag-5'>常用</b>管理SQL<b class='flag-5'>命令</b>详解

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 1703次阅读

    Linux常用命令大全

    Linux常用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理文件和目录、操作进程、网络通信、软件安装等。
    的头像 发表于 05-03 18:08 1609次阅读

    Docker常用命令大全

    Docker 是一种开源的应用容器引擎,广泛应用于开发、部署和运行分布式应用。掌握 Docker 常用命令对于开发人员和运维人员来说非常重要。本文将为大家整理常用的Docker 命令,并按照功能分为多个部分,帮助你高效使用 Do
    的头像 发表于 04-22 12:47 672次阅读

    Linux ip命令常用操作

    Linux ip命令常用操作 在Linux系统中,ip命令是用于管理网络接口和路由的强大工具。相比于旧的 ifconfig命令,ip命令提供
    的头像 发表于 02-19 10:23 1067次阅读

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 977次阅读
    Kubernetes Pod<b class='flag-5'>常用</b>管理<b class='flag-5'>命令</b>详解

    交换机常用配置命令

    在现代网络通信中,交换机作为局域网(LAN)的核心设备,其配置和管理对于网络的性能和稳定性至关重要。本文旨在深入探讨交换机的常用配置命令,从基本命令到高级配置,全面解析这些命令的用法、
    的头像 发表于 02-02 16:56 5215次阅读

    常用linux命令

    使用command A | command B | command C命令,将A命令产生的标准输出作为B命令的标准输入(注意只能接收前一个命令的标准输出)。
    的头像 发表于 01-20 14:26 658次阅读

    EE-257:面向Blackfin处理器的引导压缩/解压缩算法

    电子发烧友网站提供《EE-257:面向Blackfin处理器的引导压缩/解压缩算法.pdf》资料免费下载
    发表于 01-07 13:56 0次下载
    EE-257:面向Blackfin处理器的引导<b class='flag-5'>压缩</b>/<b class='flag-5'>解压缩</b>算法

    嵌入式开发必备-RK3562演示Linux常用系统查询命令

    本文介绍Linux系统查看硬件配置及常用调试命令,方便开发者快速了解开发板硬件信息及进行相关调试
    的头像 发表于 01-06 14:13 764次阅读
    嵌入式开发必备-RK3562演示Linux<b class='flag-5'>常用</b>系统查询<b class='flag-5'>命令</b>

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明

    的/home/elf/work/目录下,解压缩: elf@ubuntu:~/work$ tar -xvf linux-4.1.15-elf1.tar.bz2 解压完成之后使用ls命令查看Linux源码目录
    发表于 12-17 09:36

    飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明

    的/home/elf/work/目录下,解压缩: elf@ubuntu:~/work$ tar -xvf linux-4.1.15-elf1.tar.bz2解压完成之后使用ls命令查看Linux源码目录
    发表于 12-16 13:04