rm -rf 学习

接触linux没多久,在学习过程中也了解linux中rm的作用和会导致的后果。可是在真实的工作中总会出现各样的问题。

  实例,rm的潜在风险。

  在一次执行脚本的过程中看到了不正常的情况。马上终止执行脚本查看自己的脚本文件,发现脚本文件以及工作文档都被删除了,欲哭无泪。不幸中的万幸重要的脚本还有备份。。。。

 查看脚本,找出了问题,所以给大家提醒一个使用rm的潜在风险,有的脚本中写了类似于rm rf ${abc}/*  这种写法,如果abc变量在某种情况下取不到值了,就会变成自动执行rm -rf /*  如果此时正好拥有root权限,那么后果将极其严重,因此建议大家使用rm时应该规范为:先对变量进行判断是否不为空 ,不为空再rm。 例如 [ -n "${abc}" ] && rm -rf ${abc}/* 。

[ -n "${abc}" ]#判断变量abc是否不为空,不为空则执行下一语句。

   解决问题:可以在自己的linux中加入一个回收站。

在~下 .bashrc或者.bash_profile加入
 
 
mkdir -p ~/.trash
alias rm=trash 
ash'

alias ur=undelfile
undelfile()
{
  mv -i ~/.trash/$@ ./
}
trash()
{
  mv $@ ~/.trash/
}
 
这是执行
rm 就相当于执行mv了
 
注:此时已经木有rm -rf了
 
删除的文件会在.trash中出现
 
可以恢复回去
 
 
ur filename
 
 
这就带来一个问题,如何删除回收站里的东西,这是后rm在这里是木有用的
在刚才.bashrc下继续加函数
 
 
cleartrash()
{
    read -p "clear sure?[n]" confirm
    [ $confirm == 'y' ] || [ $confirm == 'Y' ]  && /usr/bin/rm -rf ~/.trash/*
}
 
$. .bashrc
然后,如果想清空回收站的话

$cleartrash就行了 
alias r=trash  
alias rl='ls ~/.tr

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31385999/viewspace-2133680/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31385999/viewspace-2133680/

04-03
<think>嗯,用户问的是“Rm -rf”,我需要先确认这是不是常见的Unix/Linux命令rm -rf。首先,rm是remove的缩,用于删除文件或目录。-r参数通常表示递归删除,而-f是强制删除,不提示确认。所以组合起来rm -rf命令应该是强制递归删除指定目录及其所有内容。 不过,用户可能对这个命令的具体用法和危险不太清楚。我需要详细解释每个参数的作用,以及使用时的注意事项。比如,rm -rf / 这样的命令极其危险,会删除整个系统文件,必须警告用户避免使用。同时,应该提到恢复删除的文件很困难,建议在使用前备份数据,并仔细检查路径是否正确。 另外,用户可能是在学习Linux命令,所以需要以清晰的结构分步骤介绍,确保他们理解每个部分。还要注意语法是否正确,比如命令的正确法是rm -rf,中间有空格,而用户的是Rm -rf,首字母大可能在某些系统上不识别,因为Linux区分大小。这也是需要提醒的地方。 最后,要确保回答符合系统级指令,使用中文,行内公式正确(虽然这个问题可能不需要数学公式,但如果有的话要检查),结构清晰,分点说明,并强调安全使用的重要性。可能还需要举一些例子,比如正确删除目录的例子,以及错误使用的后果,帮助用户加深理解。</think>`rm -rf` 是 Linux/Unix 系统中的一条**高危命令**,用于强制递归删除文件或目录。以下是分步解析: --- ### 1. **命令组成** - **`rm`**:英文 "remove" 的缩,基础删除命令。 - **`-r`**(或 `-R`):递归(recursive)删除,用于删除目录及其所有子内容(文件、子目录等)。 - **`-f`**:强制(force)模式,忽略确认提示和错误警告。 --- ### 2. **典型用法** ```bash rm -rf 目录名或路径 ``` 示例: ```bash rm -rf /tmp/old_files # 强制删除 /tmp/old_files 目录及其所有内容 ``` --- ### 3. **高危场景** - **`rm -rf /`** 或 **`rm -rf /*`**: 删除根目录下的所有文件(包括系统文件),导致系统崩溃。 - **路径拼错误**: 例如 `rm -rf ~/Docuements`(正确应为 `Documents`),可能误删其他目录。 --- ### 4. **注意事项** - ⚠️ **绝对避免通配符滥用**: `rm -rf *` 会删除当前目录所有内容;若在错误路径下执行,后果严重。 - ✅ **建议替代操作**: - 先用 `ls` 确认路径:`ls 目录名` - 使用回收站工具(如 `trash-cli`)替代直接删除。 - 💾 **数据备份**: 删除关键数据前务必备份(如 `cp -r 原目录 备份目录`)。 --- ### 5. **误删恢复** - 常规删除后难以恢复,需依赖专业工具(如 `extundelete`、`testdisk`)或备份。 - 若系统崩溃,需重装系统或从备份恢复。 --- ### 总结 `rm -rf` 是高效的清理工具,但必须严格遵循以下原则: 1. **三重检查路径** 2. **避免根目录操作** 3. **优先使用安全删除工具**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值