lsof
(list open files)是一個在Linux系統中用于顯示當前系統打開文件的實用工具
查找特定文件或目錄的打開情況:
使用lsof
命令加上-c
選項,可以查找指定進程ID(PID)正在使用的文件。例如,要查找進程ID為1234的程序打開的文件,可以使用以下命令:
lsof -c 1234
查找特定類型的文件:
使用-e
選項,可以根據文件類型過濾結果。例如,要查找所有打開的網絡連接,可以使用以下命令:
lsof -i
若要查找所有打開的PDF文件,可以使用以下命令:
lsof -e pdf
實時監控文件打開情況:
使用-r
選項,可以讓lsof
命令以實時方式顯示文件打開情況。例如,要實時監控 /var/log
目錄下的文件打開情況,可以使用以下命令:
lsof +r /var/log
查找特定用戶打開的文件:
使用-u
選項,可以根據用戶名過濾結果。例如,要查找用戶名為 www-data
的用戶打開的文件,可以使用以下命令:
lsof -u www-data
查找特定文件描述符的文件:
使用-p
選項,可以根據文件描述符過濾結果。例如,要查找文件描述符為4的文件,可以使用以下命令:
lsof -p 4
查找掛載點下的文件:
使用-h
選項,可以在掛載點下查找文件。例如,要在掛載點 /mnt/data
下查找文件,可以使用以下命令:
lsof -h /mnt/data
結合其他命令進行調試:
lsof
命令可以與其他命令結合使用,以便更好地進行調試。例如,要將 lsof
的輸出保存到文件中,可以使用以下命令:
lsof > file.txt
若要將 lsof
的輸出傳遞給其他命令(如 grep
),可以使用管道:
lsof | grep pdf
請注意,要運行 lsof
命令,通常需要具有相應的權限。在某些情況下,可能需要使用 sudo
命令以獲取更高的權限。