成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

給你一個反悔的機會

系統(tǒng) Linux
Linux 下 rm 命令是表示刪除一個文件,而Linux是沒有回收站機制,所以文件一旦刪除的話,就徹底從磁盤上刪除了。

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

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

[[340890]]

由于沒有回收站機制,很多人吃過這個虧,良許也是,曾經(jīng)辛苦寫的幾個月的代碼,一個 rm 命令全部化為烏有,搞得每次執(zhí)行 rm 命令的時候,手都是顫抖的……

既然Linux沒有回收站,那我們能否自己實現(xiàn)一個?答案當然是肯定的。下面,我們就自己動手做一個回收站,給自己一個后悔的機會。

既然罪魁禍首是 rm 命令,那我們就對這個命令進行改造。在Linux下對命令進行重定義是使用 alias 命令,修改的是 .bashrc 文件,即:

  1. vim ~/.bashrc 

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

  1. mkdir -p ~/.trash 
  2. alias rm=trashalias r=trashalias rl='ls ~/.trash/' 
  3. alias ur=undelfile 
  4. undelfile() 
  5. {    mv -i ~/.trash/$@ ./ 
  6. }trash() 
  7. {    mv -i $@ ~/.trash/ 
  8. }cleartrash() 
  9. {    read -p "clear sure?[n]" confirm 
  10.     [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* 

在這里,我們是在家目錄下建立一個 .trash 的隱藏文件夾,作為回收站。然后,我們對 rm 命令進行重定義。當我們執(zhí)行 rm 或者 r 的時候,將執(zhí)行 trash 函數(shù)。而在 trash 函數(shù)里,只做一件事:

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

就是將 rm 之后所有的文件移動到 .trash 目錄下(即模擬丟進回收站)。-i 選項表示如果 .trash 目錄有同名文件的話,將提示是否覆蓋。

我們將 rl 定義為 ls ~/.trash/ ,也就是說,我們可以通過 rl 來查看 .trash 目錄下的文件,即被「刪除」的文件。

如果要還原文件,可以執(zhí)行 ur ,而 ur 將執(zhí)行 undelfile 函數(shù)。在 undelfile 里,又將 ur 之后的文件從 .trash 目錄移回到原目錄,從而實現(xiàn)文件刪除還原。

當過了一段時間后,回收站里文件太多了,我們可以使用 cleartrash 命令清空回收站。它將執(zhí)行同名函數(shù),調(diào)用 /bin/rm 命令將 .trash 目錄清空。

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

  1. source ~/.bashrc 

我們來實際體會一下:

刪除文件

  1. alvin@alvin-pc:~/test$ touch file1 file2 file3 
  2. alvin@alvin-pc:~/test$ ls 
  3. file1  file2  file3alvin@alvin-pc:~/test$ rm file1 file2  
  4. alvin@alvin-pc:~/test$ r file3 

查看回收站文件

  1. alvin@alvin-pc:~/test$ rl 
  2. file1  file2  file3 

還原被刪除的文件

  1. alvin@alvin-pc:~/test$ rl 
  2. file1  file2  file3 
  3. alvin@alvin-pc:~/test$ ur file1 
  4. alvin@alvin-pc:~/test$ ur file2 
  5. alvin@alvin-pc:~/test$ ur file3 
  6. alvin@alvin-pc:~/test$ ls 
  7. file1  file2  file3 
  8. alvin@alvin-pc:~/test$ rl 
  9. alvin@alvin-pc:~/test$ 

清空回收站

  1. alvin@alvin-pc:~/test$ rm file1 file2 file3 
  2. alvin@alvin-pc:~/test$ rl 
  3. file1  file2  file3alvin@alvin-pc:~/test$ cleartrash 
  4. clear sure?[n]y 
  5. alvin@alvin-pc:~/test$ rl 
  6. alvin@alvin-pc:~/test$ 

通過以上這些步驟,我們雖然可以實現(xiàn)一個回收站的功能,但實際的工作中,我們還是要養(yǎng)成定時備份的習慣,這樣即使有誤操作,我們也可以將損失降到最低。

本文授權(quán)轉(zhuǎn)載自公眾號「良許Linux」。良許,世界500強外企Linux開發(fā)工程師,公眾號里分享大量Linux干貨,歡迎關(guān)注!

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2014-11-19 13:06:59

2023-01-30 16:21:24

Linux外觀

2022-12-22 08:22:17

Python圖像圖像處理

2023-10-30 08:45:55

Spring容器攔截

2021-08-04 17:55:38

keysRedis數(shù)據(jù)庫

2018-07-03 15:20:36

Promise函數(shù)借錢

2012-03-05 19:43:00

lumia

2019-09-30 09:26:29

Java編程語言國旗

2020-09-15 13:56:08

公眾號機器人圖靈機器人

2018-08-26 05:38:44

路由器調(diào)制解調(diào)器網(wǎng)絡(luò)設(shè)備

2022-03-31 08:09:04

CSS繪制技巧時鐘

2014-08-18 14:58:25

微軟IE

2022-10-21 14:27:53

元宇宙網(wǎng)絡(luò)空間稀缺虛擬環(huán)境

2021-08-26 11:02:55

云計算云計算環(huán)境云應用

2015-07-29 15:05:01

2021-12-24 10:29:28

SpringJava微服務

2018-09-13 15:05:27

信息安全網(wǎng)絡(luò)安全安全行業(yè)

2023-07-11 14:13:04

技術(shù)會談

2025-06-26 02:23:00

2021-09-12 17:23:57

canvas動畫函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品欧美一区二区三区不卡 | 一区二区在线不卡 | 欧州一区二区 | 精品不卡| 国产玖玖| 国产真实精品久久二三区 | 国产成人精品一区二区 | 日韩av在线免费 | 亚洲3级 | 玖玖国产| 国产一极毛片 | 三级黄视频在线观看 | 中文字幕在线一区二区三区 | 欧美大片一区二区 | 亚洲aⅴ精品 | 久久国产精品偷 | 在线中文字幕第一页 | 一级a毛片 | 欧美一区2区三区3区公司 | 久久一区二区三区电影 | 999久久精品| 国产激情精品一区二区三区 | 九九综合| 91精品国产一区二区三区香蕉 | 久久国产精品无码网站 | 亚洲欧美综合精品另类天天更新 | 国产日韩av一区二区 | 91亚洲国产精品 | 日韩一级不卡 | 日韩欧美在线视频播放 | 成人免费视频网站 | 精品久久影院 | 国产日韩久久 | 欧美精品一二三 | 亚洲一区视频在线 | 在线观看国产www | 亚洲精品国产综合区久久久久久久 | 偷拍第一页| 久久精品国产一区二区三区不卡 | 成年人黄色免费视频 | 亚洲成人国产 |