Unix查找平均文件大小

Unix查找平均文件大小,unix,size,Unix,Size,我有一个包含大量文件的目录,我想找到这些文件的平均文件大小,比如ls something这里所有文件的平均文件大小是多少?使用wc-c*获取所有文件的大小,使用ls | wc-l获取文件的数量。然后把一个除以另一个。我在这里找到了一些东西: 要计算Linux系统上目录中的平均文件大小,可以使用以下命令: ls -l | gawk '{sum += $5; n++;} END {print sum/n;}' 一个简短的、通用的、递归友好的用户答案变体: find ./ -ls | awk '{

我有一个包含大量文件的目录,我想找到这些文件的平均文件大小,比如ls something这里所有文件的平均文件大小是多少?

使用
wc-c*
获取所有文件的大小,使用
ls | wc-l
获取文件的数量。然后把一个除以另一个。

我在这里找到了一些东西:

要计算Linux系统上目录中的平均文件大小,可以使用以下命令:

ls -l | gawk '{sum += $5; n++;} END {print sum/n;}'

一个简短的、通用的、递归友好的用户答案变体:

find ./ -ls | awk '{sum += $7; n++;} END {print sum/n;}'
或者,例如,如果要阻止100 KB以上的文件刷新平均值:

find ./ -size -100000c -ls | awk '{sum += $7; n++;} END {print sum/n;}'
杜什提供目录使用的总空间

$ du
找到-键入f | wc-l#计算文件数

用第二个来区分第一个。 如果您想要一条班轮,这里是:

echo $(( `du -sb | tr '.' ' '` / `find . -type f | wc -l` ))

他们正在查找目录的大小以及计算机上存在的可用磁盘空间量。用于查找目录大小的命令是“du”。要找到可用的磁盘空间,可以使用“df”

本文中提供的所有信息都可以在du和df的手册页中找到。如果你对阅读手册感到厌烦,想快速完成工作,那么这篇文章适合你

-

“du”-查找目录的大小

$ du
在提示符处键入上面的命令将显示当前目录中存在的目录列表及其大小。输出的最后一行给出当前目录(包括其子目录)的总大小。给定的大小包括当前目录及其所有子目录中存在的文件和目录的大小。请注意,默认情况下,给定的大小以KB为单位

**$ du /home/david**
上面的命令将为您提供目录/home/david的目录大小

**$ du -h**
此命令提供比默认命令更好的输出。选项'-h'代表人类可读的格式。因此,文件/目录的大小在这一次以“k”作为后缀(如果是千字节),以“M”作为后缀(如果是兆字节),以“G”作为后缀(如果是千兆字节)

**$ du -ah**
此命令将显示在其输出中,不仅显示目录,还显示当前目录中存在的所有文件。请注意,“du”总是统计所有文件和目录,同时在最后一行给出最终大小。但是'-a'在输出中显示文件名和目录名-h’再次成为人类可读的格式

**$ du -c**
这将为您提供一个总计作为输出的最后一行。因此,如果您的目录占用30MB,那么输出的最后两行将是

30米。 总共30米

第一行是“du”输出的默认最后一行,指示目录的总大小,另一行显示相同的大小,后跟字符串“total”。如果您使用此命令和grep命令仅显示目录的最终总大小,这将非常有用,如下所示

**$ du -ch | grep total**
它的输出中只有一行显示当前目录(包括所有子目录)的总大小

注:如果您不熟悉管道(这使上述命令成为可能),请参阅第24条。grep也是Unix中最重要的命令之一。有关grep的更多信息,请参阅第25条

**$ du -s**
这将显示目录大小的摘要。这是了解当前目录总大小的最简单方法

**$ du -S**
**$ du --exculde=mp3**
du -sh /Your/Path # Average file size in human readable format
这将显示当前目录的大小,不包括该目录中存在的子目录的大小。因此,它基本上显示了当前目录中存在的所有文件的总大小

**$ du -S**
**$ du --exculde=mp3**
du -sh /Your/Path # Average file size in human readable format
上面的命令将显示当前目录及其所有子目录的大小,但它将排除文件名中存在给定模式的所有文件。因此,在上述情况下,如果当前目录或其任何子目录中碰巧存在任何mp3文件,则在计算总目录大小时,将不包括其大小

  • “df”-查找磁盘可用空间/磁盘使用情况

    $df

输入上述内容,输出一个由6列组成的表。所有的专栏都很容易理解。请记住,“Size”、“Used”和“Avail”列使用千字节作为单位。“使用%”列以百分比的形式显示使用情况,这也是非常有用的

**$ df -h**
显示与上一个命令相同的输出,但“-h”表示人类可读的格式。因此,输出将以“M”表示兆字节,以“G”表示千兆字节,而不是以千字节为单位

大多数用户不使用可以传递给“df”的其他参数。因此,我将不讨论这些问题

我将依次向您展示一个我在我的机器上使用的示例。因为我经常使用它,所以我实际上已将其存储为名为“用法”的脚本

例如:

我在/dev/hda1上安装了Linux,并且也安装了Windows分区(默认情况下,每次Linux启动时)。因此,默认情况下,“df”会显示Linux和Windows分区的磁盘使用情况。我只对Linux分区的磁盘使用感兴趣。这就是我使用的:

**$ df -h | grep /dev/hda1 | cut -c 41-43**
此命令在我的机器上显示以下内容

45%

基本上,这个命令使“df”显示所有分区的磁盘使用情况,然后用/dev/hda1提取行,因为我只对此感兴趣。然后它将字符从第41列剪切到第43列,因为它们是以%显示用法的列,这就是我想要的


还有几个选项可以与“du”和“df”一起使用。您可以在手册页中找到它们。

这可以移植,即使在AIX上也是如此。 输出指定目录中普通文件的平均字节数(
${directory}
,在下面的示例中):

不需要计算你的文件数量