自动化脚本之加密内容解密适用于Linux

简介: 自动化脚本之加密内容解密适用于Linux

这个脚本用于解决加密文件提取的 , 懂的自然懂  不过多介绍。

脚本功能介绍

这个脚本是用来复制一个文件夹及其子文件夹和文件的结构到另一个文件夹的。它接受两个参数,分别是源文件夹和目标文件夹。它会遍历源文件夹中的所有条目,并根据条目的类型执行不同的操作:

  • 如果是目录,就在目标文件夹中创建同名的目录,并递归复制该目录下的内容。
  • 如果是文件,就在目标文件夹中创建同名的文件,并将源文件的内容复制到该文件中。
#!/bin/bash
 
# 脚本需要两个参数: 源文件夹和目标文件夹
if [ "$#" -ne 2 ]; then
  echo "Usage: $0 source_directory target_directory"
  exit 1
fi
 
src_dir="$1"
tgt_dir="$2"
 
# 如果目标文件夹不存在,则创建它
mkdir -p "$tgt_dir"
 
# 用于递归复制文件和目录结构的函数
function copy_structure() {
  local src_path="$1"
  local tgt_path="$2"
 
  shopt -s dotglob
  for item in "$src_path"/*; do
    if [ -e "$item" ]; then  # 检查条目是否存在
      if [ -d "$item" ] && [ "$(basename "$item")" != "." ] && [ "$(basename "$item")" != ".." ]; then
        # 如果是目录, 则创建目标文件夹并递归复制
        echo "Creating directory: $tgt_path/$(basename "$item")"
  mkdir -p "$tgt_path/$(basename "$item")"
        copy_structure "$item" "$tgt_path/$(basename "$item")"
      elif [ -f "$item" ]; then
        # 如果是文件, 则复制文件并保留原始文件名
        local filename="$(basename -- "$item")"
        local extension="${filename##*.}"
        local name_only="${filename%.*}"
        if [ ! -d "$tgt_path/$name_only" ]; then
  echo "Copying file: $item -> $tgt_path/$name_only"
          touch "$tgt_path/$name_only"
          cat "$item" > "$tgt_path/$name_only"
          if [ "$extension" != "$name_only" ]; then
            mv "$tgt_path/$name_only" "$tgt_path/$name_only.$extension"
          fi
        fi
      fi
    fi
  done
  shopt -u dotglob
}
 
# 调用复制函数
copy_structure "$src_dir" "$tgt_dir"
 

使用示例

要运行这个脚本,需要在终端中输入:

bash copy_structure.sh source_directory target_directory

例如:

bash copy_structure.sh /home/user/test /home/user/backup

然后就可以看到类似下面的输出:

Creating directory: /home/user/backup/dir1
Copying file: /home/user/test/file1.txt -> /home/user/backup/file1.txt
Copying file: /home/user/test/dir1/file2.jpg -> /home/user/backup/dir1/file2.jpg
Creating directory: /home/user/backup/dir2
Copying file: /home/user/test/dir2/file3.pdf -> /home/user/backup/dir2/file3.pdf

文章

相关文章
|
2月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
186 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
3月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
356 0
Linux系统初始化脚本
|
3月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
|
2月前
|
人工智能 监控 Kubernetes
77_自动化脚本:Makefile与Airflow
在当今AI大模型时代,高效的工作流管理对于模型训练、推理和部署至关重要。随着大模型规模的不断增长和复杂度的提升,传统的手动脚本管理方式已无法满足需求。自动化脚本和工作流调度系统成为构建健壮、可重复、可扩展的LLM Pipeline的关键工具。其中,Makefile作为经典的自动化构建工具,与Airflow作为现代工作流调度平台的结合,为LLM开发团队提供了强大的工作流管理能力。
|
5月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
633 1
|
4月前
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。
|
7月前
|
Java Linux
自定义linux脚本用于快速jar包启动、停止、重启
自定义linux脚本用于快速jar包启动、停止、重启
339 29
|
6月前
|
机器学习/深度学习 Kubernetes 监控
Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
本文深入探讨了Kubernetes节点故障自愈方案,结合Node Problem Detector(NPD)与自动化脚本,提供技术细节、完整代码示例及实战验证。文章分析了硬件、系统和内核层面的典型故障场景,指出现有监控体系的局限性,并提出基于NPD的实时事件捕获与自动化诊断树的改进方案。通过深度集成NPD、设计自动化修复引擎以及展示内核死锁恢复的实战案例,文章详细说明了自愈流程的实现步骤与性能优势。此外,还提供了生产环境部署指南、高可用架构设计及安全防护措施,并展望了机器学习增强故障预测和混沌工程验证的进阶优化方向。全文约1.2万字,适合希望提升Kubernetes集群稳定性的技术人员阅读。
365 1