1、 lsof 用法小全
lsof abc.txt 顯示開啟文件 abc.txt 的進程
lsof -i :22 知道 22 端口現在運行什麼程序
lsof -c nsd 顯示 nsd 進程現在打開的文件
lsof -g gid 顯示歸屬 gid 的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啟的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用 fd 為4 的進程
lsof -i [i] 用以顯示符合條件的進程情況
語法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4 位置
service --> /etc/service中的 service name (可以不止一個)
port --> 端口號(可以不止一個)
例子: TCP:25 - TCP and port 25
@1.2.3.4 - Internet IPv4 host address 1.2.3.4
[email protected]:ftp - TCP protocol host:ohaha.ks.edu.tw service name:ftp
lsof -n 不將 IP轉換為 hostname,預設是不加上-n參數
例子: lsof -i [email protected]:ftp -n
lsof -p 12 看進程號為 12的進程打開了哪些文件
2、grep 不顯示本身進程
#ps -aux|grep httpd|grep -v grep
grep -v grep可以取消顯示你所執行的 grep 本身這個進程,-v 參數是不顯示所列出的進程名
3、查看本機IP
ifconfig |grep "inet" |cut -c 0-36|sed -e 's/[a-zA-Z: ]//g'
hostname –i
4、查看有多少活動的Httpd進程
#!/bin/sh
while (true)
do
pstree |grep "*\[httpd\]$"|sed 's/.*-\([0-9][0-9]*\)\*\[httpd\]$/\1/'
sleep 3
done
同樣可以引用到其它的進程
5、設置 com1口,讓超級終端通過 com1口進行登錄
第一步:確認有/sbin/agetty,編輯/etc/inittab,添加
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600bps 是因為連路由器時缺省一般都是這種速率,也可以設成
19200、38400、57600、115200
第二步:修改/etc/securetty,添加一行:ttyS0,確保 root 用戶能登錄
第三步:重啟機器,就可以拔掉鼠標鍵盤顯示器(啟動時最好還是要看看輸出信息)了
6、查找或刪除正在使用某文件的進程
fuser filename
fuser -k filename
7、已知網絡中一個機器的硬件地址,如何知道它所對應的 IP地址
在 Linux 下,假定要查“00:0A:EB:27:17:B9”這樣一個硬件地址所對應的 IP 地址,可以使
用以下命令:
# cat /proc/net/arp |grep 00:0A:EB:27:17:B9
192.168.2.54 0x1 0x6 00:0A:EB:27:17:B9 *eth2
另外,還可以用“arp -a”命令查詢:
# arp –a|grep 00:0A:EB:27:17:B9
(192.168.2.54)at 00:0A:EB:27:17:B9[ether] on eth2
8、在 Linux下如何綁定 IP地址和硬件地址
可以編輯一個地址對應文件,裡面記錄了 IP地址和硬件地址的對應關系,然後執行“arp –
f 地址對應文件”。如果沒有指定地址對應文件,則通常情況下一默認文件/etc/ethers為准。
地址對應文件的格式如下:
192.168.0.1 00:0D:61:27:58:93
192.168.0.2 00:40:F4:2A:2E:5C
192.168.0.3 00:0A:EB:5E:BA:8E