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

Linux Shell 從入門到刪除根目錄跑路指南

系統(tǒng) Linux 系統(tǒng)運(yùn)維
shell作為一門 linux 下使用廣泛的系統(tǒng)語言,語法簡單,上手容易,但是想要用好,少犯錯(cuò)誤,也不是那么容易的一件事,可謂雖是居家旅行之良藥,但也是殺人滅口之利器~

shell作為一門 linux 下使用廣泛的系統(tǒng)語言,語法簡單,上手容易,但是想要用好,少犯錯(cuò)誤,也不是那么容易的一件事,可謂雖是居家旅行之良藥,但也是殺人滅口之利器~

今天就來聊聊 linux 下一個(gè)常見的問題:如何避免誤刪目錄。下文會詳細(xì)的講述不同的場景下誤刪目錄,以及相應(yīng)的解決方案。

1、變量為空導(dǎo)致誤刪文件

  1. base_path=/usr/sbin 
  2. tmp_file=`cmd_invalid` 
  3. # rm -rf $base_path/$tmp_file 

這種情況下如果 cmd 執(zhí)行出錯(cuò)或者返回為空,后果將是災(zāi)難性的,那如何防范呢?

(1)利用 shell 的變量擴(kuò)展功能,如果變量為空賦給默認(rèn)值或者拋出異常退出腳本:

  1. echo ${base_path:?var is empty}/${tmp_file:?var is empty}  
  2. -bash: tmp_file: var is empty 

(2)人肉判斷變量是否為空:

  1. [[ ${tmp_file} == "" ]] && echo 1 
  2. [[ -z ${tmp_file} ]] && echo 1 

(3)如果變量未定義還可以開啟 set 選項(xiàng):

  1. # cat a.sh 
  2. set -u 
  3. b= 
  4. echo $b 
  5. echo $a 
  6. echo 1 
  7. # bash a.sh 
  8. a.sh: line 4: a: unbound variable 

2、路徑含有空格導(dǎo)致誤刪文件

史上最經(jīng)典的要數(shù)下面這個(gè)bumblebee項(xiàng)目了,這個(gè)項(xiàng)目本來不出名,不過,程序在其安裝腳本install.sh里的一個(gè)bug讓這個(gè)項(xiàng)目一下子成了全世界最矚目的項(xiàng)目。

那我們該如何防范這種問題呢?

(1)良好的編程習(xí)慣:變量加引號防止擴(kuò)展

  1. path="/usr/local /sbin"  
  2. # rm -rf $path  
  3. rm -rf "$path" 

(2)對變量進(jìn)行語義檢查

比如檢測是否含有空格等特殊字符,不通用,不推薦這么做

3、目錄或文件含有特殊字符導(dǎo)致誤刪文件

  1. ll  
  2. 總用量 8  
  3. drwxrwxr-x 2 work work 4096 11月 24 18:57 '~'  
  4. -rw-rw-r-- 1 work work 34 11月 24 19:49 a.sh  
  5. # rm -rf ~ 

那我們該如何防范這種問題呢?

(1)良好的編程習(xí)慣:變量加引號防止擴(kuò)展

  1. rm -rf "~" 

(2)如果不確定,刪除之前 echo 或 find 一下,看變量被擴(kuò)展成啥了

  1. echo rm -rf "~"  
  2. rm -rf ~  
  3. echo rm -rf ~  
  4. rm -rf /home/work 

4、cd 切換目錄失敗,導(dǎo)致文件被誤刪

  1. cd ooxx_path_not_exsit  
  2. rm -rf *.exe 

恭喜這種情況下你的當(dāng)前目錄下匹配文件都會被誤刪,那我們該如何防范這種問題呢?

(1)使用邏輯短路操作

  1. cd path && rm -rf *.exe 

(2)檢測 path 是否存在

  1. [[ -d ~ ]] && echo 1  

5、***解決方案

不要使用 root 操作系統(tǒng)資源,這樣至少不會刪除系統(tǒng)文件。

6、在登錄 shell 下使用友好的提示符

友好的命令提示符能時(shí)刻提醒操作者當(dāng)前在哪個(gè)路徑下,避免錯(cuò)誤的路徑下操作文件。

 

OK,本文到此就結(jié)束了,列舉了一些常見的case和解決方案,希望能對大家有所啟發(fā),如果有其他的 case 和建議也歡迎交流~

責(zé)任編輯:武曉燕 來源: 開源社區(qū)博客
相關(guān)推薦

2018-03-07 16:55:16

Linux命令刪除根目錄

2024-07-03 10:09:29

2012-02-29 00:49:06

Linux學(xué)習(xí)

2024-09-06 17:45:55

Linux磁盤

2023-05-09 08:34:51

PythonWith語句

2017-03-25 20:30:15

2014-04-21 15:01:15

2012-01-18 09:46:32

Shell

2017-09-11 10:09:59

刪庫DBA淘汰

2012-11-27 15:41:41

2011-01-10 13:21:45

linuxsamba

2017-06-26 09:15:39

SQL數(shù)據(jù)庫基礎(chǔ)

2012-11-27 15:46:51

堆棧溢出

2025-01-07 14:42:09

2018-09-21 16:30:55

2025-02-24 10:07:10

2023-11-08 08:32:16

2025-06-23 10:20:00

開源機(jī)器學(xué)習(xí)PyTorch

2013-06-06 13:42:48

OSPF入門配置

2022-06-10 08:17:52

HashMap鏈表紅黑樹
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 午夜久久av | a级在线| 成人毛片视频免费 | 亚洲在线 | 91精品国产一区二区三区动漫 | 午夜精品一区 | 在线国产视频 | 亚洲一区二区三区四区五区中文 | 91超碰caoporn97人人 | 国产成人综合在线 | 亚洲人精品 | 国产精品久久久久久av公交车 | 蜜桃在线播放 | 黄一区二区三区 | 国产精品久久国产精品 | 在线看亚洲 | 婷婷久久综合 | 亚洲精品日韩在线 | 一区二区三区免费 | 免费在线视频精品 | 中文字幕精品一区二区三区精品 | 亚洲国产情侣 | 中文字幕在线观 | 日韩一区精品 | 成人免费大片黄在线播放 | wwwsihu| 精品国产欧美一区二区 | 久久中文免费视频 | 青娱乐av| 97av视频在线| 天天干天天爽 | 中文字幕一区二区三区四区五区 | 怡红院成人在线视频 | 国产成人精品久久二区二区91 | 一级片免费视频 | 99在线免费观看视频 | jizz中国日本 | 精品免费av | 一级大黄| 国产999精品久久久久久 | 国产一区二区在线免费观看 |