『壹』 unix 如何查看剛剛執行的命令
你說的東西,其實不是unix或者linux,而是shell 功能。
用 echo $SHELL 查看你當前使用的是什麼shell。
估計你的unix默認的應該是 ksh, 而不是大多數linux發行版默認的bash (用 tab 補全)。 ksh可以用連續兩次 ESC 鍵來進行自動補全。你可以試一下。
至於切到上次命令,要看你用的編輯模式是什麼,你可以用
set -o | grep emacs
如果顯示 emacs off, 建議你用
set -o emacs
先切換成大家常用的 emacs模式,然後就可以用
Ctrl-p 和 Ctrl-n 來查看上一個下一個命令了。
『貳』 說說常用的UNIX命令
下文列出了常用的unix命令。
more less:
less的作用與more十分相似,都可以用來瀏覽文字檔案的內容,不同的是less允許使用者往回卷動以瀏覽已經看過的部份,同時因
為less並未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。
unix種類[圖]
>> Linux ‖ BSD ‖ Solaris ‖ SCO ‖ HP-UX ‖ AIX ‖ AS400 ‖ Tru64 ‖ IRIX ‖ MacOsX
UNIX命令
一、UNIX命令格式
1、UNIX命令提示符
在命令行下,操作系統會顯示一提示符,提示用戶在此提示符後可以輸入一行命令。不同的Shell有不同的預設提示符:
B Shell和K Shell的預設提示符為"$";
C Shell的預設提示符為"%";
但當以root用戶登錄時,系統提示符統一預設為"#"。
用戶可以更改自己的預設Shell和提示符。
2、基本命令格式
在Shell提示符下,就可以輸入UNIX命令。UNIX命令的基本格式如下:
command 參數1 參數2 ... 參數n
UNIX命令由一個命令(command)和零到多個參數構成,命令和參數之間,以及參數與參數之間用空格隔開。UNIX的命令格式和DOS的命令格式相似,但UNIX的命令區分大小寫,且命令和參數之間必須隔開。如:對DOS來說是以下四條命令是相同的:
cd\tmp
cd \tmp
CD \tmp
cd \Tmp
對UNIX操作系統來說,改變目錄的命令也是cd命令,以下是正確的UNIX cd命令:
cd /tmp
cd /Tmp
但tmp和Tmp是兩個不同的目錄。以下兩條命令:
cd/tmp
CD /tmp
已經不是cd命令了。
3、在一行中運行多個命令
可以在一行中輸入多個命令,命令間用「;」分開,如:
mkdir tmp ; cp file1 tmp/file2 ; ls -l tmp
UNIX會順序執行以上三條命令。
4、在後台運行程序
要讓程序在後台執行,只需在命令行的最後加上「&」符號。
[例1] 在後台運行find命令,在當前目錄及其子目路下查找文件名為abc的文件。
執行命令和立即顯示的內容如下:
$ find . -name abc -print&
10722
$
...
10722表示進程號(PID)。當find命令在後台執行完後,會顯示結果。
當在後台運行命令時,最好將其輸出重定向輸出到一個文件中去,以便以後檢查。
[例2] 在後台運行find命令,在當前目錄及其子目路下查找文件名為abc的文件並將結果存到myfind文件中。
執行命令如下:
$ find . -name abc -print>;myfind&
在運行後台程序的同時可以繼續輸入命令。
5、nohup命令
當終端退出後,由該終端啟動的後台程序自動退出。要想終端退出後程序不停止運行,則要用nohup命令啟動後台程序。如對於例2的命令加入nohup後變為:
$ nohup find . -name abc -print>;myfind&
二、特殊按鍵
在UNIX命令操作中有一些特殊鍵,列表如下:
Ctrl + d 結束鍵盤輸入或退出當前shell
Del 中斷鍵,停止當前動作回到shell
Ctrl+s 暫停屏幕輸出
Ctrl+q 繼續屏幕輸出
Ctrl+u kill鍵,刪除游標所在行的所有字元
Esc 結束當前的操作狀態(如vi)
三、UNIX常用簡單命令
下表列出了幾個簡單的UNIX命令:
解釋 UNIX命令 命令舉例
查看幫助信息 man mandate
查看日期 date date
顯示日歷 cal cal1998
顯示大寫大字 bannerbanner 「ABCD」
計算器 bc bc
修改口令 passwdpasswd
查看誰在使用系統 whowho
查看我是誰 who am iwho am i
顯示用戶信息 fingerfinger 用戶名
清除屏幕 clearclear
1、man命令 - 查看幫助信息
舉例:
查看man的使用方法: man
查看finger命令的幫助信息: man finger
2、date命令 - 顯示、修改日期和時間
顯示時間的命令如下:
date
顯示如下:
Mon Aug 17 13:43:14 NST 1998
表示NST標准時間,1998年8月17日13:43:14,星期一。
3、cal命令 - 顯示日歷
舉例:
顯示1998年全年日歷: cal 1998
顯示1998年8月日歷: cal 8 1998
4、banner命令 - 顯示大寫大字
舉例:在屏幕上用大字顯示「HUAWEI」,命令如下
banner "HUAWEI"
5、bc命令 - 簡單計算器
bc命令可以進行加、減、乘、除、求模、乘方運算,運算符分別為「+」「-」「*」「/」「%」「^」。bc使用舉例如下
bc
以後輸入算式即可,如:
1234 * 3 + 2^4
按回車顯示結果,以後等待輸入其它算式。按<Ctrl>;+d鍵退出bc。
6、passwd命令 - 修改口令
要修改自己的口令,只需運行:
passwd
以後系統會提示輸入原來口令,並輸入新口令。
7、who命令 - 查看正在使用UNIX的用戶
用法如下:
who
系統會顯示正在使用UNIX的用戶名、終端號和登錄時間。要查看使用者自己的信息,運行:
who am i
8、finger命令 - 顯示用戶信息
finger命令比who命令顯示的信息量大,功能強。基本使用方法如下:
顯示登錄信息: finger
顯示smith用戶詳細信息: finger smith
9、clear命令 - 清除屏幕
clear
四、UNIX用戶間簡單通訊命令
UNIX提供許多方式讓用戶相互通信,它允許你以文本的方式發送及接收信息。你可以傳遞信息給其他用戶、所有用戶、或自己。信息來源可以是文本文件或直接由鍵盤輸入的內容。
(一)write 命令
可使用write 實用程序向已登錄的另一個用戶發送一條報文,當對方也使用write 命令時,雙方之間就建立了通信。
當用戶使用write 命令時,就在對方用戶終端上顯示提示信息。write 命令的格式如下:
write destination-user [terminal]
其中,destination-user是你想與之通信的用戶注冊名,通常使用who 命令查看其注冊名。如果對方在多台終端上登錄,可通過用terminal 來控制write 的報文送向指定的終端。為了建立與其他用戶的雙向通話,用戶和對方每次必須執行write 命令,且必須指定注冊名。一般在使用UNIX 進行通話時,通信雙方有一些約定:用「o」 表示結束一條報文,「oo」 表示結束這次通信,用ctrl-d 退出write 命令。
[例1] UNIX上兩用戶alex 和jenny 通過write命令通信。
在alex的所在終端上(<CR>;表示回車):
$ write alex <CR>;
Hi Alex, are you there? o<CR>;
Message from Alex (tty11)[Sat Jan 5 15]….
Yes Jenny, I』m here. o<CR>;
……
Thank you ,Alex, bye! oo<CR>;
Ctrl-d
$
該例說明了使用write 命令實現Alex 和Jenny 的通信過程。首先Jenny 使用前兩行向Alex發送了一條報文,接下來的兩行是Alex 發送的報文Jenny 收到了,省略號表示他們的通信繼續。最後,Jenny 用thank you,Alex,bye!oo 告訴Alex沒有話要說了,並在下一行開始鍵入ctrl-d 來退出write 並回到shell。
(二)使用talk雙方對話
talk 命令是一個虛擬通信命令,它允許登錄雙方通過鍵盤實時對話,其格式如下:
talk user-name [terminal]〈CR〉
注意,使用talk 進行雙方對話時,雙方使用的機器體系結構必須相同。當對方給出響應的talk命令後,雙方終端上都顯示
[connect established]
時,雙方可雙工通信了。雙方可以以任意的速度從鍵盤輸入,talk 把你的輸入一行一行的顯示在你和對方的屏幕上。用<Delete>;退出talk 。
(三)使用mesg 拒絕和允許接收報文
mesg 命令允許或拒絕接收由其它終端發來的write 和talk通訊信息。mesg命令在本地終端運行,其使用格式如下:
mesg [y] [n]〈CR〉
其中,y 表示允許接收,n 表示拒絕接收。如既不給出y 也不給出n ,則報告現在的許可狀態。例:
[例1] 顯示狀態:
$mesg <CR>;
則命令的執行結果為:
is y
或 is n
[例2] 拒絕接收由其它終端發來的write和talk通訊信息:
$mesg n
$mesg
is n
(四)wall 廣播式消息傳遞
所有登錄用戶都可收到該消息。僅超級用戶使用該命令。wall命令有以下幾種格式:
# wall
# wall filename
# wall 「send a messageto all the people。」
2.4 注銷(退出UNIX系統)
在每次使用完後,一定要進行注銷,以防他人通過你的帳號進入系統,並保證系統的完整性。注銷過程如下:在UNIX提示符下,運行:
$ exit
或
$ logout
或直接按鍵:
Ctrl+d。
由於UNIX操作系統的不同,注銷的命令也可能不同。
--------------------------------------------------------------------------------
3.5 UNIX文件存取許可權
一、文件的存取許可權
UNIX文件的存取有三種許可權:
許可權 普通文件的存取許可權目錄的存取許可權
R 具有讀取文件的權利能讀取文件名稱
W 具有寫入文件的權利能建立和刪除文件,可以改變文件名
X 具有執行文件的權利能使用該目錄下的文件(如cd命令)搜索文件等
二、能夠存取文件的用戶類型
有三種類型的用戶可以存取文件:
用戶類型 說明
owner 文件的屬主(擁有者)
group 用戶組內成員
other 其他用戶(非owner和非group)
每種類型的用戶都有三種文件存取許可權:r、w、x。
三、文件存取許可權的顯示
可以通過」ls -l」命令顯示,如:
$ ls -l file1
顯示如下:
-rwxr-xr-- 2 wjm newservice 321 Oct 1709:33 file1
上行中:
第2-4字元」rwx」表示此文件屬主wjm對文件file1的權利為」可讀、可寫、可執行」;
第5-7字元」r-x」 表示此用戶組newservice內的用戶對文件file1的權利為:
」可讀、不可寫、可執行」;
第8-10字元」r--」 表示其他用戶對文件file1的權利為」可讀、不可寫、不可執行」
四、文件存取許可權的修改
用chmod命令修改文件的存取許可權,chmod命令的格式如下:
格式1:chmod symbolic_mode file…
格式2:chmod absolute_mode file…
(一)格式1:符號模式(symbolic_mode), 符號模式的命令格式如下:
chmod [who] op permision file…
who項表示用戶類型,它的內容為以下一項或多項:
U 文件屬主(user --- owner)
G 用戶組(group)
O 其他人(other)
A 所有人(all)
op項表示動作:
+ 表示要加上permission指定的權利
- 表示要取消permission指定的權利
permission項為存取許可權,它的內容為以下一項或多項:
r 表示可讀
w 表示可寫
x 表示可執行
舉例:
chmod u+w test report 屬主對test和report文件「可寫」
chmod u-x abc.c 屬主對abc.c文件不可執行
chmod u+rwx myfile1 屬主對myfile1「可讀、可寫、可執行」
chmod ugo+rwx myfile2 任何人都對myfile1「可讀、可寫、可執行」
(二)格式2:絕對模式(absolute_mode), 符號模式的命令格式如下:
chmod xyz file…
x、y、z分別是0-7的數字,分別表示屬主、用戶組、其他人對該文件的存取許可權。x、y、z的取值公式均為:
a*4 + b*2 +c
其中,
a=1分別表示可讀,a=0表示不可讀;
b=1分別表示可寫,b=0表示不可寫;
c=1分別表示可執行,c=0表示不可執行;
舉例:
chmod 751 ncp 屬主對ncp擁有「可讀、可寫、可執行」的全部權利;組內成員對ncp只有「可讀、可執行」的權利;其他用戶對ncp只有「可執行」的權利。
五、改變文件屬主及文件所在組
改變文件屬主的格式如下:
chown 屬主名 文件名
必須對文件具有write權利才可改變文件的屬主。
改變文件所在組的格式如下:
chgrp 組名 文件名
必須是文件的屬主或supervisor才能改變文件組別的歸屬。
舉例:
chown wjm test1 將文件test1的屬主改為wjm
chgrp newservice test1 將文件test1的用戶組改為newservice
3.6 UNIX重定向與管道
UNIX重定向 將文件的標准輸出重新定向輸出到文件,或將數據文件作為另一程序的標准輸入內容。重定向符號如下:
< 重定向輸入
>; 重定向輸出
>;>; 重定向輸出並追加到尾部
例如:
ls -l >; file1 將ls -l命令顯示的內容存到file1中,
ls >;>; file1 將ls 命令顯示的內容附加存到file1的尾部
grep abc < file1 將file1的內容作為grep abc命令的輸入
其中,">;"和">;>;"為輸出重定向符,">;"將輸出內容存到重定向文件中,若文件存在,則先刪除原有內容;">;>;"將輸出內容存到重定向文件的尾部。
UNIX管道 將一文件的輸出作為另一文件的輸入。管道符號如下:
| 將左邊命令的輸出,作為右邊命令的輸入
例如:
ls|more 將ls的輸出作為more命令的輸入
ps -ef|grep smith ps -ef的輸出作為grep smith命令的輸入
3.7 UNIX文件系統常用命令
UNIX命令 UNIX命令舉例 類似DOS命令
顯示當前目錄 pwd pwdcd
改變目錄 cd cd/usr cd c:\usr
進入家目錄 cd cd
創建目錄 mkdirmkdir abc md abc
刪除空目錄 rmdirrmdir abc rd abc
刪除目錄及其內容 rm -rrm -r abc deltree abc
顯示目錄內容 ls lsabcls -l abc(文件長列表)ls -aabc(所有類型文件)ls -d *(不進子目錄) dir abc
顯示文本文件內容 catcat file1.c type file1.c
一次一屏顯示文本文件內容more more file1.c
拷貝文件 cp cpfile1 file2 file1 file2
移動(重命名)文件 mv mv call.test call.listmove call.tst call.lstren call.test bbb
刪除文件 rm rmcall.list delcall.lst
一、pwd命令
pwd命令用來顯示當前目錄路徑,命令如下:
pwd
二、cd命令
cd命令用於改變當前的目錄,如:
命令舉例 說明
cd /usr/smith 改變到/usr/smith目錄
cd ../wjm 改變到父目錄下的wjm子目錄
cd exam1 改變到當前目錄下的exam1子目錄
cd 改變到家目錄
不帶參數的cd命令表示進入家目錄,這點與DOS有本質區別。
三、rm命令
rm命令可以刪除文件及目錄,舉例如下:
命令舉例 說明
rm file2 刪除當前目錄下的文件file2
rm file* 刪除當前目錄下以file開頭的文件
rm -r /usr/wjm/exam2 刪除目錄/usr/wjm/exam2及其內容
四、ls命令
ls命令可以顯示目錄內容,命令格式如下:
ls -選項 文件名
其中的常用選項說明如下:
-l 長列表顯示目錄內容
-a 顯示所有類型文件,包括隱含文件
-d 如果顯示內容包含目錄名,則只顯示目錄名字不顯示目錄內容
命令舉例如下:
命令舉例 說明
ls 顯示當前目錄內容
ls file* 顯示除當前目錄下以file開頭的文件
ls -l /usr/wjm/exam2 長列表顯示目錄/usr/wjm/exam2內容
ls -adl 顯示當前目錄內容(同時帶-l、-d、-a參數)
[注] 」ls -l」命令顯示格式如下:
drwxrwxr-x 2 smith group 48 Jan 05 1998 john
-rwxr-xr-- 1 wjm newservice 321 Oct 17 09:33 file2
上面每行中:
第一列:
第1個字元表示文件的類型(d表示目錄,-表示普通文件);
第2-4字元表示文件屬主對此文件的訪問許可權(如:「rwx」和「rwx」);
第5-7字元表示用戶組對此文件的訪問許可權(如:「rwx」和「r-x」);
第8-10字元表示其他用戶對此文件的訪問許可權(如:「r-x」和「r--」);
其中,訪問許可權用三個字元表示,順序是「rwx」,「r」表示可讀、「w」表示
可寫、「x」表示可執行。若某項禁止訪問則為「-」,如:「r-x」表示可讀、
不可寫、可執行;
第二列:此文件的鏈接數(如:2和1);
第三列:此文件的屬主名(如:smith和wjm);
第四列:用戶組名(如:group和newservice);
第五列:文件所佔位元組數(如:48和321);
第六至八列:最後修改的日期和時間(如:「Jan 05 1998」和「Oct 17 09:33」);
第九列:文件名(如:john和file2)。
五、mkdir、rmdir、cat、more、cp、mv命令
這些命令和DOS的相應命令功能和用法基本一致,它們和DOS命令的對應關系如下:
UNIX命令 DOS命令
mkdir mkdir或md
rmdir rmdir或rd
cat type
more more
cp
mv move或ren
本文來自CSDN博客:http://blog.csdn.net/chinayuan/archive/2008/10/14/3072562.aspx
『叄』 Unix命令cat
這個命令可不是「貓」的意思,而是catenate的縮寫。顧名思義,是把東西串起來。
比如:cat file1 file2
就是把文件file1和file2連在一起,然後輸出到屏幕上。注意,輸出到屏幕上是cat的自定義目的。如果要改變它的輸出方向,就必須使用 Unix操作系統系統的輸出重定向符">",">"輸出重定向符。稍微高級一點的dos用戶都知道這個符號。在Unix操作系統里的用法同 Dos的區別不是很大。但比較不同的地方是,Unix操作系統系統將任何的一個外設都認同為一個文件。
所以如果你要將輸出重定向到列印機之類的地方,只要寫上代表列印機的設備文件名。前一章里我們曾講過終端機器名,它也是一個文件。
比方我的設備機器 是ttya,而小李的設備機器是ttyb,他想讓我把當前目錄的內容給他看。那麼用這條命令就可以了ls -a-u-F >ttyb。這充分利用了Unix操作系統系統多用戶的設計思想。
同樣的使用ls -a-u-F>file1就是將當前Unix操作系統目錄列表輸出到file1中。
又比如:cat file1 file2>file3
就是將文件file1和file2的內容輸出到file3中。在Dos里這條命令被寫成 file1+file2 file3
當你用'>'來輸出重定向的時候,Unix操作系統馬上打開一個空文件來准備存放'>'之前那個文件命令的輸出結果。
比如:
cat file1 file2>file3
系統先將file3的內容清空。所以:cat file1 file2>file1這條命令將產生一個錯誤提示。也許這條命令的本意是增加file1里的內容,但在系統初始這條命令的時候就把file1里的 內容清空了。所以你得到一個錯誤提示。如果要追加文件內容請使用以下命令:cat file2>>file1,">>"表示追加,而不是先清空file1中的內容。
Unix常用命令cat命令格式參數
命令:cat
使用許可權:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
說明:把檔案串連接後傳到基本輸出(螢幕或加 > fileName 到另一個檔案)
參數:
-n 或 --number 由 1 開始對所有輸出的行數編號
-b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-v 或 --show-nonprinting
範例:
cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3
『肆』 unix怎麼刪文件命令是什麼
rm命令,刪除一個目錄中的一個或多個文件或目錄(文件夾)。操作方法如下:
1、首先用ls命令查看當前目錄下的文件或者目錄,然後用rm 命令刪除目錄中的文件 123.txt 。
『伍』 unix命令1
這是個改變目錄路徑的命令
其實與其說與DOS一樣,不如說DOS抄襲了UNIX,就發展史而言,UNIX遠比DOS早
cd.. 是省略模式,可以返回到上一級目錄
cd. 其實也是省略模式,到當前目錄。
cd 是顯示當前目錄。
cd可以迅速切換到你想要操作的目錄
比如:
C:\>cd d:\backup\vedio\nvidia
那麼可以迅速從C盤根目錄切換到D盤根目錄下的其他子目錄
『陸』 請教hp unix 上怎樣輸入上一條命令
請教 hp unix 上怎樣輸入上一條命令呢?
#export TERM=vt100
#ksh -o vi
這樣按Esc+K就可以調用上一條命令了。
1、首先必須配置了~/.profile文件中配置了HISTFILE=~/.history文件
2、預設狀態下是通過esc + k調出歷史命令
3、如果不能用set -o vi
再測試
(實際上是調用了vi的命令編輯模式)
『柒』 你好,請問,我在unix終端下,怎麼操作才能使用上一次使用的命令
按向上向下的箭頭。向上顯示上一條命令。
『捌』 常見unix命令有那些
LINUX網路性能之管理工具三劍客
本文是介紹管理Linux系統網路性能技巧的文章,主要介紹了route、netstat、tcpmp三種網路管理測試工具的使用方法及其可實現的功能。
route
在配置網路時,要為機器指定接收數據包時該包要經過的路徑。在Linux系統中,提供一個命令route,這個命令可以為ifconfig命令配置的網卡設置靜態路由。這種設置工作通常在/etc/rc.d/rc.inet1中引入,在系統引導時進行。
我們通過幾個例子來說明如何使用route命令:
route add -net 127.0.0.0
這個命令將向路由表中添加一個指定地址或者網路的路由。注意此時網路為A類地址,掩碼被設置為255.0.0.0,這個新添加的條目被連接到lo設備上。
route add -net xxx.xxx.xxx.xxx netmask 255.255.255.0 dev eth0
這個命令為IP地址為xxx.xxx.xxx.xxx的主機增加一個路由,它的網路掩碼被設置為255.255.255.0。
route del -net xxx.xxx.xxx.xxx
此命令將刪除xxx.xxx.xxx.xxx這個網路的路由。
使用route命令還可以很方便地對整個網路的路由信息進行管理,其輸出結果是網路的路由表。如下所示:
-----------------------------------------------------------------
[root@lee /root]#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.8.224 * 255.255.255.255 UH 0 0 0 eth0
10.10.8.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default dgc8.njupt.e 0.0.0.0 UG 0 0 0 eth0
default dgc8.njupt.e 0.0.0.0 UG 1 0 0 eth0
[root@lee /root]#
-----------------------------------------------------------------
輸出結果中各個欄位的含義是:
·Destination表示路由的目標IP地址。
·Gateway表示網關使用的主機名或者是IP地址。上面輸出的"*"表示沒有網關。
·Genmask表示路由的網路掩碼。在把它與路由的目標地址進行比較之前,內核通過Genmask和數據包的IP地址進行按位"與"操作來設置路由。
·Flags是表示路由的標志。可用的標志及其意義是:U表示路由在啟動,H表示target是一台主機,G表示使用網關,R表示對動態路由進行復位設置;D表示動態安裝路由,M表示修改路由,!表示拒絕路由。
·Metric表示路由的單位開銷量。
·Ref表示依賴本路由現狀的其它路由數目。
·Use表示路由表條目被使用的數目。
·Iface表示路由所發送的包的目的網路。
通過查看這些輸出信息,我們就可以方便地管理網路的路由表了。
netstat
netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連接以及每一個網路介面設備的狀態信息。在計算機上執行netstat後,其輸出結果如下所示:
-----------------------------------------------------------------
[root@lee /root]#netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Types State I-Node Path
Unix 5 [ ] DGRAM 460 /dev/log
Unix 0 [ ] STREAM CONNECTED 173 @00000014
Unix 0 [ ] DGRAM 662
Unix 0 [ ] DGRAM 631
Unix 0 [ ] DGRAM 544
Unix 0 [ ] DGRAM 484
Unix 0 [ ] DGRAM 470
[root@lee /root]#
-----------------------------------------------------------------
從整體上看,netstat的輸出結果可以分為兩個部分:第一部分:是Active Internet connections,稱為有源TCP連接,在上面的輸出結果中,這一部分沒有內容,表示暫時還沒有TCP連接。第二部分:是Active UNIX domain sockets,稱為有源Unix域套介面。輸出結果顯示的是Unix域套介面的連接情況:
·Proto顯示連接使用的協議。
·RefCnt表示連接到本套介面上的進程號。
·Types顯示套介面的類型。
·State顯示套介面當前的狀態。
·Path表示連接到套介面的其它進程使用的路徑名。
可以用netstat -a來查看所有套接字的狀態,這在您調試網路程序的時候是非常有用的。netstat -r將顯示路由表的內容,一般還要同時指定"-n"選項,這樣可以得到數字格式的地址,也可顯示默認路由器的IP地址。使用netstat -i則將顯示所有的網路介面信息。使用netstat還可以獲得當前的網路狀態以及網路的拓撲結構,這在實際中是非常有用的。
tcpmp
tcpmp命令用於監視TCP/IP連接並直接讀取數據鏈路層的數據包頭。您可以指定哪些數據包被監視、哪些控制要顯示格式。例如我們要監視所有Ethernet上來往的通信,執行下述命令:
tcpmp -i eth0
即使是在一個相對平靜的網路上,也有很多的通信,所以我們可能只需要得到我們感興趣的那些數據包的信息。在一般情況下,TCP/IP棧只為本地主機接收入站的數據包綁定同時忽略網路上的其它計算機編址(除非您使用的是一台路由器)。當運行tcpmp命令時,它會將TCP/IP棧設置為promiscuous模式。該模式可接收所有的數據包並使其有效顯示。如果我們關心的只是我們本地主機的通信情況,一種方法是使用「-p」參數禁止promiscuous模式,還有一種方法就是指定主機名:
tcpmp -i eth0 host hostname
此時,系統將只對名為hostname的主機的通信數據包進行監視。主機名可以是本地主機,也可以是網路上的任何一台計算機。下面的命令可以讀取主機hostname發送的所有數據:
tcpmp -i eth0 src host hostname
下面的命令可以監視所有送到主機hostname的數據包:
tcpmp -i eth0 dst host hostname
我們還可以監視通過指定網關的數據包:
tcpmp -i eth0 gateway Gatewayname
如果你還想監視編址到指定埠的TCP或UDP數據包,那麼執行以下命令:
tcpmp -i eth0 host hostname and port 80
該命令將顯示從每個數據包傳出的頭和來自主機hostname對埠80的編址。埠80是系統默認的HTTP服務埠號。如果我們只需要列出送到80埠的數據包,用dst port;如果我們只希望看到返回80埠的數據包,用src port。