返回顶部
首页 > 资讯 > 操作系统 >Linux Shell误删除根目录怎么解决
  • 108
分享到

Linux Shell误删除根目录怎么解决

2023-06-16 15:06:27 108人浏览 独家记忆
摘要

这篇文章主要介绍“linux shell误删除根目录怎么解决”,在日常操作中,相信很多人在Linux Shell误删除根目录怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux Shell误删除根

这篇文章主要介绍“linux shell误删除根目录怎么解决”,在日常操作中,相信很多人在Linux Shell误删除根目录怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux Shell误删除根目录怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、变量为空导致误删文件

base_path=/usr/sbin tmp_file=`cmd_invalid` # rm -rf $base_path/$tmp_file

这种情况下如果 cmd 执行出错或者返回为空,后果将是灾难性的,那如何防范呢?

(1)利用 shell 的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本:

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

(2)人肉判断变量是否为空:

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

(3)如果变量未定义还可以开启 set 选项:

# cat a.sh set -u b= echo $b echo $a echo 1 # bash a.sh a.sh: line 4: a: unbound variable

2、路径含有空格导致误删文件

史上最经典的要数下面这个bumblebee项目了,这个项目本来不出名,不过,程序在其安装脚本install.sh里的一个bug让这个项目一下子成了全世界最瞩目的项目。

Linux Shell误删除根目录怎么解决

那我们该如何防范这种问题呢?

(1)良好的编程习惯:变量加引号防止扩展

path="/usr/local /sbin"  # rm -rf $path  rm -rf "$path"

(2)对变量进行语义检查

比如检测是否含有空格等特殊字符,不通用,不推荐这么做

3、目录或文件含有特殊字符导致误删文件

Linux Shell误删除根目录怎么解决

Linux Shell误删除根目录怎么解决

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

那我们该如何防范这种问题呢?

(1)良好的编程习惯:变量加引号防止扩展

rm -rf "~"

(2)如果不确定,删除之前 echo 或 find 一下,看变量被扩展成啥了

echo rm -rf "~"  rm -rf ~  echo rm -rf ~  rm -rf /home/work

cd 切换目录失败,导致文件被误删

cd ooxx_path_not_exsit  rm -rf *.exe

恭喜这种情况下你的当前目录下匹配文件都会被误删,那我们该如何防范这种问题呢?

(1)使用逻辑短路操作

cd path && rm -rf *.exe

(2)检测 path 是否存在

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

5、***解决方案

不要使用 root 操作系统资源,这样至少不会删除系统文件。

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

友好的命令提示符能时刻提醒操作者当前在哪个路径下,避免错误的路径下操作文件。

Linux Shell误删除根目录怎么解决

Linux Shell误删除根目录怎么解决

到此,关于“Linux Shell误删除根目录怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Linux Shell误删除根目录怎么解决

