如何使用lsof命令查看Linux文件大小信息 (linux lsof 文件大小)

在Linux操作系统中,有很多命令可以用于管理文件和文件系统。其中,lsof命令是一个非常强大的工具,它能够查看打开的文件和进程信息,并且可以进一步过滤和处理这些信息。在本文中,我们将介绍。

一、了解lsof命令的基本用法

lsof命令是List Open Files的缩写。它可以列出当前系统中所有打开的文件和进程信息。lsof命令的基本用法非常简单,只需要在终端输入lsof并按下回车键,即可查看当前系统中所有打开的文件和进程信息。如下图所示:

图1. 使用lsof命令查看当前系统中所有打开的文件和进程信息

从上图中,我们可以看到lsof命令输出了当前系统中所有打开的文件和进程信息。其中,每一行代表一个文件或进程。每个文件或进程的信息被分成9列,分别表示文件描述符(FD)、文件类型(TYPE)、访问方式(DEVICE)、读写状态(OFFSET)、进程ID(PID)、访问者(USER)、所属组(GROUP)、文件大小(SIZE)以及文件名(NAME)。

二、

lsof命令能够查看每个文件或进程的大小信息,可以通过以下步骤实现:

1.使用如下命令查看系统上所有打开文件的大小:

lsof | awk ‘{if($7 != “”){size[substr($7,length($7),1)]+=$7;size[“total”]+=$7}}END{for(key in size){print key,”文件大小:”size[key]}}’

2. 解释上面的命令:

我们首先使用lsof命令查看系统上所有打开的文件和进程信息。然后使用awk命令选取第7列,即文件大小信息,并将其存储在一个大小为size的关联数组中。 awk命令中的if语句用于判断每行的第7列是否为空,如果为空则忽略该行。接着,我们使用for循环遍历size数组,并使用print命令输出每个文件类型和大小信息。

以上命令会输出文件类型和文件大小(单位是KB)。例如,可以看到当前系统上所有的普通文件的总大小是55324KB(54M),如下图所示:

图2. 使用lsof命令查看当前系统上所有普通文件的大小信息

除此之外,在lsof命令中,还可以通过以下方法获得指定目录下指定类型的文件大小信息:

1.查看指定目录下所有文件的大小:

lsof +D /opt | awk ‘{if($7 != “”){size[substr($7,length($7),1)]+=$7;size[“total”]+=$7}}END{for(key in size){print key,”文件大小:”size[key]}}’

该命令使用了加号(+)和D选项来指定要查看的目录,这里我们以/opt目录为例。

2.查看指定目录下指定类型的文件大小:

lsof +D /opt -a -c /bin/bash | awk ‘{if($7 != “”){size[substr($7,length($7),1)]+=$7;size[“total”]+=$7}}END{for(key in size){print key,”文件大小:”size[key]}}’

以上命令加入了-a和-c选项,用于查找符合条件的文件。例如,上面的命令将查找在/opt目录下并被/bin/bash进程打开的文件的大小信息。

三、

通过本文,我们了解了lsof命令的基本用法,并深入讨论了。我们通过简单的命令示例展示了lsof命令的强大和灵活性,这对于系统管理员和开发者来说都是非常有用的工具。当我们需要快速查找系统中大文件或打开的文件时,lsof命令可以提供有效的帮助。

相关问题拓展阅读:

linux磁盘占用100%怎么解决

通过你的问题的描述,可以从以下几个方面来试试:

1.  先对磁盘所有文件大小进行统计,看统计结果是否达到存储空间大小,可以采用du命令来进行查看。

2.  查看inode统计,可通过df   -i   命令来进行统计查看。

3.  有时我们通过查看inode 统计,删除了相关文件,则银但是空间基锋依然不能释放出来,

可以通过如下命令进行:

lsof | grep  deleted

然后将对应的文件进程杀掉,即解锁。

通过此操作,一般磁盘空间就被释放出来了。

温馨提示:

我们在使用rm命令进行删除时,孙锋宴有时会导致空间不能彻底释放,因此在删除正在写的文件时,一般用  

cat  /dev/null> file

 来进行,而不是直接使用rm命令,这点要注意。

以上就是我的建议,操作时可能会有出入,如有问题,可私信我或加关注,我会尽快回复,希望我的回答能帮到你。

关于linux lsof 文件大小的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何使用lsof命令查看Linux文件大小信息 (linux lsof 文件大小)