bash,#!/bin/bash,mkdir p ~/.Trash,mv "$1" ~/.Trash/,
`,,将上述代码保存为一个文件(trash.sh
),并为其添加可执行权限(chmod +x trash.sh
)。你可以通过运行./trash.sh 要删除的文件名
将其移动到回收站。在Linux系统中,删除文件通常意味着永久性地移除该文件,这可能会带来误删重要文件的风险,为了解决这个问题,我们可以创建一个类似Windows操作系统中的“回收站”功能,以下是一个简单的脚本,用于在Linux系统上实现这一功能。
准备工作
1、选择一个目录作为“回收站”:
可以是一个隐藏目录,比如~/.trash
或者/.local/share/Trash
。
2、创建必要的目录结构:
如果选择的是~/.trash
,则运行命令mkdir p ~/.trash
来创建目录。
3、设置别名或函数:
在~/.bashrc
或~/.bash_profile
中添加别名或函数,以便在终端中使用。
脚本步骤
1、移动文件到回收站:
使用mv
命令将文件移动到回收站目录。
保留原始文件的时间戳和权限。
2、记录删除信息:
在回收站中为每个文件创建一个包含原始路径和删除时间的新文件。
3、清空回收站:
提供一个选项来清空回收站,即删除回收站内的所有文件。
4、恢复文件:
提供一个选项来从回收站恢复文件到其原始位置。
脚本示例
#!/bin/bash TRASH_DIR="$HOME/.trash" FILE_TO_DELETE="$1" ORIGINAL_PATH=$(readlink f "$FILE_TO_DELETE") TIMESTAMP=$(date +%s) 检查参数是否为空 if [ z "$FILE_TO_DELETE" ]; then echo "Usage: trash <file>" exit 1 fi 将文件移到回收站并记录信息 mv "$FILE_TO_DELETE" "$TRASH_DIR" echo "Deleted $ORIGINAL_PATH to $TRASH_DIR at $TIMESTAMP" > "$TRASH_DIR/$FILE_TO_DELETE" echo "File moved to Trash."
使用方法
1、保存上述脚本到一个文件,例如trash.sh
。
2、给予脚本执行权限:chmod +x trash.sh
。
3、将脚本移动到/usr/local/bin
或其他在你的PATH
中的目录。
4、在.bashrc
或.bash_profile
中添加别名,如alias trash='/path/to/trash.sh'
。
5、使用trash filename
来将文件移动到回收站。
6、若要恢复文件或清空回收站,需要进一步编写脚本来实现这些功能。
相关问题与解答
Q1: 如何在脚本中实现从回收站恢复文件的功能?
A1: 要实现恢复文件的功能,你需要在脚本中添加一个判断逻辑,当指定了特定的选项(例如r
)时,查找文件在回收站中的对应记录文件,读取原始路径,并将文件移回原始位置,同时确保删除记录文件以清理回收站条目。
Q2: 如何自动清空一定时间之前的回收站内容?
A2: 你可以编写一个额外的清理脚本,该脚本定期运行(可以使用cron
任务调度),并删除那些时间戳早于某个阈值的文件,这个阈值可以是固定的时间间隔,例如30天前,在清理脚本中,遍历回收站目录下的所有文件,读取每个文件的第一行来获取删除时间戳,然后与当前时间比较,如果超过了设定的保留时间,就将其删除。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/955241.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复