乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      rm命令,給你一個反悔的機會

       西北望msm66g9f 2020-02-05
      Linux 下 rm 命令是表示刪除一個文件,而Linux是沒有回收站機制,所以文件一旦刪除的話,就徹底從磁盤上刪除了。而很多人喜歡加上 -f 選項,是代表強制的意思,更暴力的是刪除文件夾的時候使用 rm -rf 命令,這樣一來,文件夾本身,以及文件夾下的子子孫孫,都一了百了了。

      而萬一如果你執(zhí)行了 rm -rf /* 命令,那無疑效果與下面等同:

      由于沒有回收站機制,很多人吃過這個虧,良許也是,曾經(jīng)辛苦寫的幾個月的代碼,一個 rm 命令全部化為烏有,搞得每次執(zhí)行 rm 命令的時候,手都是顫抖的……
      既然Linux沒有回收站,那我們能否自己實現(xiàn)一個?答案當(dāng)然是肯定的。下面,我們就自己動手做一個回收站,給自己一個后悔的機會。

      既然罪魁禍?zhǔn)资?rm 命令,那我們就對這個命令進(jìn)行改造。在Linux下對命令進(jìn)行重定義是使用 alias 命令,修改的是 .bashrc 文件,即:
      vim ~/.bashrc

      在文件尾部,我們添加以下幾句代碼:

      mkdir -p ~/.trash
      alias rm=trash
      alias r=trash
      alias rl='ls ~/.trash/'
      alias ur=undelfile

      undelfile()
      {
          mv -i ~/.trash/$@ ./
      }

      trash()
      {
          mv -i $@ ~/.trash/
      }

      cleartrash()
      {
          read -p 'clear sure?[n]' confirm
          [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
      }
      在這里,我們是在家目錄下建立一個 .trash 的隱藏文件夾,作為回收站。然后,我們對 rm 命令進(jìn)行重定義。當(dāng)我們執(zhí)行 rm 或者 r 的時候,將執(zhí)行 trash 函數(shù)。而在 trash 函數(shù)里,只做一件事:
      mv -i $@ ~/.trash/
      就是將 rm 之后所有的文件移動到 .trash 目錄下(即模擬丟進(jìn)回收站)。-i 選項表示如果 .trash 目錄有同名文件的話,將提示是否覆蓋。
      我們將 rl 定義為 ls ~/.trash/ ,也就是說,我們可以通過 rl 來查看 .trash 目錄下的文件,即被「刪除」的文件。
      如果要還原文件,可以執(zhí)行 ur ,而 ur 將執(zhí)行 undelfile 函數(shù)。在 undelfile 里,又將 ur 之后的文件從 .trash 目錄移回到原目錄,從而實現(xiàn)文件刪除還原。
      當(dāng)過了一段時間后,回收站里文件太多了,我們可以使用 cleartrash 命令清空回收站。它將執(zhí)行同名函數(shù),調(diào)用 /bin/rm 命令將 .trash 目錄清空。

      .bashrc 文件修改完畢之后,我們要讓它生效:

      source ~/.bashrc

      我們來實際體會一下:

      刪除文件
      alvin@alvin-pc:~/test$ touch file1 file2 file3
      alvin@alvin-pc:~/test$ ls
      file1  file2  file3
      alvin@alvin-pc:~/test$ rm file1 file2 
      alvin@alvin-pc:~/test$ r file3
      查看回收站文件
      alvin@alvin-pc:~/test$ rl
      file1  file2  file3
      還原被刪除的文件
      alvin@alvin-pc:~/test$ rl
      file1  file2  file3
      alvin@alvin-pc:~/test$ ur file1
      alvin@alvin-pc:~/test$ ur file2
      alvin@alvin-pc:~/test$ ur file3
      alvin@alvin-pc:~/test$ ls
      file1  file2  file3
      alvin@alvin-pc:~/test$ rl
      alvin@alvin-pc:~/test$ 
      清空回收站
      alvin@alvin-pc:~/test$ rm file1 file2 file3
      alvin@alvin-pc:~/test$ rl
      file1  file2  file3
      alvin@alvin-pc:~/test$ cleartrash
      clear sure?[n]y
      alvin@alvin-pc:~/test$ rl
      alvin@alvin-pc:~/test$
      通過以上這些步驟,我們雖然可以實現(xiàn)一個回收站的功能,但實際的工作中,我們還是要養(yǎng)成定時備份的習(xí)慣,這樣即使有誤操作,我們也可以將損失降到最低。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多