首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux命令行,密码保护文件使用脚本

在Linux中,你可以使用gpg(GNU Privacy Guard)来加密文件,并通过密码保护它们。以下是一个简单的脚本示例,用于加密和解密文件:

加密文件

代码语言:javascript
复制
#!/bin/bash

# 检查参数数量
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 <file_to_encrypt> <output_encrypted_file>"
    exit 1
fi

# 获取输入文件和输出文件
input_file=$1
output_file=$2

# 使用gpg加密文件
gpg --symmetric --cipher-algo AES256 "$input_file"

# 提示用户输入密码
read -s -p "Enter password: " password
echo
echo "$password" | gpg --batch --yes --passphrase-fd 0 -c "$input_file"

# 删除原始文件
rm "$input_file"

# 重命名加密后的文件
mv "${input_file}.gpg" "$output_file"

解密文件

代码语言:javascript
复制
#!/bin/bash

# 检查参数数量
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 <encrypted_file> <output_decrypted_file>"
    exit 1
fi

# 获取输入文件和输出文件
input_file=$1
output_file=$2

# 提示用户输入密码
read -s -p "Enter password: " password
echo

# 使用gpg解密文件
echo "$password" | gpg --batch --yes --passphrase-fd 0 -d "$input_file" > "$output_file"

# 删除加密后的文件
rm "$input_file"

使用说明

  1. 加密文件
    • 将上述加密脚本保存为encrypt.sh
    • 赋予脚本执行权限:chmod +x encrypt.sh
    • 运行脚本:./encrypt.sh <file_to_encrypt> <output_encrypted_file>
  2. 解密文件
    • 将上述解密脚本保存为decrypt.sh
    • 赋予脚本执行权限:chmod +x decrypt.sh
    • 运行脚本:./decrypt.sh <encrypted_file> <output_decrypted_file>

注意事项

  • 确保你输入的密码足够复杂,以提高安全性。
  • 加密后的文件将以.gpg结尾。
  • 解密后的文件将覆盖同名文件,如果存在,请提前备份。

通过这种方式,你可以使用脚本在Linux命令行中通过密码保护文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux使用rm命令行删除文件

用于rm从命令行中删除文件和目录。 注意: 为避免创建的示例可能删除重要文件,本教程使用的是filename.txt的变化版本。根据需要调整每个命令。...使用rm删除文件的基础知识 使用rm删除单个文件: rm filename.txt 删除多个文件: rm filename1.txt filename2.txt 删除目录中的所有.txt文件:...要删除非空目录及其中的文件,请使用r标志。 -r递归 删除目录及其中的内容: rm -r filenames/ 结合选项 上述选项可以组合。...指它找到的所有文件,;告诉find使用-exec选项调用的命令序列已结束。...Linux中Alias的常用命令 使用命令行在Linux中归档、压缩和提取文件 Shell脚本入门 Linux常用命令大全 更多Linux命令行教程请前往腾讯云+社区学习更多知识。

5.7K70

如何在Mac中使用密码保护文件夹

并非所有人都能看到您的所有文件。您的朋友和家人可能不喜欢这个事实,但是有时候就是这样。幸运的是,  Mac用户可以通过密码保护特定文件夹来保护其敏感文件免遭窥视。...许多付费程序提供类似的功能,但我们更喜欢Apple内置的这种免费方法,该方法允许将文件夹转换为受保护的磁盘映像。 1.  单击Command + Shift + A打开“应用程序”文件夹。...在“应用程序”中 打开“实用程序”文件夹。 3.   打开磁盘实用程序。 4.   单击文件。 5.   选择新图像。 6.   从文件夹中选择图像。 7. ...两次输入此文件夹的密码,然后单击“选择”。 11.   命名锁定的磁盘映像,然后单击“保存”。 12.   单击完成。 您已将文件夹变成锁定的磁盘映像!您可以根据需要立即删除原始文件夹。...只是不要删除该.DMG文件! 就像文件夹一样,您可以在弹出之前将项目添加到受密码保护的磁盘映像中。

