Linux 回收站——防止误删文件
Posted 凌晗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 回收站——防止误删文件相关的知识,希望对你有一定的参考价值。
方法 1:bash 脚本(写入~/.bashrc 文件),简单实用无外部依赖
提供如下四个命令:
rmv a <b c>:move a <b and c> to recycle bin
unrmv a <b>: restore a from recycle bin to <b> (default b=\'./\')
lsrmv: list recycle bin
clearrmv: clear recycle bin
# >>> recycle bin >>>
## define trash dir and make it
# trash_path="~/.trash"
# trash_path="$HOME/.trash"
trash_path="/hhd/2/zzh/.trash/" # # assign one according to your need
# make the $trash_path dir if there is no one.
if [ ! -d $trash_path ]; then
mkdir -p $trash_path
fi
## define alias
alias rmv=trash # rmv a <b c>:move a <b and c> to recycle bin
alias unrmv=restorefile # unrmv a <b>: restore a from recycle bin to <b> (default b=\'./\')
alias lsrmv=lstrash # lsrmv: list recycle bin
alias clearrmv=cleartrash # clearrmv: clear recycle bin
## functions
# move to recycle bin
trash()
if [[ $# -le 0 ]]; then
echo "please assign the parameters: delete_file"
return
fi
for i in $*; do
STAMP=`date "+%Y-%m-%d"`
file_srcpath=`echo $i | sed \'s/\\(.*\\)\\/$/\\1/g\'`
file_dstpath=$trash_path/$STAMP/$file_srcpath
if [ -e $file_dstpath ];then
suffix=`date "+%Y%m%d%H%M%S"`
file_dstpath=$file_dstpath_$suffix
fi
file_path_dir=`dirname $file_dstpath`
mkdir -p $file_path_dir
mv $file_srcpath $file_dstpath
done
# restore from recycle bin
restorefile()
if [[ $# -eq 1 ]]; then
restore_file=$1
restore_path="./" # default restore path = ./
elif [[ $# -eq 2 ]]; then
restore_file=$1
restore_path=$2 # default restore path = ./
else
echo "please assign the parameters: restore_file <restore_dir>"
return
fi
mv -i $trash_path/$restore_file $restore_path
# show recycle bin contents
lstrash()
# files=`find $trash_path -type f`
dirs=`find $trash_path -maxdepth 2 -mindepth 2 -type d`
files=`find $trash_path -maxdepth 2 -type f`
printf "\\n------ Dirs ------\\n"
while read -r line; do
echo "$line/$trash_path/"
done <<< "$dirs"
printf "\\n------ Files ------\\n"
while read -r line; do
echo "$line/$trash_path/"
done <<< "$files"
# clear recycle bin
cleartrash()
read -p "Sure to clear the trash box?[y/n]" confirm
[ $confirm == \'y\' ] || [ $confirm == \'Y\' ] && /bin/rm -rdf $trash_path/*
# <<< recycle bin <<<
如果需要定期清理回收站,可以使用 Linux 的定时任务命令 crontab 定期删除 trash 目录,但是不建议这么做,因为 rm 命令有风险(惨痛教训!),还是自己需要的时候手动运行命令 clearrmv
清理回收站比较好。
方法 2:开源命令行工具,功能更全面
GitHub - andreafrancia/trash-cli: Command line interface to the freedesktop.org trashcan.
----------------------------------------------------
作者:凌晗
出处:https://www.cnblogs.com/dawnlh/p/17348250.html
----------------------------------------------------
Windows误删文件如何恢复(Shift+Delete清空回收站)
Windows误删文件如何恢复(Shift+Delete、清空回收站)
能白嫖谁会舍得花钱呢??
写在前面:误删后,原文件路径(就是那个文件夹、甚至最好那块磁盘)不要再进行任何人为的读写操作,如粘贴文件等,防止磁盘中想要恢复文件的空间被覆盖重写,导致文件损坏无法被恢复。一旦那部分空间被重新写入,以现有的技术很难再将误删的文件恢复。
注意事项:
1)请勿把数据恢复软件下载安装在被删除文件所在的磁盘,否则可能会被删除的文件可能会被覆盖(如果原文件在C盘,安装是务必注意修改安装路径)。
2)最终恢复过程中,请勿把文件恢复到文件原本的保存位置上,否则可能会造成文件损坏。
3)恢复文件之前不要对进行磁盘整理和磁盘格式化等操作,写入的新数据会破坏被删除的文件,导致恢复失败。
4)文件恢复过程中要保证电脑的电源稳定,突然断电会造成文件损坏。
习惯使用“Shift+Delete”直接进行文件删除操作,但偶尔会不小心删掉一些需要的文件。
(这边建议所有重要文件一定要备份,最好本地两到三份,云上一份,网盘一份,U盘一份)
回归正题,文件误删如何恢复,这边提供Windows系统的解决方法:
(注:网盘分享并非破解版,免费的依然免费,要钱的依然要钱,仅方便进行相关下载)
下述解决方案均进行过简单测试,描述可能带有一定程度上的个人倾向,仅供参考;
一、Windows自带的误删文件恢复方式(误删后没有对电脑进行其他读写操作的时候)。
1. 按组合键win+R打开运行窗口,输入regedit打开注册表,然后依次展开HEKEY-LOCAL-MACHIME/SOFTWARE/microsoft/WINDOWS/CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE;
2. 然后在左侧空白处点击“新建”——“项”,接着把它命名为“645FFO40-5081-101B-9F08-00AA002F954E”;
3. 接下来,右键单击“默认”,选择“修改”,将主键的键值设为“回收站”,然后退出注册表;
4. 重启计算机,这时候只要你的计算机没有运行过磁盘整理,且系统完好,重启后,电脑中任何时候的文件都可以找回来,被找回的文件将会恢复到原来的位置。
二、微软的免费恢复工具:Windows File Recovery
Microsoft Store 上架的应用,可直接下载使用;
这个的问题是没有图形化的操作界面,需要使用命令行的方式进行恢复,所以相对上手会有一定难度,实际使用过程中发现命令相对简单不复杂;
在cmd命令行下执行:winfr 误删文件位置 恢复文件存储位置 [/一些相关参数]
给个常用的示例命令:
winfr C: D: /x /n *.jpg
解释:将C盘误删的后缀为.jpg的文件恢复并存放到D盘;/n是后缀匹配;/x表示采用签名模式;如果文件为FAT、exFAT需要使用/x,如果文件格式为NTFS,可以将/x替换为/r;
具体细致操作请参考微软官方文档:https://support.microsoft.com/zh-cn/windows/%E5%9C%A8-windows-10-%E4%B8%8A%E6%81%A2%E5%A4%8D%E4%B8%A2%E5%A4%B1%E7%9A%84%E6%96%87%E4%BB%B6-61f5b28a-f5b8-3cc2-0f8e-a63cb4e1d4c4
三、如果上述方法找不回来,或者第二种感觉费劲不想弄,只能使用第三方软件恢复方式,优先介绍免费版;
1. 免费的恢复软件Recuva,亲测可用,英文版无中文(有付费版,没试过不清楚)。
优点是:小巧灵活,简单易用,检索/恢复迅速;
缺点是:毕竟免费版,无人维护,界面较为复古,检索到的文件相对较少;
可能会出现第一次搜不到,多搜几次或者换一下限制条件才能搜到的情况;
支持的文件格式可能较少,但差不多够用了,基本的office文件格式都支持;
官网链接:https://www.ccleaner.com/recuva
网盘链接:https://pan.baidu.com/s/1CWfVFV882ZMQRUTQV_pJxg
提取码:6deq
2.免费开源软件Test Disk,怎么说呢,英文版,还不错;
优点:速度快、细致、免费;
缺点:英文,操作不易,上手有一定难度;
操作方式详解:https://www.bilibili.com/s/video/BV1qT4y137fC
官网链接:https://www.cgsecurity.org/Download_and_donate.php/testdisk-7.2-WIP.win.zip
网盘链接:https://pan.baidu.com/s/145N9Z-H3fOmTyNuPf2b6HA
提取码:t7u4
3.闪电数据恢复软件Speed recovery B站有简单白嫖的视频
优点:原版不白嫖一次只能免费恢复一个文件,且有大小限制;
缺点:检索可能还是没有那么细致;
感谢:https://www.bilibili.com/video/BV1Vp4y1W7Gn?spm_id_from=333.905.b_72656c61746564.2
官网链接:http://www.shandianhuifu.com/
4.小文件免费的恢复软件DiskGenius,100K以下的小文件不限量免费恢复,大文件会在恢复时收费;
优点是:扫描细致,功能较多,可以对磁盘进行细致操作;
缺点是:磁盘检索过程较慢,需要有一定的耐心,检索出的文件排布稍乱;
官网链接:https://www.diskgenius.cn/
网盘链接:https://pan.baidu.com/s/1Al87epvzfV71g20rxsdqaQ
提取码:sm72
5.易我数据恢复:可以免费恢复200M,适用于不小心删了一个文件;
优点是:扫描快速,部分免费,而且不像第二个对文件大小卡那么死;
缺点是:检索不够细致,可能会出现想要恢复的文件找不到的情况,不过毕竟免费嘛;
官网链接:https://cn.easeus.com/data-recovery-software/
网盘链接:https://pan.baidu.com/s/17bkERUY8xh_lwzmspV429w
提取码:ahgp
6.数据蛙,不免费,即使付费也只能绑定一台使用;
优点是:扫描快,检索很细致,文件排布相对清晰,恢复方便;
缺点是:付费,不怎么便宜(反正我这么觉得),绑定电脑,万不得已又特别重要再考虑;
官网链接:https://www.shujuwa.net/shuju/shift-delete-file-recovery
网盘链接:https://pan.baidu.com/s/1XA3p9XnGBjyAhUSybr1Udw
提取码:4u5r
以上是关于Linux 回收站——防止误删文件的主要内容,如果未能解决你的问题,请参考以下文章
Windows误删文件如何恢复(Shift+Delete清空回收站)
Windows误删文件如何恢复(Shift+Delete清空回收站)
Windows误删文件如何恢复(Shift+Delete清空回收站)