shell 脚本 程 序) 检查 主 用户 目 录 下 磁 盘 上的 大 文件 (大 于 1mb) 的 数
时间: 2023-09-06 20:02:53 浏览: 50
要检查主用户目录下磁盘上大于1MB的文件的数量,可以编写一个Shell脚本程序来实现。
```shell
#!/bin/bash
# 获取主用户目录路径
user_dir=$(eval echo ~$USER)
# 遍历主用户目录下磁盘上的文件
count=0
for file in $user_dir/*
do
# 检查文件大小是否大于1MB
if [ -f "$file" ] && [ "$(du -k "$file" | cut -f1)" -gt 1024 ]
then
((count++))
fi
done
echo "主用户目录下大于1MB的文件数量为:$count"
```
这个脚本程序首先使用"eval echo ~$USER"获取主用户目录路径,然后使用一个循环遍历主用户目录下的所有文件。在循环中,首先使用"-f"选项检查文件是否为普通文件,然后使用"du"命令获取文件大小(以KB为单位),并使用"cut"命令提取出文件大小值。如果文件大小大于1MB(1MB = 1024KB),则将计数器增加1。
最后,输出大于1MB的文件数量。
相关问题
shell 脚本获取指定文件的大小,单位 mb
可以使用以下命令获取指定文件的大小,单位为 MB:
```
filesize=$(du -m filename | cut -f1)
```
其中,`filename` 是指定的文件名。这个命令会将文件大小以 MB 为单位输出,并存储在 `filesize` 变量中。如果你想在脚本中直接使用文件大小,可以使用 `$filesize` 引用这个变量。
编写shell脚本,接收用户从键盘上输入的文件名,然后判断文件的权限
好的,以下是一个简单的Shell脚本,可以实现接收用户输入的文件名,并判断该文件的权限:
```bash
#!/bin/bash
# 从键盘读入文件名
echo "请输入文件名:"
read filename
# 判断文件是否存在
if [ ! -e $filename ]; then
echo "文件不存在!"
exit 1
fi
# 判断文件权限
if [ -r $filename ]; then
echo "文件可读"
fi
if [ -w $filename ]; then
echo "文件可写"
fi
if [ -x $filename ]; then
echo "文件可执行"
fi
```
以上脚本首先从键盘读入文件名,然后通过`-e`选项判断文件是否存在。如果文件不存在,则输出错误提示并退出脚本。如果文件存在,则通过`-r`、`-w`、`-x`选项分别判断文件是否可读、可写、可执行,并输出相应的信息。