本文链接: https://lsjlt.com/news/284099.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux Shell误删除根目录怎么解决
    这篇文章主要介绍“Linux Shell误删除根目录怎么解决”,在日常操作中,相信很多人在Linux Shell误删除根目录怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux Shell误删除根...
    99+
    2023-06-16
  • Linux用户删除根目录会怎么样
    本篇内容介绍了“Linux用户删除根目录会怎么样”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一个朋友今天突然问我这个问题,我一时也回答不出...
    99+
    2023-06-16
  • linux误删根目录如何恢复
    如果误删了Linux系统的根目录,恢复的方法取决于您是否有备份以及您的具体情况。以下是一些恢复根目录的可能方法:1. 使用Live ...
    99+
    2023-08-20
    linux
  • linux无法删除空目录怎么解决
    如果您无法删除一个空目录,可能是因为以下几个原因: 没有足够的权限:请确保您有足够的权限来删除目录。您可以使用 `ls -l` ...
    99+
    2023-10-25
    linux
  • Linux怎么删除目录
    本文小编为大家详细介绍“Linux怎么删除目录”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux怎么删除目录”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。使用桌面文件管理器删除目录时,该目录实际上已移至“...
    99+
    2023-06-28
  • linux怎么删除目录及其子目录
    要删除一个目录及其子目录,可以使用rm命令的-r或者-R选项。这两个选项都表示递归删除目录及其子目录。命令的格式如下:rm -r 目...
    99+
    2023-09-27
    linux
  • linux目录删除不了如何解决
    如果你在Linux系统中遇到无法删除目录的问题,可以尝试以下几种解决方法:1. 使用sudo命令:使用sudo命令以管理员权限执行删...
    99+
    2023-08-23
    linux
  • linux根目录空间不足怎么解决
    当Linux根目录空间不足时,可以采取以下几种方法来解决问题: 删除不必要的文件:首先要检查根目录下是否有大量的不必要文件或日志...
    99+
    2024-04-20
    linux
  • linux怎么删除非空目录
    要删除一个非空目录,可以使用命令`rm`或`rmdir`来删除目录。但是,如果目录中包含子目录或文件,则无法使用`rmdir`来删除...
    99+
    2023-09-28
    linux
  • 腾讯云服务器根目录怎么删除
    步骤一:打开腾讯云服务器管理界面 在登录腾讯云服务器的时候,可以通过点击“登录/注销”按钮来切换到“管理界面”,然后在“管理面板”中选择要删除的服务器,进入服务器的根目录管理界面。 步骤二:选择要删除的服务器 在根目录管理界面中,选择要删...
    99+
    2023-10-27
    腾讯 根目录 服务器
  • 怎么在Linux上恢复误删除的文件或目录
    这篇文章主要介绍“怎么在Linux上恢复误删除的文件或目录”,在日常操作中,相信很多人在怎么在Linux上恢复误删除的文件或目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在Linux上恢复误删除的文件...
    99+
    2023-06-15
  • linux根目录满了无法开机怎么解决
    当Linux根目录满了,无法开机时,可以尝试以下解决方法:1. 使用Live CD或USB启动系统:通过使用Live CD或USB,...
    99+
    2023-08-17
    linux
  • 腾讯云服务器根目录怎么删除不了
    首先,你需要在云上删除腾讯云服务器的根目录。你可以通过腾讯云控制台或腾讯云服务器管理工具来执行此操作。 如果你需要在控制台上执行此操作,你可以使用命令行工具,如PowerShell。以下是在命令行上删除腾讯云服务器根目录的步骤: 在命令...
    99+
    2023-10-28
    腾讯 根目录 服务器
  • linux怎么强制删除非空目录
    在Linux中,可以使用`rm`命令来删除非空目录。默认情况下,`rm`命令不会删除非空目录,但可以使用`-r`选项来递归删除目录和...
    99+
    2023-09-01
    linux
  • Linux下怎么删除目录软连接
    这篇文章主要介绍“Linux下怎么删除目录软连接”,在日常操作中,相信很多人在Linux下怎么删除目录软连接问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么删除目录软连接”的疑惑有所帮助!接下来...
    99+
    2023-06-28
  • linux怎么回到根目录
    在Linux系统中,要返回到根目录可以使用以下命令:1. 使用cd命令:输入cd /即可返回到根目录。2. 使用cd命令的绝对路径:...
    99+
    2023-10-08
    Linux
  • php怎么删除目录
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么删除目录 PHP rmdir():删除目录同普通文件类似的,如果确认某个目录已经不会被使用了,那么就可以把这个目录删除。在 PHP 中可以使用 rmdir() ...
    99+
    2017-04-08
    php 目录
  • mongodb怎么删除目录
    MongoDB是一个文档型数据库,它不像文件系统那样有目录的概念。MongoDB中的数据存储在集合(collection)中,而集合...
    99+
    2023-09-04
    mongodb
  • ubuntu怎么删除目录
    要删除一个目录,可以使用命令`rm`或者`rmdir`。下面是两个删除目录的方法:1. 使用`rm`命令:```rm -r 目录名`...
    99+
    2023-08-23
    ubuntu
  • Linux下怎么定时删除目录文件
    这篇文章主要介绍了Linux下怎么定时删除目录文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux下怎么定时删除目录文件文章都会有所收获,下面我们一起来看看吧。要实现定时删除某个目录下的所有文件需要用到...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作