lsof全名list opened files,也就是列舉系統中已經被打開的文件。我們都知道,linux環境中,任何事物都是文件,
創新互聯專業為企業提供青河網站建設、青河做網站、青河網站設計、青河網站制作等企業網站建設、網頁設計與制作、青河企業網站模板建站服務,十多年青河做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
設備是文件,目錄是文件,甚至sockets也是文件。所以,用好lsof命令,對日常的linux管理非常有幫助。
lsof是linux最常用的命令之一,通常的輸出格式為:
引用
常見包括如下幾個字段:更多的可見manual。
1、COMMAND
默認以9個字符長度顯示的命令名稱。可使用+c參數指定顯示的寬度,若+c后跟的參數為零,則顯示命令的全名
2、PID:進程的ID號
3、PPID
父進程的IP號,默認不顯示,當使用-R參數可打開。
4、PGID
進程組的ID編號,默認也不會顯示,當使用-g參數時可打開。
5、USER
命令的執行UID或系統中登陸的用戶名稱。默認顯示為用戶名,當使用-l參數時,可顯示UID。
6、FD
是文件的File Descriptor number,或者如下的內容:
(這里很難翻譯對應的意思,保留英文)
引用
文件的File Descriptor number顯示模式有:
引用
7、TYPE
引用
IPv4 IPv4的包;
IPv6 使用IPv6格式的包,即使地址是IPv4的,也會顯示為IPv6,而映射到IPv6的地址;
DIR 目錄
LINK 鏈接文件
詳情請看manual中更多的注釋。
8、DEVICE
使用character special、block special表示的設備號
9、SIZE
文件的大小,如果不能用大小表示的,會留空。使用-s參數控制。
10、NODE
本地文件的node碼,或者協議,如TCP等
11、NAME
掛載點和文件的全路徑(鏈接會被解析為實際路徑),或者連接雙方的地址和端口、狀態等
常用示例:
1.顯示開啟文件/home/oracle/10.2.0/db_1/bin/tnslsnr的進程
2.知道22端口現在運行什么程序
3.顯示init進程現在打開的文件
6.依照文件夾/home/oracle來搜尋,但不會打開子目錄,用來顯示目錄下被進程開啟的文件
顯示內容太多了,不顯示了
lsof -n 不將IP轉換為hostname,缺省是不加上-n參數
關注:
進程調試命令:truss、strace和ltrace
進程無法啟動,軟件運行速度突然變慢,程序的"SegmentFault"等等都是讓每個Unix系統用戶頭痛的問題,而這些問題都可以通過使用truss、strace和ltrace這三個常用的調試工具來快速診斷軟件的"疑難雜癥"。
col命令是Linux下的一個文檔編輯命令,其英文全稱是colation,翻譯過來就是過濾,col命令主要有一個功能,能夠在許多說明文件里有效地過濾控制字符。
說明:col命令就相當于一個標準輸入文本過濾器,它會從標注輸入設備內讀取文本內容,并且將內容顯示到標注輸出設備。
在許多Unix說明文件里,都有RLF控制字符。當我們運用shell特殊字符或,把說明文件的內容輸出成純文本文件時,控制字符會變成亂碼,col指令則能有效濾除這些控制字符。
語法
col [-bfx][-l緩沖區列數]
參數
-b:過濾掉所有的控制字符,包括RLF和HRLF。
-f:濾除RLF字符,但允許將HRLF字符呈現出來。
-x:以多個空格字符來表示跳格字符。
-l緩沖區列數:預設的內存緩沖區有128列,您可以自行指定緩沖區的大小。
Linux下常用文本處理命令大全
Linux下面有很多經典的非常有用的命令,其中處理文本的命令就有很多。下面就讓我們一起看看這些經典的Linux文本處理命令有哪些吧。
一. sort
文件排序, 通常用在管道中當過濾器來使用. 這個命令可以依據指定的關鍵字或指定的字符位置, 對文件行進行排序. 使用-m選項, 它將會合并預排序的輸入文件. 想了解這個命令的全部參數請參考這個命令的info頁.
二. tsort
拓撲排序, 讀取以空格分隔的有序對, 并且依靠輸入模式進行排序.
三. uniq
這個過濾器將會刪除一個已排序文件中的重復行. 這個命令經常出現在sort命令的管道后邊.
四. expand, unexpand
expand命令將會把每個tab轉化為一個空格. 這個命令經常用在管道中.
unexpand命令將會把每個空格轉化為一個tab. 效果與expand命令相反.
五. cut
一個從文件中提取特定域的工具. 這個命令與awk中使用的print $N命令很相似, 但是更受限. 在腳本中使用cut命令會比使用awk命令來得容易一些. 最重要的選項就是-d(字段定界符)和-f(域分隔符)選項.
六. paste
將多個文件, 以每個文件一列的形式合并到一個文件中, 合并后文件中的每一列就是原來的一個文件. 與cut結合使用, 經常用于創建系統log文件.
七. join
這個命令與paste命令屬于同類命令. 但是它能夠完成某些特殊的目地. 這個強力工具能夠以一種特殊的形式來合并兩個文件, 這種特殊的形式本質上就是一個關聯數據庫的簡單版本.
join命令只能夠操作兩個文件. 它可以將那些具有特定標記域(通常是一個數字標簽)的行合并起來, 并且將結果輸出到stdout. 被加入的文件應該事先根據標記域進行排序以便于能夠正確的匹配.
八. head
把文件的頭部內容打印到stdout上(默認為10行, 可以自己修改). 這個命令有一些比較有趣的選項.
九. tail
將一個文件結尾部分的內容輸出到stdout中(默認為10行). 通常用來跟蹤一個系統logfile的.修改情況, 如果使用-f選項的話, 這個命令將會繼續顯示添加到文件中的行.
十. wc
wc可以統計文件或I/O流中的”單詞數量”:
十一. fold
將輸入按照指定寬度進行折行. 這里有一個非常有用的選項-s, 這個選項可以使用空格進行斷行(譯者: 事實上只有外文才需要使用空格斷行, 中文是不需要的)(請參考例子 12-23和例子 A-1).
十二. fmt
一個簡單的文件格式器, 通常用在管道中, 將一個比較長的文本行輸出進行”折行”.
十三. col
這個命令用來濾除標準輸入的反向換行符號. 這個工具還可以將空白用等價的tab來替換. col工具最主要的應用還是從特定的文本處理工具中過濾輸出, 比如groff和tbl. (譯者: 主要用來將man頁轉化為文本.)
十四. column
列格式化工具. 通過在合適的位置插入tab, 這個過濾工具會將列類型的文本轉化為”易于打印”的表格式進行輸出.
十五. colrm
列刪除過濾器. 這個工具將會從文件中刪除指定的列(列中的字符串)并且寫到文件中, 如果指定的列不存在, 那么就回到stdout. colrm 2 4 filename將會刪除filename文件中每行的第2到第4列之間的所有字符. p="" /filename將會刪除filename文件中每行的第2到第4列之間的所有字符.
Caution: 如果這個文件包含tab和不可打印字符, 那將會引起不可預期的行為. 在這種情況下, 應該通過管道的手段使用expand和unexpand來預處理colrm.
十六. nl
計算行號過濾器. nl filename將會把filename文件的所有內容都輸出到stdout上, 但是會在每個非空行的前面加上連續的行號. 如果沒有filename參數, 那么就操作stdin.
nl命令的輸出與cat -n非常相似, 然而, 默認情況下nl不會列出空行.
十七. pr
格式化打印過濾器. 這個命令會將文件(或stdout)分頁, 將它們分成合適的小塊以便于硬拷貝打印或者在屏幕上瀏覽. 使用這個命令的不同的參數可以完成好多任務, 比如對行和列的操作, 加入行, 設置頁邊, 計算行號, 添加頁眉, 合并文件等等. pr命令集合了許多命令的功能, 比如nl, paste, fold, column, 和expand.
pr -o 5 –width=65 fileZZZ | more 這個命令對fileZZZ進行了比較好的分頁, 并且打印到屏幕上. 文件的縮進被設置為5, 總寬度設置為65.
一個非常有用的選項-d, 強制隔行打印(與sed -G效果相同).
十八. gettext
GNU gettext包是專門用來將程序的輸出翻譯或者本地化為不同國家語言的工具集. 在最開始的時候僅僅支持C語言, 現在已經支持了相當數量的其它程序語言和腳本語言.
想要查看gettext程序如何在shell腳本中使用. 請參考info頁.
十九. msgfmt
一個產生二進制消息目錄的程序. 這個命令主要用來本地化.
二十. iconv
一個可以將文件轉化為不同編碼格式(字符集)的工具. 這個命令主要用來本地化.
二十一. recode
可以認為這個命令是上邊iconv命令的專業版本. 這個非常靈活的并可以把整個文件都轉換為不同編碼格式的工具并不是Linux標準安裝的一部分.
二十二. TeX, gs
TeX和Postscript都是文本標記語言, 用來對打印和格式化的視頻顯示進行預拷貝.
TeX是Donald Knuth精心制作的排版系統. 通常情況下, 通過編寫腳本的手段來把所有的選項和參數封裝起來一起傳到標記語言中是一件很方便的事情.
iptables - 用于 IPv4 /IPv6數據包過濾和 NAT 的管理工具
iptables [-t table] {-A|-C|-D} chain rule-specification
iptables 和 ip6tables 用于在 Linux 內核中設置、維護和檢查 IPv4 和 IPv6 包過濾規則的表。 可以定義幾個不同的表。 每個表包含許多內置鏈,也可能包含用戶定義的鏈。
每個鏈都包含了一個規則列表,可以匹配一組數據包。 每個規則都指定如何去處理匹配的數據包,即 Target ,如下圖所示,表中有五個鏈:PREROUTING,INPUT,POSTROUTING,OUTPUT和DOCKER,其中鏈POSTROUTING擁有兩個匹配規則,他們的Target分別是MASQUERADE和SNAT,即進行網絡地址轉換,鏈OUTPUT只有一條規則,其target是DOCKER,即數據包要交給鏈DOCKER進行進一步匹配處理。
數據包將在鏈上依次匹配規則,若不匹配,則檢查下一條,若匹配,則根據target,執行下一步操作。target的至可能是其他鏈的名字(如上面的DOCKER),則此時將數據包交給此鏈進行規則匹配;target還可能是其他特殊值:ACCEPT、DROP或 RETURN 之一。
如果到達內置鏈的末端或匹配帶有目標 RETURN 的內置鏈中的規則,則鏈的策略將決定數據包的命運。鏈的策略在上圖中,每個內置鏈名稱后的括號中體現。
目前有五個獨立的表(存在哪些表取決于內核配置選項和存在哪些模塊)。
-t, --table table
此選項指定命令應操作那個數據包匹配表。 如果內核配置了自動模塊加載,則將嘗試加載該表的適當模塊(如果該模塊尚不存在)。
三個表包括:
iptables 和 ip6tables 識別的Options可以分為幾個不同的類別:
這些選項指定要執行的所需操作。 除非下面另有說明,否則只能在命令行上指定其中之一。 對于長版本的命令和選項名稱,您只需要使用足夠多的字母以確保 iptables 可以將其與所有其他選項區分開來。
以下參數構成規則規范( rule-specification 在添加、刪除、插入、替換和追加命令中使用)。
可以指定以下附加選項:
分享標題:linux命令及翻譯 linux 翻譯
URL網址:http://vcdvsql.cn/article44/ddogdhe.html
成都網站建設公司_創新互聯,為您提供商城網站、品牌網站制作、App開發、移動網站建設、響應式網站、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