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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 自动化脚本之加密内容解密适用于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

文章

目录
打赏
0
1
1
0
75
分享
相关文章
|
3月前
|
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
257 61
|
22天前
|
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
84 32
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
linux应急响应检查脚本
通过这个脚本,可以快速收集系统的关键信息,有助于在发生问题时进行及时的应急响应和分析。
95 34
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
161 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
134 7
自动化运维:从脚本到工具的演进之旅
在数字化浪潮中,自动化运维成为提升效率、保障系统稳定的关键。本文将探索自动化运维的发展脉络,从基础的Shell脚本编写到复杂的自动化工具应用,揭示这一技术变革如何重塑IT运维领域。我们将通过实际案例,展示自动化运维在简化工作流程、提高响应速度和降低人为错误中的重要作用。无论你是初学者还是资深专家,这篇文章都将为你提供宝贵的洞见和实用的技巧。
如何编写API接口的自动化测试脚本
本文详细介绍了编写API自动化测试脚本的方法和最佳实践,涵盖确定测试需求、选择测试框架、编写测试脚本(如使用Postman和Python Requests库)、参数化和数据驱动测试、断言和验证、集成CI/CD、生成测试报告及维护更新等内容,旨在帮助开发者构建高效可靠的API测试体系。

热门文章

最新文章