跳到主要内容

编写个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."
  1. 使用for file in *; do来遍历当前目录下的所有文件和目录。
  2. 使用-f来检查一个文件是否是普通文件。
  3. 使用stat -c%s "$file"来获取文件的大小(以字节为单位)。
  4. 如果文件是普通文件并且大小大于10K(10240字节),则使用mv命令将其移动到/tmp目录。

注意

  • 在运行此脚本之前,请确保你有足够的权限来读取当前目录下的所有文件和目录,并且有权限向/tmp目录写入文件。
  • 这个脚本只考虑当前目录下的文件,不会递归地查找子目录中的文件。如果你需要递归地查找并移动文件,你可以使用find命令。

保存这个脚本到一个文件(例如move_large_files.sh),然后给它执行权限:

chmod +x move_large_files.sh

之后,你可以运行这个脚本来移动大于10K的文件:

./move_large_files.sh