如何使用linux打开文件,如何使用Linux lsof命令列出打开的文件

lsof命令背景

命令列表中运行的进程打开的文件,Linux lsof命令列出了有关文件的信息,(lsof命令本身代表"list of open files"),在本文中我将共享一些lsof命令例子。

另一个注意:在这些例子中,我假设你是以unix/Linux root用户身份登录的,如果没有,则lsof命令输出受到极大限制,如果你以非root用户身份登录,建议使用su到root,或者使用sudo运行这些命令。

基本Linux lsof命令例子

键入lsof命令将列出系统上所有活动进程所有打开的文件:$ lsof

在我运行了很长时间的Mac OS X系统上,这显示了1,582个打开的文件:$ lsof | wc -l 1582

向lsof添加head命令显示了以下输出的内容:$ lsof | headCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

loginwind 32 Al cwd DIR 14,2 1564 2 /

loginwind 32 Al txt REG 14,2 1754096 243026930 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow

loginwind 32 Al txt REG 14,2 113744 3190067 /System/Library/LoginPlugins/FSDisconnect.loginPlugin/Contents/MacOS/FSDisconnect

loginwind 32 Al txt REG 14,2 425504 117920371 /System/Library/LoginPlugins/DisplayServices.loginPlugin/Contents/MacOS/DisplayServices

loginwind 32 Al txt REG 14,2 3144 3161654 /System/Library/ColorSync/Profiles/sRGB Profile.icc

loginwind 32 Al txt REG 14,2 96704 242998403 /System/Library/PrivateFrameworks/MachineSettings.framework/Versions/A/MachineSettings

loginwind 32 Al txt REG 14,2 51288 251253153 /private/var/folders/h5/h59HESVvEmG+3I4Q8lOAxE+++TI/-Caches-/mds/mdsDirectory.db

loginwind 32 Al txt REG 14,2 724688 117923285 /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/MacOS/BezelServices

loginwind 32 Al txt REG 14,2 329376 117923166 /System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib

常见的lsof选项

如前所述,这些详细信息有1,582行,所以,通过使用grep命令有助于排除输出。

此命令列出所有属于PID (进程ID )11925的打开文件:$ lsof -p 11925

此命令列出属于名为"al "的用户进程的所有打开的文件:$ lsof -u al

此命令列出在指定目录中打开的文件,但是,它不包含子目录:$ lsof +d '/Users/al'

下一个命令列出在指定目录中打开的文件,并包含子目录。注意:这可能需要很长的时间来运行大型目录结构:$ lsof +d '/Users/al'

摘要:Linux lsof命令例子

我希望这些Linux lsof命令示例有所帮助。正如你所看到的,lsof命令可用于在Unix和Linux系统上生成打开文件的列表,其中包含针对不同情况的各种不同命令行选项。

你可能感兴趣的:(如何使用linux打开文件)