2011年1月15日 星期六

lsof - 命令使用

lsof命令可以找出目前有那些檔案及目錄被使用也以配合-i參數列出連線狀態.

查看一下help看那有些參數可用
[root@www ~]# lsof -h
 
[root@www tmp]# lsof -d cwd     //列出目前工作目錄打開的目錄
[root@www ~]# lsof -c bash    //列出以bash shell打開的檔案有那些
[root@www ~]# lsof -u darwin     //列出以darwin使用者打開的檔案及目錄
[root@www ~]# lsof /dev/dvd   //列出該設備有那些檔案及目錄在使用
[root@www ~]# lsof -i  :22   //表示只列出ssh(22)有關連線
[root@www ~]# lsof -i tcp   //表示只列出tcp有關連線
[root@www ~]# lsof -i :80 | grep EST   //表示列出http 且已經建立連線狀態

也可將lsof 經由pipe傳遞給less 或grep去過濾  ex: lsof | less

例子1: 例出目前IPv4線狀態
[root@www ~]# lsof -i
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpcbind    942     rpc    6u  IPv4   8954      0t0  UDP *:sunrpc
rpcbind    942     rpc    7u  IPv4   8958      0t0  UDP *:connendp
rpcbind    942     rpc    8u  IPv4   8959      0t0  TCP *:sunrpc (LISTEN)
rpcbind    942     rpc    9u  IPv6   8961      0t0  UDP *:sunrpc
rpcbind    942     rpc   10u  IPv6   8963      0t0  UDP *:connendp
rpcbind    942     rpc   11u  IPv6   8964      0t0  TCP *:sunrpc (LISTEN)
avahi-dae  983   avahi   13u  IPv4   9191      0t0  UDP *:mdns
avahi-dae  983   avahi   14u  IPv4   9192      0t0  UDP *:51444
.........
.........

沒有留言:

張貼留言