Linux命令行垃圾桶 linux清除垃圾命令

rm命令的“垃圾桶”

Linux中的rm 命令删除文件或者文件夹是从磁盘中直接删除的,误删后很难恢复。不小心用rm误删了重要的脚本或者数据,如果没有及时备份,那结果往往是痛心疾首,后悔莫及。

创新互联建站从2013年开始,是专业互联网技术服务公司,拥有项目成都做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元白沙黎族做网站,已为上家服务,为白沙黎族各地企业和个人服务,联系电话:18980820575

运行下边这个脚本,系统会在主目录下生成一个.tool文件夹和.trash文件夹。该脚本同时还会自动产生一个remove.sh脚本,并用alias命令把rm替换为remove.sh。

remove.sh脚本的功能是把文件移动到垃圾桶~/.trash,并在文件的前边加上时间戳,方便误删找回。

当运行 rm -r data时,实际上linux执行的是 remove.sh。“删除”的文件被移动到了~ .trash目录下,如果你的文件不小心手滑删掉了,可以在~/.trash中找回。

当然,如果一直删除文件,文件一直被移动到~/.trash下,那么垃圾桶里的数据会越来越多。该脚本设定了每天早上5:30自动清空垃圾桶。

完整脚本,亲测可用

如何将Linux rm命令删除的文件放入垃圾箱

替换rm,做回收站:

#临时失效:

mkdir -p ~/.trash

alias rm=trash

alias r=trash

alias rl='ls ~/.trash'

alias ur=undelfile

undelfile()

{

mv -i  ~/.trash/$@ ./

}

trash()

{

mv $@ ~/.trash/

}

#永久生效:

mkdir -p ~/.trash

vi /root/.bashrc

#添加

alias rm=trash

alias r=trash

alias rl='ls ~/.trash'

alias ur=undelfile

vi /etc/profile

#添加

undelfile()

{

mv -i  ~/.trash/$@ ./

}

trash()

{

mv $@ ~/.trash/

}

linux 垃圾箱是哪个文件??

如果删除的位置是在$HOME目录下,则回收站目录为:~/.local/.share/Trash,其中的目录结构一致。只要是在$HOME目录外的独立的Linux分区中删除的文件都不会出现在Nautilus的回收站中,Nautilus的回收站仅显示~/.local/share/Trash/file中的文件。

在命令行界面下rm命令删除的文件是不会放入垃圾箱的,所以无法恢复,但是可以通过替换Linux rm命令的方法,从而将rm命令删除的文件放入垃圾箱,这样就能将误删的文件恢复。

方法如下:

1. 在/home/username/ 目录下新建一个目录,命名为:.trash

2. 在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh

PARA_CNT=$#

TRASH_DIR=“/home/username/.trash”

for i in $*; do

STAMP=`date +%s`

fileName=`basename $i`

mv $i $TRASH_DIR/$fileName.$STAMP

done

3. 修改~/.bashrc, 增加一行

alias rm=“sh /home/username/tools/remove.sh”

用我们自建的remove.sh替代rm命令

4. 设置crontab,定期清空垃圾箱,如:

0 0 * * * rm -rf /home/username/.trash/*

每天0点清空垃圾箱

5. source ~/.bashrc 使替换立即生效


当前标题:Linux命令行垃圾桶 linux清除垃圾命令
本文URL:http://scyanting.com/article/ddijdgi.html