手动阀

Good Luck To You!

101个脚本之建立linux回收站的脚本

在Linux系统中,并没有像Windows那样的回收站功能,不过,我们可以通过编写脚本来实现类似的功能,以下是一个简单的Bash脚本示例,用于模拟回收站的功能。

101个脚本之建立linux回收站的脚本

这个脚本将文件移动到一个名为.trash的隐藏目录中,而不是直接删除它们,如果需要恢复文件,可以从.trash目录中移回原位置。

创建回收站脚本

1、创建一个名为trash.sh的文件:

nano trash.sh

2、在文件中添加以下内容:

#!/bin/bash
定义回收站目录
TRASH_DIR="$HOME/.trash"
如果回收站目录不存在,则创建它
if [ ! -d "$TRASH_DIR" ]; then
    mkdir -p "$TRASH_DIR"
fi
遍历所有传入的文件和目录
for item in "$@"; do
    if [ -e "$item" ]; then
        # 获取文件或目录的名称
        item_name=$(basename "$item")
        
        # 生成唯一的文件名以避免冲突
        unique_name="${item_name}_$(date +%s)"
        
        # 移动文件或目录到回收站
        mv "$item" "$TRASH_DIR/$unique_name"
        echo "Moved '$item' to '$TRASH_DIR/$unique_name'"
    else
        echo "Error: '$item' does not exist."
    fi
done

3、保存并关闭文件(在nano中按Ctrl+X,然后按Y 确认保存)。

4、使脚本可执行:

101个脚本之建立linux回收站的脚本

chmod +x trash.sh

使用回收站脚本

现在你可以使用这个脚本来“删除”文件或目录。

./trash.sh file1.txt directory1

这将把file1.txtdirectory1移动到~/.trash目录中。

恢复文件脚本

为了从回收站中恢复文件,可以创建另一个脚本untrash.sh

1、创建untrash.sh文件:

nano untrash.sh

2、在文件中添加以下内容:

101个脚本之建立linux回收站的脚本

#!/bin/bash
定义回收站目录
TRASH_DIR="$HOME/.trash"
遍历所有传入的文件和目录
for item in "$@"; do
    if [ -e "$TRASH_DIR/$item" ]; then
        # 获取文件或目录的名称
        item_name=$(basename "$item")
        
        # 移动文件或目录回到原来的位置
        mv "$TRASH_DIR/$item" "$(dirname $item)"
        echo "Restored '$TRASH_DIR/$item' to $(dirname $item)"
    else
        echo "Error: '$item' does not exist in the trash."
    fi
done

3、保存并关闭文件(在nano中按Ctrl+X,然后按Y 确认保存)。

4、使脚本可执行:

chmod +x untrash.sh

使用恢复脚本

现在你可以使用这个脚本来恢复文件或目录。

./untrash.sh file1.txt_1638307200 directory1_1638307200

这将把file1.txt_1638307200directory1_1638307200从回收站中移回原来的路径。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.