rm: 无法删除swap: 不允许的操作_safe-rm老板再也不用担心我删库跑路啦[视频]
在 linux 上,使用 rm 是一件非常危險(xiǎn)的事情(最近又有朋友遇到了我才想起了寫(xiě)這篇文章),如果不幸手殘執(zhí)行了 rm -rf 刪除了重要文件,建議你準(zhǔn)備收拾包袱跑路吧。
既然 rm 刪除操作非常危險(xiǎn),恢復(fù)數(shù)據(jù)又很困難(甚至某些場(chǎng)景無(wú)法恢復(fù)),那有沒(méi)有工具可以像 windows 下或者 macos 下的垃圾桶呢, 刪除之后放到垃圾桶里,如果發(fā)現(xiàn)誤刪了直接去垃圾桶恢復(fù)就好啦。這一次介紹我在 macos 和 linux server(centos) 上常用的安全刪除工具,有了它們,老板就再也不用擔(dān)心我刪庫(kù)跑路啦。( 評(píng)論區(qū)有人列舉了一些不建議使用的理由,其實(shí)我個(gè)人一般只在自己的 mac 和開(kāi)發(fā)機(jī)使用,不建議修改線上機(jī)器,每種工具都有使用場(chǎng)景,請(qǐng)自行斟酌使用)
Macos rmtrash
首先你要安裝 homebrew, 如果你用的 macOS 還沒(méi)裝 brew 那就太可惜了,一個(gè)非常方便的包管理工具。 homebrew 作者就是那個(gè)"大名鼎鼎"的 Max Howell, 因?yàn)閼?yīng)聘 google 白板編程沒(méi)有寫(xiě)出來(lái)翻轉(zhuǎn)二叉樹(shù)被拒,后來(lái)去了蘋(píng)果公司的工程師。
brew install rmtrash
一句話就可以安裝完成了,然后呢在你的 bashrc 或者 zshrc 里邊加個(gè) alias 就可以了。
alias rm='rmtrash'這樣你使用 rm 直接刪除的文件就會(huì)放到你的用戶 .Trash 隱藏文件夾里邊,如果誤刪了可以去這里恢復(fù)即可。 rmtrash 可以直接刪除文件夾,所以不需要 -r 參數(shù)了。
我們可以做一個(gè)測(cè)試,隨便找一個(gè)文件夾建立一個(gè)文件,然后 rm 刪除一下試試,比如:
# 進(jìn)入用戶主目錄,創(chuàng)建一個(gè)文件"對(duì)象",然后 rm 刪除看看 # 之后開(kāi)你的垃圾箱或者 cd ~/.Trash 里邊就可以找到了。其實(shí) macos 下刪除文件也是放到這里 cd touch 對(duì)象 rm 對(duì)象Linux/MacOS 通用
如果是 linux 用戶,可以使用 safe-rm,筆者在自己的開(kāi)發(fā)機(jī)(centos)上就是用的它。 這個(gè)是 github 地址
https://github.com/kaelzhang/shell-safe-rm?github.com直接 clone 安裝:
git clone https://github.com/kaelzhang/shell-safe-rm ~/.shell-safe-rm # alias 加入到你的 bashrc or zshrc 里邊,默認(rèn)也是 .Trash(mac) 或者 linux "$HOME/.local/share/Trash/files" # 如果你想修改默認(rèn)垃圾桶的路徑,直接使用 vim 之類(lèi)的編輯器修改這個(gè) rm.sh 文件開(kāi)頭的默認(rèn)路徑就可以了 alias rm='~/.shell-safe-rm/bin/rm.sh'或者如果你有使用過(guò) nodejs 也可以使用 npm 安裝(筆者使用的這種方式)
npm install -g safe-rm; alias rm='safe-rm'同樣可以做個(gè)簡(jiǎn)單的測(cè)試:
# 進(jìn)入用戶主目錄,創(chuàng)建一個(gè)文件"痛苦的回憶",然后 rm 刪除看看 # 之后 cd ~/.Trash 里邊就可以找到了 cd touch 痛苦的回憶 rm 痛苦的回憶卸載:
# First remove the alias line from your ~/.bashrc file, then npm uninstall -g safe-rm # Or make && sudo make uninstall # Or sudo sh uninstall.sh如何恢復(fù)文件
恢復(fù)文件比較簡(jiǎn)單,你可以直接進(jìn)入 .Trash (你設(shè)置的文件夾)然后直接 mv 文件到你想恢復(fù)的地方就可以了(注意別同名覆蓋了)
同名沖突問(wèn)題kaelzhang/shell-safe-rm 同名沖突問(wèn)題
好了,大功告成。這里你就可以放心刪除文件了,不過(guò)你可能在想,如果刪除的文件名稱相同沖突了怎么辦。我自己測(cè)試了一下, rmtrash 會(huì)在被刪除的同名文件加上 “Copy” 后綴,而 safe-rm 會(huì)加上時(shí)間后綴,所以不用擔(dān)心垃圾箱里的文件會(huì)同名覆蓋掉。 當(dāng)然如果長(zhǎng)期不用的話可以去 macOS 的垃圾桶點(diǎn)擊清理(實(shí)際上macOS垃圾桶就是放到的.Trash),或者 unalias 一下然后刪除。
小結(jié)
對(duì)于一些危險(xiǎn)操作,還是盡量防患于未然。筆者當(dāng)初也感覺(jué)不會(huì)手殘,但是最終還是被打臉,誤刪了文件給自己造成了麻煩。 希望這倆工具對(duì)大家有幫助,再也不用擔(dān)心誤刪跑路啦。如果有更好的工具歡迎評(píng)論區(qū)留言。
近期文章:
PegasusWang:程序員雙十一剁手指南?zhuanlan.zhihu.comPegasusWang:完全不用鼠標(biāo)寫(xiě)代碼!你信么?[視頻]?zhuanlan.zhihu.com書(shū)籍推薦:
linux 程序員鍵盤(pán):
總結(jié)
以上是生活随笔為你收集整理的rm: 无法删除swap: 不允许的操作_safe-rm老板再也不用担心我删库跑路啦[视频]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hive 创建访问用户_hive创建角色
- 下一篇: python加入中小学课程_【pytho