1.1K20
  • 《Linux命令行与shell脚本编程大全》 第七章理解Linux文件权限

    Linux沿用了Unix文件权限的方法,允许用户和组根据每个文件和目录的安全性设置来访问文件。 用户权限通过创建用户时分配的用户ID(UID)来跟踪的。...7.1.2 /etc/shadow 文件 对Linux系统密码管理提供了更多的控制。只有root才能访问 为每个用户账户都保存了一条记录。 这样Linux系统可以更好的控制用户密码。...chsh:修改默认的用户登录shell chfn: chage:帮助管理用户账户的有效期 7.2 使用Linux组 组权限允许许多个用户对系统中的对象(文件,目录,设备......)共享一组共用的权限。...7.2.1 /etc/group 文件 可以查看该文件:包含组名 组密码 GID 属于该组的用户列表 不能直接修改/etc/group 这个文件来将一个用户添加进组。而应该使用usermod命令。...Linux还为每个文件和目录存储了3个额外的信息位 设置用户ID(SUID):文件被用户使用时,程序会以文件属主的权限运行 设置组ID(SGID):对文件来说被使用时,以文件属组的权限运行。

    1.5K50

    在Linux中使用find命令行查找文件

    find是一个基于条件机制递归过滤文件系统中对象的命令。使用find搜索文件系统中的文件或目录。使用-exec标志,可以在同一命令中找到并立即处理文件。...个人推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。 按名称或扩展名查找Linux文件 使用find命令行按名称或扩展名查找特定文件。...下面的示例是在/home/username/中查到以.err结尾的所有文件: find /home/username/ -name "*.err" 常见的Linux查找命令和语法 find 表达式采用以下形式...如何在Linux命令行查找和删除文件 警告 请谨慎使用此选项。 将-delete选项添加到匹配表达式的末尾,这样就能删除所有匹配的文件。请务必确定查找结果与您要删除的文件匹配。...---- 参考文献:《Find Files in Linux, Using the Command Line》

    4K20

    linux脚本使用scp自动传输,shell脚本实现scp文件传输

    大家好,又见面了,我是你们的朋友全栈君 scp是一个基于ssh的Linux环境下传输文件的好工具,但是使用shell脚本调用scp时会面临一个问题,即scp强制要求通过交互方式输入密码,而不像mysql...; 2)将公钥证书id_rsa.pub复制到机器B的用户根目录的.ssh子目录中,再将文件内容append到文件authorized_keys中。...其实只要用一条单行命令就可以完成步骤2,它被commandlinefu.com的用户投票选为十大最酷的Linux单行命令之一: ssh-copy-id [-i [identity_file]] [user...expect脚本为交互而生,被设计为专门针对交互式程序的工具,常与对telnet、ftp、fsck、rlogin、tip、scp等配合使用。例如: #!...set timeout 300; send “passwd\r”;} “yes/no” {send “yes\r”; exp_continue;}}expect eof 上面是一个独立的expect脚本文件

    6.1K80

    如何在linux中使用终端命令行创建文件

    使用touch命令创建文件 在 Linux 中创建新文件的最简单方法是使用 touch 命令。 在终端窗口中,输入以下内容: touch test.txt 这将创建一个名为test.txt的新空文件。...如果文件不存在,Linux cat 命令将创建它。 要使用 创建一个空文件cat,请输入以下内容: cat > test3.txt 请注意重定向运算符。...注意:要在单个窗口管理器中使用多个终端实例,请考虑使用Linux screen。它启用了附加功能和增强的命令行来处理 Linux 文件。...使用文本编辑器创建 Linux 文件 所有 Linux 发行版都至少有一个文本编辑器。有些有多个编辑器。每个编辑器都有不同的优势和特点。这将向你展示三个最受欢迎的。...vi 文本编辑器示例 Vim 文本编辑器 用于vim 创建新的文本文件: vim test8.txt 在 Linux 中使用 vim 创建一个新文件 此屏幕看起来类似于vi编辑器屏幕。

    4.2K10

    【Linux】Linux命令行git的使用

    也是Linus Torvalds雷纳斯托瓦兹为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 2. 说白了git就是一个进行项目版本管理的一个软件。...配置用户名和邮箱(否则git commit无法正常使用) 1.下面是已经配置好的配置信息 git config --list // 查看git的配置列表 2.配置成全局,当前普通用户的所有本地仓库都有效...git config --global user.name "username" // 名字缩写即可 git config --global user.email "email"// 正常使用的邮箱...凡是在这个文件内部的后缀所对应的文件,都不会被上传到gitee上!...第7行的modified内容表示我们刚刚修改过文件.gitignore的内容 第9行的Untracked代表未被管理的文件,这些文件是仓库中没有的文件 2.

    3.5K30

    使用命令行界面运行Python脚本

    标签:Python,argparse 本文将讲解如何使用带有argparse库的命令行界面运行Python脚本。...我们可以在命令行上键入不同的参数并将这些参数传递到脚本中,而不是每次运行脚本时都更改.py文件中的代码。因此,使用CLI是非常灵活和方便的,而且,从黑屏启动程序会让你更酷,更像一个真正的程序员。...下面进入有趣的部分,我们希望在运行程序时从命令行传递这三个变量。 步骤4:从命令行解析参数 从命令行解析参数的最简单方法是使用sys.argv,它是传递给Python脚本的命令行参数列表。...让我们看看如何通过在命令行中运行以下简单脚本来使用sys.argv。...使用命令行界面运行Python脚本 实际测试一下这个程序。可以使用任何PDF文件进行测试,这里测试文件名是“data.pdf”。

    2.9K30

    使用命令行在Linux中归档、压缩和提取文件

    tar和gzip提供一个标准界面,用于在Linux上创建存档和压缩文件。这些实用程序占用大量文件,将它们一起保存在存档中,并压缩存档可以节省空间。...tar不会自己压缩文件,与gzip结合使用,可以压缩归档文件以减少磁盘空间。生成的归档文件具有文件扩展名tar.gz,有时称为“tarball”。...-z:使用gzip压缩或解压。 -x:从存档中提取文件。 -f:将STDOUT定义为文件名,或使用下一个参数。...这些都是命令行中的基础知识。在压缩和解压缩文件时,请务必查看手册页man tar以获取更详细的可能标志列表。 有关此主题的其他信息,您可能需要参考以下资源。...Linux中Alias的常用命令 Shell脚本入门 Linux常用命令大全 更多Linux教程请前往腾讯云+社区学习更多知识。

    1.5K20

    《Linux命令行与shell脚本编程大全》第十六章 控制脚本

    一些控制脚本的方式:向脚本发送信号、修改脚本优先级,在脚本运行时切换到运行模式  16.1 处理信号 linux利用信号与运行在系统中的进程进行通信。...trap命令允许你来指定脚本要监看并从shell中拦截的linux信号。 如果脚本收到了trap中列出的信号,该信号不再由shell处理,而是交由本地处理。...16.2 以后台模式运行脚本 有的脚本可能要运行很长时间,你不想一直在命令行界面等着,这时你也没法做别的事情。这时候就需要后台运行脚本了。...这样终端退出时脚本也不会退出。 命令格式: $nohup ./test & nohup会自动将STDOUT和STDERR的消息重定向到一个名为nohup.out的文件中。...anacron不会处理执行时间需求小于一天的脚本 16.6.3 使用新的shell启动脚本 如果每次运行脚本的时候都能够启动一个新的bash shell,将会非常的方便。

    3K61
    领券