编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下 ?
参考答案:
你可以使用以下的shell脚本来实现这个功能:
#!/bin/bash
# 遍历当前目录下的所有文件
for file in *; do
# 检查文件是否为普通文件并且大小大于10K
if [ -f "$file" ] && [ $(stat -c%s "$file") -gt 10240 ]; then
# 如果满足条件,则将文件移动到/tmp目录
mv "$file" /tmp/
echo "File $file has been moved to /tmp/."
fi
done
echo "Process completed."
- 使用
for file in *; do
来遍历当前目录下的所有文件和目录。 - 使用
-f
来检查一个文件是否是普通文件。 - 使用
stat -c%s "$file"
来获取文件的大小(以字节为单位)。 - 如果文件是普通文件并且大小大于10K(10240字节),则使用
mv
命令将其移动到/tmp
目录。
注意:
- 在运行此脚本之前,请确保你有足够的权限来读取当前目录下的所有文件和目录,并且有权限向
/tmp
目录写入文件。 - 这个脚本只考虑当前目录下的文件,不会递归地查找子目录中的文件。如果你需要递归地查找并移动文件,你可以使用
find
命令。
保存这个脚本到一个文件(例如move_large_files.sh
),然后给它执行权限:
chmod +x move_large_files.sh
之后,你可以运行这个脚本来移动大于10K的文件:
./move_large_files.sh