主頁 >  其他 > rm 好兇殘,太 TM 嚇人了!

rm 好兇殘,太 TM 嚇人了!

2021-09-11 12:38:59 其他

原創:小姐姐味道(微信公眾號ID:xjjdog),歡迎分享,轉載請保留出處,

今天感冒剛好,又找到了文風飄逸的感覺,打字手也不抖了,好久沒有這么掌筆,得讓新到的朋友們體驗一下飛翔的感覺,否則把灑家當成了一個小小的運營,那就無趣的很,

↓↓↓

小的時候,村里有個理發師,功夫十分了得,你在座位上坐好之后,只見刀光劍影刷刷幾下,鰓毛抖動之間,就能獲得滿意的發型,即使是剃個光頭的需求,也能快速完成,

完事之后,剃頭刀上不會占有半點鮮血和毛發,

我很羨慕他的刀,

到底是他的刀厲害?還是他的人厲害?明白事理之后,我明白了是后者,而不是他手中的屠龍剃頭刀!

隨著年齡越來越大,我踏上了編程這條道路,一次偶然的原因,看到同事上上下翻飛的運行rm命令,勾起了我久遠的、對刀的回憶,

跨上一把刀,行走天下,是一件非常瀟灑的事,rm這個命令,圓你的武俠夢,很合適,只要它所到之處,玉石俱焚,寸草不生,

獲取這把刀的成本很低,你只要會使用Linux就行了,顯然,人人都擁有這么犀利的刀,會引起混亂,

如果你的功力不夠,掌控不了這把刀,那么就會被它反噬;如果你對它不尊重,它也會誤傷到你自己,不留一點情面;如果你心存惡念,它就能在瞬間滿足你,

每一年,都有好多人因為舞刀傷到了自己,或者傷了人進了局子,

在rm命令的刀下,是無數血淚堆砌的故事,每個故事都讓你潸然淚下,或者露出兔死狐悲的哀傷,

rm這個命令,到底是殺雞刀,還是殺牛刀?要看掌刀的人;是束之高閣,還是藏在袖中,要看是否還心存熱血,

但現實的生活總不會讓情緒發泄的太澎湃,多為多年混社會的人,我們早已經學會了忍耐,當你的命令列輸入到了rm -rf /,會不由自主的再按下回退鍵,就像烏龜發現了殼外的危險,把龜頭緊緊縮在殼里面,

雖然憋屈了一點,但畢竟安全,

安全只是暫時的

但安全,只是暫時的,

有一次,有一個偉大的布道者,和自己的小弟們普及命令列知識,他聊到了rm -rf,

出于對寶刀的熱愛,就像真正愛刀的人,會用自己的舌頭和口水,舔凈刀上污漬直到一塵不染,他打開了一個命令列終端,輸入了rm -rf /這個命令,

“這是一個危險的命令!”,他說,“你們永遠不要在線上環境運行”,

旁邊的小迷弟小迷妹們都很一臉崇拜的看著他,聆聽教誨,

好久沒有這么讓人陶醉的感覺了,他不由自主滔滔不絕的講解了起來,毫無察覺自己的胳膊肘子壓上了鍵盤,蜻蜓點水一樣觸了一下Enter鍵,

以實際行動來驗證,從實踐中出真知,是互聯網人一貫的作風,

屏蔽起來

當這種翻車事故變得越來越多,我們就更能了解到rm的兇殘,尤其是,一些不注意的條件,就讓shell腳本成為觸發的元兇,

電子資訊不同于現實中的物品,你只要銷毀了它,它可能就真的永遠消失了,就如同靈魂一樣,為了保證一定程度的安全,我們可以把rm命令變成一個垃圾桶,

首先,創建一個垃圾桶,

mkdir ~/.Trash &> /dev/null
chmod 777 ~/.Trash

然后,把原生的rm命令給廢掉,

alias rm="sh /usr/bin/rm.sh"

簡單的rm腳本可能長這個樣子,

#!/bin/bash
 while [ ! -z "$1" ]; do
   mv "$1" ~/.Trash/
   shift
 done

當然,我們這只是一個簡單的腳本,但無論你做的再周詳,也阻止不了誤刪,比如,將rm -R ./lib/寫成了rm -R /lib/

把檔案找回來

在Linux下面,除非是作死的rm -rf /,誤刪一兩個檔案,還是有機會找回來的,要想徹底的銷毀檔案,你需要使用shred命令,

rm刪掉的檔案,其實只是將指向資料塊的索引點(information nodes)釋放,只要不被覆寫,資料其實還在硬碟上,

只要你洗掉檔案之后,沒有再覆寫區塊的資料,那就有很大概率找回來,就像你洗掉了一個運行時的檔案,你使用lsof命令,依然能夠看到/var/log/messages (deleted)類似的字樣,

如果你洗掉的檔案還被別的行程所使用,那么恭喜你,你可以直接找到它,比如使用的行程id是996,那么檔案就躺在/proc/996/fd/下面,

所以不小心刪掉之后,反射弧不宜過長,不能等一兩天之后,突然就一哆嗦:哎吆wocao?我的檔案怎么不見了?

如果并沒有行程使用這些檔案,那就麻煩了一些,首先,你得停止你的爛七八糟的行程,還原一個干干凈凈的機器,免得檔案被覆寫,如果你還不放心,直接unmount磁區,

然后,恢復檔案還得借助工具,比如extundelete

End

如果你因為rm這把刀,傷到了自己,以至于坐牢,那你一定在一個比較2的公司,

有點安全意識到公司,肯定不會因為rm這么兩個字母就停擺了,刪根?不好意思,我們業務機器有多個節點,你只是xx分之一;刪庫?不好意思,我們有熱備冷備,甚至不同的業務有不同的庫表,你認為洗掉物理檔案就能搞死公司,妄想!

但即使如此,也要管住自己的手,因為有些公司斤斤計較,并不是你想象得那么善良,不管你是主觀故意還是因為手抖,最后免不了一堆麻煩,沒人會為低級錯誤擦褲子,只能運行命令的人獨自承受,

在打工、賺錢的同時,首先保護自己才是最重要的,所以,你有啥想不開的?要用rm -rf命令?僅僅是想要弘揚你俠士的風范么?

你要明白,做一個合格的小程式員,小運維,并不比理發師安全多少,寶刀在手,可以削蘋果,可以開瓶蓋,也可以分蛋糕,但從來不會血濺當場,因為我們是文明人,

作者簡介:小姐姐味道 (xjjdog),一個不允許程式員走彎路的公眾號,聚焦基礎架構和Linux,十年架構,日百億流量,與你探討高并發世界,給你不一樣的味道,我的個人微信xjjdog0,歡迎添加好友,進一步交流,

推薦閱讀:

1. 玩轉Linux
2. 什么味道專輯

3. 藍牙如夢
4. 殺機!
5. 失聯的架構師,只留下一段腳本
6. 架構師寫的BUG,非比尋常

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299248.html

標籤:其他

上一篇:CentOS7詳細安裝教程--圖文介紹超詳細

下一篇:爆肝一周,用Python在物聯網設備上寫了個智能語音助手-阿里云智能對話機器人

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more