0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解壓縮常用相關(guān)命令原理的組合

lhl545545 ? 來(lái)源:Linux愛(ài)好者 ? 作者:Linux愛(ài)好者 ? 2020-06-05 13:27 ? 次閱讀

今天總結(jié)幾個(gè)非常常用的Linux命令,其中有幾個(gè)在面試中很可能問(wèn)相關(guān)命令的原理,比如后臺(tái)運(yùn)行命令。希望對(duì)大家有所幫助,最好自己去嘗試在Linux操作系統(tǒng)中實(shí)踐一下。

1 查看目錄以及權(quán)限

在windows中,使用dir查看當(dāng)前目錄中文件。在Linux中使用ls(list)查看當(dāng)前目錄文件。

windows中的dir,如下圖所示

在Linux中,通常使用ls -l列出,其中可以查看文件屬性,所屬用戶(hù)組等較為詳細(xì)的信息。下面詳細(xì)解釋從左到右每一列是什么意思

ls -l

第一列第一個(gè)字段:文件類(lèi)型,后面9個(gè)字符是模式,其中分為三組,每一組三個(gè)字段。第一組為所屬用戶(hù)權(quán)限。第二組為所屬組的權(quán)限。第三組為其他用戶(hù)所屬權(quán)限。其中r(read)代表可讀,w(write)代表可寫(xiě),e(execute)代表可執(zhí)行。在后面的9個(gè)字符中,如果是字母說(shuō)明有相應(yīng)的權(quán)限,如果為“-”代表沒(méi)有權(quán)限。舉一個(gè)例子

-rw-r-r--:此為普通文件,對(duì)于所屬用戶(hù)為可讀可寫(xiě)不能執(zhí)行,對(duì)于所屬組僅僅可讀,對(duì)于其他用戶(hù)僅為讀。

第二列 硬鏈接數(shù)目

硬鏈接允許作用之一是允許一個(gè)文件擁有多個(gè)有效路徑名,從而防止誤刪。但是只能在同一文件系統(tǒng)中的文件之間進(jìn)行連接,不能對(duì)目錄進(jìn)行創(chuàng)建。

第三列是所屬用戶(hù),第四列為所屬組,第五列為文件大小,第六列為文件被修改的時(shí)間,最后為文件名。其中使用chown改變所屬用戶(hù),chgrp改變所屬組。

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

這也是常用后臺(tái)啟動(dòng)程序的常用方法,如果在交互命令行中運(yùn)行程序,我們很容易就終止它。在交互環(huán)境下,我們的輸出一般都會(huì)直接輸出到當(dāng)前界面,在后臺(tái)啟動(dòng)的時(shí)候通常會(huì)定向到文件,那通常情況是下面這個(gè)命令。

nohup command 》X.file 2 》&1 &

其中1表示標(biāo)準(zhǔn)輸出。2表示文件標(biāo)準(zhǔn)錯(cuò)誤輸出。2》1&即將兩者合并,但是合并到哪里,就是X.file.

3 查看進(jìn)程

有的時(shí)候我們需要查看進(jìn)程是否已經(jīng)啟動(dòng)或者嘗試終止進(jìn)程。經(jīng)常使用的命令為ps -ef---列出當(dāng)前正在運(yùn)行的程序,那如何定位我們想要查看的進(jìn)程A,這個(gè)時(shí)候使用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解壓縮

解壓縮命令

常用參數(shù)

-c:創(chuàng)建的tar文件

-x:解開(kāi)tar文件

-t:列出tar文件中包含的文件信息

-r:附加新的文件到tar文件中

常用命令組合

tar -xvf /home/a.tar //打開(kāi)tar打包文件

tar -zxvf /home/a.tar.gz //解壓以gzip壓縮的文件

tar -jxvf /home/a.tar.bz2 //解壓以bzip壓縮的文件

tar -cvf /home/a.tar /home 打包/home下所有文件

6 scp

通過(guò)scp命令在多臺(tái)服務(wù)器中的相互復(fù)制 傳輸文件。為了省下輸入密碼,可以設(shè)置免密登錄。

常用組合:

例子1:將A服務(wù)器中/home/a.txt 復(fù)制到B服務(wù)器的/home中

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

7 林哥的死亡命令 rm -rf

翻車(chē)現(xiàn)場(chǎng)請(qǐng)看次條。

8 watch

這個(gè)命令是動(dòng)態(tài)查看命令執(zhí)行的結(jié)果。比如如果需要每隔一秒高亮顯示網(wǎng)絡(luò)連接數(shù)的變化情況。則 watch -n 1 -d netstat -ant

