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

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

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

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

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

1、變量為空導致誤刪文件

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

這種情況下如果 cmd 執行出錯或者返回為空,后果將是災難性的,那如何防范呢?

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

  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 選項:

  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、路徑含有空格導致誤刪文件

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

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

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

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

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

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

3、目錄或文件含有特殊字符導致誤刪文件

  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)良好的編程習慣:變量加引號防止擴展

  1. rm -rf "~" 

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

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

4、cd 切換目錄失敗,導致文件被誤刪

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

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

(1)使用邏輯短路操作

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

(2)檢測 path 是否存在

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

5、***解決方案

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

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

友好的命令提示符能時刻提醒操作者當前在哪個路徑下,避免錯誤的路徑下操作文件。

 

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

責任編輯:武曉燕 來源: 開源社區博客
相關推薦

2018-03-07 16:55:16

Linux命令刪除根目錄

2024-07-03 10:09:29

2012-02-29 00:49:06

Linux學習

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

2017-09-11 10:09:59

刪庫DBA淘汰

2012-01-18 09:46:32

Shell

2012-11-27 15:41:41

2011-01-10 13:21:45

linuxsamba

2017-06-26 09:15:39

SQL數據庫基礎

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

開源機器學習PyTorch

2013-06-06 13:42:48

OSPF入門配置

2019-07-02 14:17:18

API網關網關流量
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合激情 | 亚洲精品乱码久久久久久9色 | 日韩成人免费视频 | 黄网站免费入口 | 999热精品视频 | 国产精品污www一区二区三区 | 国产91在线精品 | 91黄色片免费看 | 成人精品久久 | 国产精品久久久久久久久免费桃花 | av在线播放网站 | 一级久久久久久 | 日韩午夜一区二区三区 | 亚洲免费在线观看 | 久久久女女女女999久久 | 亚洲精品高清视频在线观看 | 国产成人福利在线观看 | 伊人久久免费视频 | 成人久久18免费网站图片 | 黄色在线免费看 | xxxxxx国产| 免费国产一区二区 | 男女免费在线观看视频 | 精品国产区 | 亚洲电影一区二区三区 | 看一级毛片视频 | 一级片子 | 一区二区在线不卡 | 在线视频第一页 | 亚洲综合久久久 | 密色视频 | 亚洲视频中文字幕 | 日韩av一二三区 | 99精品欧美一区二区蜜桃免费 | 午夜免费观看网站 | 91网视频 | 国产精品久久久久久久久久久新郎 | 操操日| 日本免费视频 | 欧洲高清转码区一二区 | 免费黄色录像片 |