如何在Ubuntu上列出打开的文件
时间:2020-01-09 10:39:30 来源:igfitidea点击:
说明
在本教程中,我们将学习如何使用lsof命令列出Ubuntu服务器上的打开文件。
列出所有打开的文件
在第一个示例中,将使用lsof命令生成所有用户列出的所有打开文件的列表。
lsof /dev/null
输出将类似于以下内容。
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root cwd DIR 202,1 4096 2 / systemd 1 root rtd DIR 202,1 4096 2 / systemd 1 root txt REG 202,1 1595792 19540 /lib/systemd/systemd systemd 1 root mem REG 202,1 1700792 2083 /lib/x86_64-linux-gnu/libm-2.27.so systemd 1 root mem REG 202,1 121016 16613 /lib/x86_64-linux-gnu/libudev.so.1.6.9 systemd 1 root mem REG 202,1 84032 2068 /lib/x86_64-linux-gnu/libgpg-error.so.0.22.0 systemd 1 root mem REG 202,1 43304 2212 /lib/x86_64-linux-gnu/libjson-c.so.3.0.1 systemd 1 root mem REG 202,1 34872 6169 /usr/lib/x86_64-linux-gnu/libargon2.so.0 systemd 1 root mem REG 202,1 432640 2208 /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1 [ truncated results ]
列出用户打开的文件
另一个示例是列出仅由特定用户打开的文件。 -u标志与lsof命令一起使用,以过滤指定用户的列表。例如,这是一个名为www-data的用户的命令示例。
lsof -u www-data
该用户使用的是Apache2 Web服务器,其结果列表类似于以下内容。结果已被截断,因为上市时间可能会很长。
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root cwd DIR 202,1 4096 2 / systemd 1 root rtd DIR 202,1 4096 2 / systemd 1 root txt REG 202,1 1595792 19540 /lib/systemd/systemd systemd 1 root mem REG 202,1 1700792 2083 /lib/x86_64-linux-gnu/libm-2.27.so systemd 1 root mem REG 202,1 121016 16613 /lib/x86_64-linux-gnu/libudev.so.1.6.9 systemd 1 root mem REG 202,1 84032 2068 /lib/x86_64-linux-gnu/libgpg-error.so.0.22.0 systemd 1 root mem REG 202,1 43304 2212 /lib/x86_64-linux-gnu/libjson-c.so.3.0.1 systemd 1 root mem REG 202,1 34872 6169 /usr/lib/x86_64-linux-gnu/libargon2.so.0 systemd 1 root mem REG 202,1 432640 2208 /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1