例子:每隔一秒高亮顯示http連接數(shù)的變化情況

watch -n 1 -d ‘pstree | grep http’

例子:十秒一次輸出系統(tǒng)的平均負(fù)載

watch -n 10 ‘cat /proc/loadavg’

9 df

查看磁盤(pán)大小

df -h

10 tcpdump

和它類(lèi)似的工具在windows中是wireshark,其采用底層庫(kù)winpcap/libpcap實(shí)現(xiàn)。采用了bpf過(guò)濾機(jī)制。下面我們看看提供的不同參數(shù)的含義。

參數(shù)名含義

-n使用IP地址表示主機(jī)。使用數(shù)字表示端口

-i指定要監(jiān)聽(tīng)的端口。如果為“-i any”表示住區(qū)所有網(wǎng)卡數(shù)據(jù)包

-v輸出諸如ip數(shù)據(jù)包中的TTL更加詳細(xì)的信息

-t不打印時(shí)間戳

-e顯示以太網(wǎng)幀頭部信息

-c僅僅抓取指定數(shù)量的數(shù)據(jù)包

-x按照十六進(jìn)制顯示數(shù)據(jù)包內(nèi)容

-X不僅僅輸出-x結(jié)果還輸出十六進(jìn)制對(duì)應(yīng)的ASCII字符

-s設(shè)置抓包時(shí)的抓包長(zhǎng)度

-w將輸出結(jié)果定向到某個(gè)文件,一般為pcap后綴

-r從文件讀取數(shù)據(jù)包并顯示數(shù)字表示端口

-i指定要監(jiān)聽(tīng)的端口。如果為“-i any”表示住區(qū)所有網(wǎng)卡數(shù)據(jù)包

-v輸出諸如ip數(shù)據(jù)包中的TTL更加詳細(xì)的信息

-t不打印時(shí)間戳

-e顯示以太網(wǎng)幀頭部信息

-c僅僅抓取指定數(shù)量的數(shù)據(jù)包

-x按照十六進(jìn)制顯示數(shù)據(jù)包內(nèi)容

-X不僅僅輸出-x結(jié)果還輸出十六進(jìn)制對(duì)應(yīng)的ASCII字符

-s設(shè)置抓包時(shí)的抓包長(zhǎng)度

-w將輸出結(jié)果定向到某個(gè)文件,一般為pcap后綴

-r從文件讀取數(shù)據(jù)包并顯示

知道了相關(guān)參數(shù),下面看幾個(gè)案例

執(zhí)行任務(wù)執(zhí)行命令

捕獲特定網(wǎng)口數(shù)據(jù)包tcpdump -i eth0

捕獲特定個(gè)數(shù)(1000)的包tcpdump -c 1000 -i eth0

將捕獲的包保存到文件tcpdump -w a.pcap -i eth0

讀取pcap格式的包tcpdump -r a.pcap

增加捕獲包的時(shí)間戳tcpdump -n -ttt -i eth0

指定捕獲包的協(xié)議類(lèi)型tcpdump -i eth0 arp

捕獲指定端口tcpdump -i eth0 post 22

捕獲特定目標(biāo)ip+port的包tcpdump -i eth0 dst address and port 22

捕獲DNS請(qǐng)求和響應(yīng)tcpdump -i eth0 -s0 port 53

匹配Http請(qǐng)求頭tcpdump -s 0 -v -n -l | egrep -i “POST /|GET /|Host:”

將捕獲的包保存到文件tcpdump -w a.pcap -i eth0

讀取pcap格式的包tcpdump -r a.pcap

增加捕獲包的時(shí)間戳tcpdump -n -ttt -i eth0

指定捕獲包的協(xié)議類(lèi)型tcpdump -i eth0 arp

捕獲指定端口tcpdump -i eth0 post 22

捕獲特定目標(biāo)ip+port的包tcpdump -i eth0 dst address and port 22

捕獲DNS請(qǐng)求和響應(yīng)tcpdump -i eth0 -s0 port 53

匹配Http請(qǐng)求頭tcpdump -s 0 -v -n -l | egrep -i “POST /|GET /|Host:”

11 lsof

列出當(dāng)前系統(tǒng)打開(kāi)的文件描述符工具??梢缘弥信d趣的描述符是被哪些進(jìn)程使用

同樣,我們看看相關(guān)參數(shù)

參數(shù)描述

-i顯示sokcet文件描述符

-c顯示指定的命令打開(kāi)的所有文件描述符

