📌  相关文章
📜  用于检查磁盘空间使用情况的 Shell 脚本

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

用于检查磁盘空间使用情况的 Shell 脚本

磁盘使用情况是 Linux 系统生成的关于可用或在辅助内存上创建的不同磁盘的报告。这些磁盘也称为分区,它们具有独立的文件系统。这个工具为我们提供了不同标签或功能的测量,如已用空间、可用空间、磁盘文件系统等。要查看所有这些标签,Linux 有一些内部命令可以帮助我们将它们可视化,但它们是终端命令,我们需要使用这些命令为用户创建一个 shell 脚本。

现在我们必须通过为用户准备一个界面来启动脚本,这个界面将接受用户输入的不同类型的磁盘使用报告选项。这可以通过 shell 的 echo 和 read 功能来实现。

至于现在,我们已经根据呈现给用户的可用选项来获取用户输入。现在我们必须为所有存在的选项准备进一步的脚本,并将其与用户要求的选项进行比较。我们将为此功能使用 if-else 条件。 Linux CLI 为我们提供了一个获取磁盘使用情况的命令,“df”有不同的选项可以帮助从报告中检索特定功能。它有一个“–output”选项,可用于打印特定字段,如:'source'、'fstype'、'ittotal'、'iused'、'iavail'、'ipcent'、'size'、'used'、 'avail'、'pcent'、'file' 和 'target'。

代码:

#!/bin/bash
echo -e "Select the Option From below:\n"

# -e option in echo command is used to
# enable interpretation of backslash escapes.

echo -e "\n
[ 1 ] For Only the Disk-Name and Used-Space \n
[ 2 ] For Only the Disk-Name and its Size \n
[ 3 ] To print Disk-Name and File-System \n
[ 4 ] To see all fields in DiskUsage \n"

# to take the user input
read userInput

# if to check the user input.
if [ $userInput == 1 ];
then

# -h is used for producing human readable and
# --output is used to specify field.
df -h --output = source,used
elif [ $userInput == 2 ];

then
df -h --output=source,size
elif [ $userInput == 3 ];
then

# "source" argument is for listing name of the source directory,
# "fstype" shows the file system type like ext4.
df -h --output=source,fstype
elif [ $userInput == 4 ];
then

# -a is used for all the fields.
df -ha
else

# if any wrong input is given.
echo "!!!!!!!!Wrong Output!!!!!!!!"
fi

从终端授予脚本的可执行权限。授予这些文件的权限是为了使它们可读、可写,最重要的是可以通过 shell 运行它们。命令“chmod”用于授予此类权限,“777”选项代表 rwx(ReadWriteExecutable)。



# chmod 777 DiskUsageScript.sh

输出:

如果输入为 1。这仅打印磁盘名称和该磁盘使用的空间。

用于检查磁盘空间使用情况的 Shell 脚本

如果输入为 4。这将打印所有可用字段。

用于检查磁盘空间使用情况的 Shell 脚本