在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?

简介: 在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?

编写一个shell脚本来将当前目录下大于10K的文件转移到/tmp目录下,你可以遵循以下步骤:

  1. 打开你的Linux终端。
  2. 使用文本编辑器创建一个新的shell脚本文件,例如使用nanovim
nano move_large_files.sh
  1. 在打开的编辑器中,编写以下脚本内容:
#!/bin/bash
# 定义目标目录
TARGET_DIR="/tmp"
# 检查目标目录是否存在,如果不存在则创建
if [ ! -d "$TARGET_DIR" ]; then
mkdir -p "$TARGET_DIR"
fi
# 遍历当前目录下的所有文件
for file in *; do
# 使用stat命令获取文件大小,单位为字节
    size=$(stat -c%s "$file")
# 检查文件大小是否大于10K(10*1024字节)
if [ "$size" -gt 10240 ]; then
# 如果是,则移动到目标目录
mv "$file" "$TARGET_DIR/"
echo "Moved $file to $TARGET_DIR"
fi
done
  1. 保存并关闭编辑器。如果你使用的是nano,可以按Ctrl+X,然后按Y确认保存,最后按Enter键退出。
  2. 给脚本文件添加执行权限:
chmod +x move_large_files.sh
  1. 运行脚本:
./move_large_files.sh

这个脚本会遍历当前目录下的所有文件,并使用stat命令检查每个文件的大小。如果文件大小大于10K(10240字节),脚本会使用mv命令将文件移动到/tmp目录下。脚本还会在控制台输出移动的文件信息。

请注意,这个脚本只会处理当前目录下的文件,不会递归地处理子目录中的文件。如果你需要处理子目录中的文件,你可以使用find命令代替脚本中的循环,这样可以更灵活地处理各种情况。例如:

find . -type f -size +10k -exec mv {} /tmp/ \;
BASH 复制 全屏

综上所述,这条find命令会查找当前目录及其子目录下所有大于10K的文件,并将它们移动到/tmp目录下。-type f指定只查找文件,-size +10k定义了大小条件,-exec后面跟着要执行的命令。

目录
打赏
0
0
0
0
71
分享
相关文章
|
4天前
|
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
48 19
|
18天前
|
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
45 5
Linux 常用文件查看命令
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
36 2
Linux|Transfer.sh 轻松实现文件共享
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
129 1
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
1月前
|
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
110 32
|
5月前
|
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
170 1
|
30天前
|
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
128 2
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
134 2
6种方法打造出色的Shell脚本