-t僅顯示打開(kāi)了目標(biāo)文件描述符的進(jìn)程pid

老規(guī)矩,上幾個(gè)例子

執(zhí)行任務(wù)命令

列出所有的網(wǎng)絡(luò)鏈接lsof -i

列出所有udp的網(wǎng)絡(luò)鏈接lsof -i udp

列出誰(shuí)在使用某個(gè)端口lsof -i :3306

列出誰(shuí)在使用特定的tcp端口lsof -i tcp:80

根據(jù)文件描述范圍列出文件信息lsof -d 2-3

12 nc

nc--》“瑞士軍刀”。不知大家在滲透過(guò)程中,拿了shell有沒(méi)有使用nc搞點(diǎn)事兒。它用來(lái)快速構(gòu)建網(wǎng)絡(luò)鏈接。常用來(lái)調(diào)試客戶(hù)端程序。

參數(shù)描述

-i設(shè)置數(shù)據(jù)包傳送的時(shí)間間隔

-l以服務(wù)器方式運(yùn)行。默認(rèn)為客戶(hù)端運(yùn)行

-k重復(fù)接受并處理某個(gè)端口上的所有鏈接

-p以客戶(hù)端運(yùn)行時(shí)強(qiáng)制其使用指定端口

-C將CR和LF兩個(gè)字符作為結(jié)束符

-u使用udp協(xié)議。默認(rèn)tcp協(xié)議

-Xnc客戶(hù)端余代理服務(wù)器通信時(shí)默認(rèn)為socks5協(xié)議。

-z掃描目標(biāo)機(jī)器某個(gè)范圍服務(wù)是否開(kāi)啟

小賤上案例

執(zhí)行任務(wù)執(zhí)行命令

掃描機(jī)器A端口號(hào)在30-40的服務(wù)nc -z A 30-40

連接服務(wù)器A 端口號(hào)為5000nc -C A 5000

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

13 netstat

netstat是一個(gè)網(wǎng)絡(luò)信息統(tǒng)計(jì)工具。它可以得到網(wǎng)卡接口上全部了解,路由表信息,網(wǎng)卡接口信息等。通常在網(wǎng)絡(luò)編程中我們用它來(lái)顯示TCP連接以及狀態(tài)信息。

參數(shù)描述

-n使用IP地址表示主機(jī)

-a顯示結(jié)果中包含監(jiān)聽(tīng)的socket

-t僅顯示TCP連接

-r顯示路由信息

-i顯示網(wǎng)卡接口數(shù)據(jù)流量

-c每隔1s輸出一次

-o顯示socket定時(shí)器的信息

-p顯示socket所屬的進(jìn)程的PID和名字

下面列舉幾個(gè)常用例子

執(zhí)行任務(wù)執(zhí)行命令

列出所有連接netstat -a

只列出TCP或者UDPnetstat -at/netstat -au

列出監(jiān)聽(tīng)中的連接netstat -tnl

獲取進(jìn)程名、進(jìn)程號(hào)以及用戶(hù) IDnestat -nlpt

打印統(tǒng)計(jì)信息netstat -s

netstat持續(xù)輸出netstat -ct

打印active狀態(tài)的連接netstat -atnp | grep ESTA

查看服務(wù)是否運(yùn)行(npt)netstat -aple| grep ntp

14 vmstat

vmstat能夠?qū)崟r(shí)輸出系統(tǒng)的進(jìn)程信息,內(nèi)存使用,cpu使用等資源的使用情況

參數(shù)描述

-f顯示系統(tǒng)自啟動(dòng)以來(lái)執(zhí)行的fork次數(shù)

-s顯示內(nèi)存相關(guān)統(tǒng)計(jì)信息

-d顯示磁盤(pán)相關(guān)統(tǒng)計(jì)信息

-p顯示指定磁盤(pán)分區(qū)統(tǒng)計(jì)信息

count采樣次數(shù)。

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

在這里插入圖片描述

字段名描述

procsr表示等待運(yùn)行的而進(jìn)程數(shù)目。b表示處于不可中斷睡眠狀態(tài)的進(jìn)程數(shù)目

memoryswpd:使用的虛擬內(nèi)存量。free:空閑內(nèi)存量。buff:用作緩沖區(qū)的內(nèi)存量。cache:用作緩存的內(nèi)存量。

swapsi:從磁盤(pán)換入的內(nèi)存量(/s)。so:交換到磁盤(pán)的內(nèi)存量(/s)。

iobi:從塊設(shè)備接收的塊(blocks/s)。bo:發(fā)送到塊設(shè)備的塊(blocks/s)。

