久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux下容易被忽視的命令有哪些

140次閱讀
沒有評論

共計 2644 個字符,預(yù)計需要花費 7 分鐘才能閱讀完成。

這篇文章給大家分享的是有關(guān) Linux 下容易被忽視的命令有哪些的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

一、前言

工作中發(fā)現(xiàn)很多同學(xué)對于 Linux 下的命令不太熟悉,尤其是一些功能強大的工具,使用者很少。正所謂工欲善其事,必先利其器。

二、命令

1.strace

strace 用于跟蹤程序執(zhí)行過程中的系統(tǒng)調(diào)用,如跟蹤 test 進程,只需要:

strace -p [test_pid]  或直接 strace ./test

但如果需要:

跟蹤進程內(nèi)的線程:-f 選項

統(tǒng)計時間段內(nèi)的各個系統(tǒng)調(diào)用次數(shù)分布:-C 選項

過濾某些系統(tǒng)調(diào)用:-e trace 選項,如 -e trace=network 只顯示網(wǎng)絡(luò)相關(guān)的系統(tǒng)調(diào)用,-e  trace=open,close,read,write 只顯示這 4 個系統(tǒng)調(diào)用,常用于只獲取某些特定的系統(tǒng)調(diào)用

顯示系統(tǒng)調(diào)用的時間:-ttt 選項

詳細顯示每行的數(shù)據(jù),而不是 … - s 選項加大字符串的長度限制如 -s 1024

比如,跟蹤 pid 為 12345 的進程中所有線程的 read 和 write 系統(tǒng)調(diào)用,輸出字符串的長度限制為 1024:

strace -s 1024 -f -e trace=read,write -p 12345

2.tcpdump

tcpdump 是 Linux 上的抓包工具,如抓取 eth0 網(wǎng)卡上的包,使用:

sudo tcpdump -i eth0

但如果需要:

文本形式顯示抓包數(shù)據(jù):- A 選項

顯示 16 進制的報文數(shù)據(jù):- X 選項

輸出結(jié)果到文件中 - w 選項,如 -w 1.cap 將報文輸出到 1.cap 文件,此文件可用 wireshark 查看

過濾主機和端口號 如 host 11.11.11.11 and port  12345 過濾主機 ip 為 11.11.11.11,端口號為 12345 的 tcp 報文

比如,抓取 80 端口的 HTTP 報文,以文本形式展示:

sudo tcpdump -i any port 80 -A

這樣你就可以清楚看到 GET、POST 請求的內(nèi)容了。

3.nc

nc 可以在 Linux 上開啟 TCP Server、TCP Client、UDP Server、UDP Client。

如在端口號 12345 上開啟 TCP Server 和 Client 模擬 TCP 通信:

Server: nc -l 127.0.0.1 12345 Client: nc 127.0.0.1 12345

在端口號 12345 上開啟 UDP Server 和 Client 模擬 TCP 通信:

Server: nc -ul 127.0.0.1 12345 Client: nc -u 127.0.0.1 12345

Unix Socket 通信示例:

Server: nc -Ul /tmp/1.sock Client: nc -U /tmp/1.sock

4.curl

curl 用于模擬 HTTP 請求,在終端模擬請求時常用,如最基本的用法:

curl http://www.baidu.com

但如果需要:

指定 HTTP 首部 - H 選項,如 -H Host: xx.xx.xx.xx

指定請求方法 - X 選項,如 -X POST,- d 指定 post 數(shù)據(jù)

顯示請求詳細信息,包括請求和響應(yīng)首部 - v 選項

重定向請求自動追蹤 - L 選項

常見的 curl 請求選項 -sSfL 表示:不顯示進度信息,顯示錯誤信息,發(fā)生 HTTP 錯誤時失敗,自動跟蹤重定向

5.find

find 可用于查找文件,比如:

find . -name  1.txt

表示在當前目錄及其子目錄下查找文件名為 1.txt 的文件,結(jié)合 xargs 使用功能更加強大,如:

find . -type f|xargs grep  abcd

表示在當前目錄及其子目錄下查找包含 abcd 字符串的文件行,經(jīng)常用于搜索代碼。

6.lsof

lsof 命令主要用法包括:

sudo lsof -i :[port] 查看端口占用進程信息,經(jīng)常用于端口綁定失敗時確認端口被哪個進程占用

sudo lsof -p [pid] 查看進程打開了哪些文件或套接字

7.ss

Linux 上的 ss 命令可以用于替換 netstat,ss 直接讀取解析 /proc/net 下的統(tǒng)計信息,相比 netstat 遍歷 /proc 下的每個 PID 目錄,速度快很多。

常見示例:

ss -t -a 顯示所有的 TCP Sockets

ss -u -a 顯示所有的 UDP Sockets

ss -x src /tmp/a.sock 顯示連接到 /tmp/a.sock 的進程

ss -o state [state TCP-STATE] 如 ss -o state established 顯示所有建立的連接

8.awk/sed

awk 和 sed 在文本處理方面十分強大,其中,awk 按列進行處理,sed 按行進行處理。

如采用冒號分隔數(shù)據(jù),輸出 *** 列數(shù)據(jù) ($0 代表行全部列數(shù)據(jù),$1 代表 *** 列,$2 代表第二列 …)

awk -F  :   {print $1}

在 awk 的結(jié)果基礎(chǔ)上,結(jié)合 sort、uniq 和 head 等命令可以輕松完成頻率統(tǒng)計等功能

 查看文件的第 100 行到第 200 行: sed -n  100,200p  log.txt  替換字符串中的特定子串  echo  int charset=gb2312 float |sed  s/charset=gb2312/charset=UTF-8/g   替換 test 文件每行匹配 ab 的部分為 cd sed -i  s/ab/cd/g  test

9.screen

當采用 telnet 或 SSH 登錄遠程主機時,因為網(wǎng)絡(luò)中斷的原因會導(dǎo)致 session 終止,此時會觸發(fā) SIGHUP 信號使得任務(wù)終止,因此我們常常會看到有些任務(wù)采用 nohup 的方式運行,避免任務(wù)被打斷。screen 通過多終端的方式,巧妙地解決了這個問題。  示例:

screen -S test 開啟一個 screen,這時擁有一個終端,所有執(zhí)行的程序都會在 ps 中展示

Ctrl+ a 鍵 + d 鍵 退出當前 screen, 切到上級窗口

screen -ls 查看所有 screen 列表,如

13333.test (Detached) 14039.test4 (Detached)  表示兩個 screen,screen 標識為 13333.test 和 14039.test4

screen -r [pid.]tty.host 進入選定的 screen,如 screen -r 13333.test

exit 關(guān)閉當前 screen

感謝各位的閱讀!關(guān)于“Linux 下容易被忽視的命令有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-25發(fā)表,共計2644字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 兰溪市| 民丰县| 宜兰市| 太白县| 宿迁市| 赤壁市| 绿春县| 太湖县| 乌拉特中旗| 北碚区| 桦甸市| 尼勒克县| 樟树市| 石阡县| 凤城市| 普定县| 循化| 新建县| 财经| 庄河市| 武义县| 开封县| 中牟县| 保康县| 礼泉县| 福贡县| 镇坪县| 垣曲县| 太仆寺旗| 鸡西市| 太原市| 通辽市| 大连市| 昌都县| 南丹县| 临城县| 囊谦县| 赣榆县| 葵青区| 鄢陵县| 平陆县|