Linux下命令行删除到回收站
-
在Linux下,我们通常使用命令行来进行文件和目录的管理,但是Linux系统默认是没有回收站的概念的。因此,当我们使用命令行删除文件或目录时,它们会立即被永久删除,而不是被放入回收站。
然而,我们可以通过一些方法模拟实现在命令行下删除文件到回收站的功能。下面是两种常见的方式:
1. 使用trash-cli工具
trash-cli是一个可以用于命令行的回收站工具,它可以帮助我们将文件或目录以及其相关信息移动到Trash目录,从而模拟回收站的效果。
首先,我们需要安装trash-cli工具。在终端中执行以下命令以安装:
“`
sudo apt-get install trash-cli
“`安装完成后,我们可以使用`trash-put`命令将文件或目录移动到回收站。例如:
“`
trash-put file.txt
“`这样,file.txt文件就会被移动到回收站中。需要注意的是,该命令只会移动文件或目录,不会删除原始文件。
2. 自定义alias别名
除了使用trash-cli工具外,我们还可以通过设置自定义alias别名来模拟删除到回收站的功能。
首先,我们需要编辑用户家目录下的.bashrc文件:
“`
vi ~/.bashrc
“`在文件末尾添加以下内容:
“`
alias rm=’mv –target-directory=$HOME/Trash’
“`保存并退出文件。然后执行以下命令使设置生效:
“`
source ~/.bashrc
“`现在,当我们使用`rm`命令删除文件或目录时,它们会被移动到用户家目录下的Trash目录中,即模拟了删除到回收站的效果。我们可以通过访问Trash目录来恢复文件或目录,或者在需要时永久删除它们。
需要注意的是,这种方法只适用于命令行中使用`rm`命令删除操作,而不包括其他的删除方式。
总结起来,虽然Linux系统默认没有回收站的概念,但我们可以使用trash-cli工具或自定义alias别名的方法来模拟在命令行中删除文件到回收站的功能。
2年前 -
在Linux下,命令行下的文件删除是直接删除,没有回收站的概念。但你可以通过一些方法模拟回收站的功能。
1. 使用Trash-cli工具:Trash-cli是一个命令行工具,可以模拟回收站的功能。首先,你需要通过命令行安装Trash-cli:
“`
sudo apt-get install trash-cli
“`
安装完成后,你可以使用`trash-put`命令将文件移动到垃圾桶中:
“`
trash-put file.txt
“`
这将把`file.txt`文件移动到垃圾桶中,并对其进行重命名,以防止重名文件冲突。要恢复文件,使用`trash-restore`命令:
“`
trash-restore file.txt
“`
要永久删除文件,使用`trash-list`命令列出垃圾桶中的文件,并使用`trash-empty`命令清空垃圾桶:
“`
trash-list
trash-empty
“`2. 使用rm命令结合别名:你可以创建一个别名来替代系统的rm命令,将删除的文件移动到一个专门的目录中。首先,打开你的`~/.bashrc`文件:
“`
vi ~/.bashrc
“`
在文件末尾添加以下行:
“`
alias rm=’mv -t ~/Trash’
“`
保存文件并退出。然后执行以下命令以使别名生效:
“`
source ~/.bashrc
“`
现在,当你使用`rm`命令时,文件将被移动到你的`~/Trash`目录中,而不是直接删除。你可以使用`mv`或`cp`命令恢复文件。3. 使用脚本管理回收站:你可以编写一个脚本来模拟回收站的功能。首先,创建一个垃圾桶目录:
“`
mkdir ~/Trash
“`
然后,创建一个shell脚本`trash.sh`:
“`shell
#!/bin/bash
mv “$@” ~/Trash
“`
给脚本添加执行权限:
“`
chmod +x trash.sh
“`
将脚本移动到 `/usr/local/bin` 或其他系统路径下:
“`
sudo mv trash.sh /usr/local/bin/trash
“`
现在,你可以使用`trash`命令将文件移动到垃圾桶中:
“`
trash file.txt
“`
要恢复文件,只需将其从垃圾桶中移回原来的位置。4. 使用文件管理器:如果你偶尔需要删除文件到回收站,你可以使用图形界面的文件管理器,如Nautilus、Konqueror或Thunar。这些文件管理器都有回收站的功能,你可以右键点击文件,选择移动到回收站或删除,并在需要时恢复文件。
5. 使用定时任务清理垃圾桶:你可以使用cron定时任务来定期清理垃圾桶中的文件。首先,创建一个清理脚本`cleanup.sh`:
“`shell
#!/bin/bash
find ~/Trash/* -mtime +7 -exec rm {} +
“`
然后,给脚本添加执行权限:
“`
chmod +x cleanup.sh
“`
执行以下命令编辑cron定时任务:
“`
crontab -e
“`
在文件中添加以下行,每周清理一次垃圾桶:
“`
0 0 * * 0 /path/to/cleanup.sh
“`
保存文件并退出。现在,每周零时,垃圾桶中超过7天的文件将被自动删除。请注意,以上方法都是模拟回收站的功能,实际上并没有真正的回收站。在使用这些方法时,请谨慎操作,以免不小心删除重要文件。
2年前 -
在Linux系统下,我们通常使用命令行来进行文件和目录的操作。删除文件时,默认情况下文件是直接被删除,而没有送入回收站。但是,我们可以通过一些命令行操作来实现将文件删除到回收站的功能。下面,我将介绍两种常用的方法:使用trash-cli工具和自定义shell脚本。
### 使用trash-cli工具删除文件到回收站
1. 安装trash-cli工具。在终端输入以下命令:
“`shell
sudo apt-get install trash-cli # Ubuntu/Debian 系统
sudo yum install trash-cli # CentOS/Fedora 系统
“`
2. 删除文件到回收站。在终端输入以下命令:
“`shell
trash-put 文件名
“`
或者可以使用以下命令来删除指定目录下的所有文件到回收站:
“`shell
trash-put 目录名/*
“`
3. 恢复文件。进入回收站目录(默认为`~/.local/share/Trash/files/`),找到需要恢复的文件,将其移动到其他目录即可。### 自定义shell脚本删除文件到回收站
1. 创建自定义脚本。在终端输入以下命令:
“`shell
touch rmtrash
chmod +x rmtrash
“`
2. 编辑rmtrash文件。将以下内容复制到rmtrash文件中:
“`shell
#!/bin/bash
TRASH_DIR=~/.Trash # 回收站目录for file in “$@”; do
if [ -e “$file” ]; then # 检查文件是否存在
base=$(basename “$file”)
newname=”$TRASH_DIR/$base-$RANDOM”
while [ -e “$newname” ]; do # 避免文件重名
newname=”$TRASH_DIR/$base-$RANDOM”
done
mv -n “$file” “$newname” # 移动文件到回收站目录
echo “Deleted ‘$file’ -> ‘$newname'”
else
echo “File ‘$file’ doesn’t exist”
fi
done
“`
3. 将rmtrash脚本移动到可执行路径下。在终端输入以下命令:
“`shell
sudo mv rmtrash /usr/local/bin/
“`
4. 删除文件到回收站。在终端输入以下命令:
“`shell
rmtrash 文件名
“`
或者可以使用以下命令来删除指定目录下的所有文件到回收站:
“`shell
rmtrash 目录名/*
“`
5. 恢复文件。进入回收站目录(默认为`~/.Trash/`),找到需要恢复的文件,将其移动到其他目录即可。通过上述两种方法,我们可以将文件在命令行中删除到回收站,以便稍后恢复或者永久删除。在使用自定义脚本的方法时,我们可以根据实际需求对脚本进行修改,添加更多功能。
2年前