systemin:每秒中斷的次數(shù),包括時(shí)鐘。cs:每秒上下文切換的次數(shù)。

這里注意哈,如果查看磁盤(pán)的更加詳細(xì)信息,有另外iostat所得到的信心就更加詳細(xì)喲

15 mpstat

能夠?qū)崟r(shí)監(jiān)測(cè)多處理器系統(tǒng)中各個(gè)cpu的使用情況。這個(gè)命令的執(zhí)行需要安裝sysstat,在centos中執(zhí)行yum install systat就好了。

在這里插入圖片描述

然后我們看看各個(gè)字段什么意思。

字段描述

cpu表示當(dāng)前條信息屬于哪個(gè)cpu的數(shù)據(jù)

%usr進(jìn)程運(yùn)行在用戶(hù)空間所占cpu運(yùn)行時(shí)間的比例

%nicenice值為負(fù)的進(jìn)程運(yùn)行在用戶(hù)空間的時(shí)間占cpu總運(yùn)行時(shí)間的比例

%iowaitcpu等待磁盤(pán)操作的時(shí)間占cpu總運(yùn)行時(shí)間的比例

%irqcpu用于處理硬件中斷時(shí)間占cpu總運(yùn)行時(shí)間的比例

%softcpu用于處理軟件中斷的時(shí)間占cpu用運(yùn)行時(shí)間的比例

%steal一對(duì)虛擬cpu。當(dāng)超級(jí)管理員在處理某個(gè)虛擬cpu時(shí),另一個(gè)等待它處理完才能運(yùn)行。這段等待時(shí)間表示為steal時(shí)間占總運(yùn)行時(shí)間的比例

%guest運(yùn)行虛擬cpu時(shí)間占cpu總運(yùn)行時(shí)間的比例

%idle系統(tǒng)空閑時(shí)間占cpu總運(yùn)行時(shí)間的比例

16 split

將文件分割為數(shù)個(gè)。

split -5 a.txt//將a.txt每5行分割為一個(gè)文件

17 wc -c +filename

統(tǒng)計(jì)文件中單詞的個(gè)數(shù)。

18 more/less

一頁(yè)一頁(yè)顯示,通過(guò)空白鍵顯示下一頁(yè)/上一頁(yè)

19 head/tail

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

20 diff

