📜  用于测量文件大小的 Shell 脚本

📅  最后修改于: 2022-05-13 01:57:30.897000             🧑  作者: Mango

用于测量文件大小的 Shell 脚本

在编写 shell 脚本时,会出现一些情况,您必须知道文件的大小以便在脚本中进行进一步处理。在本文中,我们将学习如何测量文件的大小并解决这些情况。

方法一:使用ls命令

方法:

  1. 首先,我们将创建一个变量来保存文件的完整路径。
  2. 我们将从完整路径中提取文件名,以显示文件名和文件大小。
  3. 使用 ls 和 cut 命令,我们将从文件的详细信息中提取文件大小。
  4. 显示文件名及其大小。

脚本:

#! /bin/bash

# path to the file
filepath="/home/amninder/Downloads/cn.zip"

# extracting file name from full file path
name="${filepath##*/}"

# extracting the size of a file
size=$(ls -lah $filepath |cut -d ' ' -f 5)

#displaying file name and file size
echo "FILE SIZE OF $name IS $size"

输出:



用于测量文件大小的 Shell 脚本

文件大小与文件名

方法二:使用stat命令:

stat 是一个 UNIX 命令行实用程序。 Stat 将文件作为参数并返回有关文件/文件系统的详细信息。

Syntax :stat [option] path/to/file

注意:这里,%s 用于获取文件的总大小,-c 用于指定输出格式,即我们只想打印文件的总大小。

脚本 :

#! /bin/bash

# path to the file
filepath="/home/amninder/Downloads/cn.zip"

# extracting file name from full file path
name="${filepath##*/}"

# extracting the size of a file
size=$( stat -c %s $filepath)

#displaying file name and file size
echo "FILE SIZE OF $name IS $size bytes."

输出:

用于测量文件大小的 Shell 脚本

打印文件大小。

方法三:使用 wc 命令:

wc 是 word count 的缩写。顾名思义, wc 可用于打印文件中的换行符、字节数、字符数、单词数。

方法:

  1. 创建一个变量来存储文件的完整路径。
  2. 使用 wc –bytes,我们将找到文件的大小并将其存储在另一个变量中用于显示。
  3. 显示文件大小。

脚本 :

#! /bin/bash

# path to the file
filepath="/home/amninder/Downloads/cn.zip"

# storing file size in a variable.
size=$(wc --bytes < $filepath)

# displaying file size
echo "The size of file is $size Bytes"

输出:

用于测量文件大小的 Shell 脚本

使用 wc 命令的文件大小

方法四:使用find命令:

find 是 Linux 中一个非常强大的命令行实用程序,用于搜索文件和文件夹。它很灵活,我们可以在 Linux 中使用它们的年龄、大小、所有者、文件类型、时间戳、权限来搜索文件或文件夹。

脚本:

#! /bin/bash

# path to the file
filepath="/home/amninder/Downloads/cn.zip"

# storing file size in a variable.
size=$(find $filepath -printf %s)

# displaying file size
echo "The size of file is $size Bytes"

在这里,我们提供文件以使用 -printf %s 查找和检索其大小。 %s 将导致文件的大小(以字节为单位)。

输出:

用于测量文件大小的 Shell 脚本

使用 find 命令打印文件大小

注意:将文件路径替换为原始文件的路径。