前言

众所周知,~~rm /* -rf~~是Linux下最优秀的优化方法
但我万万没想到,自己会手贱输入rm ~ -rf
至于为什么会输入这个,是因为我手贱在~~~/~~下创建了一个叫~~'~'~~的文件夹……
至于为什么会……
但是我又懒得修,其实电脑上也没啥重要的数据,而且正好打算扩展一下磁盘,所以一不做二不休直接remake了。
本文章基于的软件环境:

  • OS:Manjaro Linux
  • Shell:Fish Shell
  • 备份工具:TimeShift

    正文

    主要通过两个途径:
  1. 封印删库的大门,alias保护rm
  2. 保险措施,做好备份

    ⓵ rm的alias保护

    安装完系统以后,第一件事就是先把rm这个野兽封印起来。
    使用alias进行保护,在Fish Shell的启动文件(~/.config/fish/config.fish)中进行alias的设置:
    以下是Fish Shell的写法。 ```shell

    当前文件: “~/.config/fish/config.fish”

alias rm=del alias rl=’ll ~/.trash’ alias ct=cleantrash

function del mv $argv ~/.trash end

function cleantrash echo “clear trash (Y|N): “ read confirm if [ $confirm = ‘y’ ] || [ $confirm = ‘Y’ ] /bin/rm -rfv ~/.trash/ end end ``` *主要思路是

  • rm的覆盖为讲待删除文件塞入一个“垃圾桶”
  • 额外添加两个指令分别用来查看和清空“垃圾桶”
  • 对“清空垃圾桶”这个行为添加确认操作

bash``zsh等shell下,思路是一样的,只不过具体的启动文件写法不同,网络上Fish Shell的写法基本上没有,而我又喜欢用Fish Shell,所以就只在这里放Fish Shell的写法。

⓶ 系统快照备份

Manjaro的各个版本大概都是预置了TimeShift的(至少Gnome版本下的精简版本也还有)。
所以我就直接进入使用部分。
启动TimeShift的ui,登录后进入软件引导。
image.png
选择RSYNC,它支持增量备份,有点类似主席树。

下一步

选择存放快照的位置。
比较保险的方法是独立弄一块磁盘来存放快照,不过我就不这么做了。需要记住你的快照放在哪里。
如果选择RSYNC的话,请确保大概又16G以上的内存。

下一步

image.png
选择备份快照的策略,保留后面的数字表示同时存在的快照版本最大数量,即超过该数字以后会删除以前的版本。

下一步

image.png
选择备份的目录,根据需求来即可。

完成引导设置

完成引导后,会回到软件界面,点击左上角的“创建”即可创建第一个快照。
image.png