diff -c file1 file2 //顯示兩個(gè)文件的差異
責(zé)任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209518
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3545

    瀏覽量

    88707
  • Wireshark
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    6518
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核源代碼的目錄結(jié)構(gòu)和文件說(shuō)明

    的/home/elf/work/目錄下,解壓縮: elf@ubuntu:~/work$ tar -xvf linux-4.1.15-elf1.tar.bz2 解壓完成之后使用ls命令查看Linux源碼目錄
    發(fā)表于 12-17 09:36

    飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核源代碼的目錄結(jié)構(gòu)和文件說(shuō)明

    的/home/elf/work/目錄下,解壓縮: elf@ubuntu:~/work$ tar -xvf linux-4.1.15-elf1.tar.bz2解壓完成之后使用ls命令查看Linux源碼目錄
    發(fā)表于 12-16 13:04

    詳解kubectl常用命令

    詳解kubectl常用命令
    的頭像 發(fā)表于 11-05 15:39 ?241次閱讀
    詳解kubectl<b class='flag-5'>常用命令</b>

    如何使用gzip壓縮解壓縮技術(shù)

    Nginx是一款高性能的Web服務(wù)器,它也能夠充當(dāng)反向代理服務(wù)器和負(fù)載均衡器。在Web應(yīng)用開(kāi)發(fā)中,優(yōu)化網(wǎng)站速度是一個(gè)非常重要的工作。使用gzip壓縮解壓縮技術(shù),可以有效減小傳輸文件的大小,提升網(wǎng)站的訪(fǎng)問(wèn)速度。
    的頭像 發(fā)表于 09-29 15:57 ?403次閱讀

    【米爾NXP i.MX 93開(kāi)發(fā)板試用評(píng)測(cè)】2、異構(gòu)通信環(huán)境搭建和源碼編譯

    異構(gòu)通信的示范代碼,在官網(wǎng)可以下載到,選擇sdk后,按圖下載源碼即可。 代碼解壓縮到電腦上,打開(kāi)這個(gè)位置就可以找到rpmsg的線(xiàn)程代碼了。這個(gè)代碼展示了如何在兩個(gè)處理器核心之間通過(guò)
    發(fā)表于 09-20 23:19

    嵌入式學(xué)習(xí)-常見(jiàn)的shell命令之文件操作相關(guān)命令

    打印到標(biāo)準(zhǔn)輸出設(shè)備上參數(shù):cat文件名示例: 9、tar文件壓縮解壓命令命令:tar英文全拼:tape archive功能:文件打包工具,可實(shí)現(xiàn)文件的
    發(fā)表于 08-20 09:40

    常見(jiàn)的shell命令之文件操作相關(guān)命令

    :cat文件名示例:9、tar文件壓縮解壓命令命令:tar英文全拼:tape archive功能:文件打包工具,可實(shí)現(xiàn)文件的壓縮
    發(fā)表于 08-19 10:01

    FRDM-MCXN947的純Linux命令行環(huán)境搭建

    來(lái)燒錄,使用NXP的軟件將daplink燒錄成Jlink ob,然后解壓縮最新版本的Jlink驅(qū)動(dòng)。 接下來(lái)直接在.bashrc里添加一個(gè)alias,實(shí)現(xiàn)短命令燒錄 alias jflash
    發(fā)表于 07-28 22:55

    notepad++安裝的壓縮

    壓縮文件為notepad++的壓縮安裝包,可以直接解壓之后使用
    發(fā)表于 07-01 15:07 ?7次下載

    【RTC程序設(shè)計(jì):實(shí)時(shí)音視頻權(quán)威指南】音視頻的編解碼壓縮技術(shù)

    和技術(shù)可以實(shí)現(xiàn)不同的高效壓縮解壓縮,常用的就是MP4文件。 MP4是一種容器格式,包含多種類(lèi)型的媒體文件,如視頻,音頻,靜態(tài)圖像等,這些媒體數(shù)據(jù)同時(shí)存在于同一個(gè)MP4文件中,MP4支持多種視頻和音頻編解碼器。 編解碼的作
    發(fā)表于 04-28 21:04

    Python壓縮解壓縮實(shí)現(xiàn)代碼分享

    壓縮解壓縮是日常常用的操作,不管是windows上圖形界面的操作,還是linux上用命令來(lái)進(jìn)行壓縮解壓
    的頭像 發(fā)表于 04-11 11:28 ?1060次閱讀

    vps服務(wù)器的linux怎么查看zip壓縮包里的內(nèi)容?

    命令安裝: sudo apt update sudo apt install unzip 對(duì)于其他 Linux 發(fā)行版,請(qǐng)使用相應(yīng)的包管理工具來(lái)安裝 unzip。 2、解壓縮zip文件
    的頭像 發(fā)表于 03-22 17:34 ?816次閱讀

    基于太空級(jí)Virtex FPGA建立高靈活性的可擴(kuò)展架構(gòu)

    AIP架構(gòu)的最新應(yīng)用是獵戶(hù)座載人太空船的視覺(jué)處理單元(VPU)。VPU可為處理影像算法提供可重構(gòu)的平臺(tái),有利于位姿估計(jì)、光學(xué)導(dǎo)航以及壓縮/ 解壓縮。
    發(fā)表于 03-21 11:41 ?363次閱讀
    基于太空級(jí)Virtex FPGA建立高靈活性的可擴(kuò)展架構(gòu)

    高性能無(wú)損數(shù)據(jù)解壓縮FPGA IP,LZO無(wú)損數(shù)據(jù)解壓縮IP

    LZOAccel-D是一個(gè)無(wú)損數(shù)據(jù)解壓縮引擎的FPGA硬件實(shí)現(xiàn),兼容LZO 2.10標(biāo)準(zhǔn)。 Core接收壓縮的輸入數(shù)據(jù)塊,產(chǎn)生解壓縮后的數(shù)據(jù)塊。Core分析數(shù)據(jù)塊的頭和尾,檢查輸入數(shù)據(jù)塊的錯(cuò)誤
    的頭像 發(fā)表于 02-25 09:59 ?320次閱讀
    高性能無(wú)損數(shù)據(jù)<b class='flag-5'>解壓縮</b>FPGA IP,LZO無(wú)損數(shù)據(jù)<b class='flag-5'>解壓縮</b>IP

    Linux查看IO狀態(tài)的常用命令都有哪些呢?

    介紹下Linux的3個(gè)常用I/O相關(guān)命令,解決I/O壓力過(guò)大問(wèn)題時(shí)用iostat,查看磁盤(pán)的I/O狀態(tài)用iotop,查看I/O進(jìn)程排名用lsof
    的頭像 發(fā)表于 01-16 09:28 ?5384次閱讀