千家信息网

Linux下使用rm命令需要注意什么

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,小编给大家分享一下Linux下使用rm命令需要注意什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux 下 rm
千家信息网最后更新 2025年01月18日Linux下使用rm命令需要注意什么

小编给大家分享一下Linux下使用rm命令需要注意什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Linux 下 rm 命令是表示删除一个文件,而Linux是没有回收站机制,所以文件一旦删除的话,就彻底从磁盘上删除了。而很多人喜欢加上 -f 选项,是代表强制的意思,更暴力的是删除文件夹的时候使用 rm -rf 命令,这样一来,文件夹本身,以及文件夹下的子子孙孙,都一了百了了。

而万一如果你执行了 rm -rf /* 命令,那无疑效果与下面等同:

由于没有回收站机制,很多人吃过这个亏,良许也是,曾经辛苦写的几个月的代码,一个 rm 命令全部化为乌有,搞得每次执行 rm 命令的时候,手都是颤抖的……

既然Linux没有回收站,那我们能否自己实现一个?答案当然是肯定的。下面,我们就自己动手做一个回收站,给自己一个后悔的机会。

既然罪魁祸首是 rm 命令,那我们就对这个命令进行改造。在Linux下对命令进行重定义是使用 alias 命令,修改的是 .bashrc 文件,即:

vim ~/.bashrc

在文件尾部,我们添加以下几句代码:

mkdir -p ~/.trash alias rm=trashalias r=trashalias rl='ls ~/.trash/' alias ur=undelfile undelfile() {    mv -i ~/.trash/$@ ./ }trash() {    mv -i $@ ~/.trash/ }cleartrash() {    read -p "clear sure?[n]" confirm     [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* }

在这里,我们是在家目录下建立一个 .trash 的隐藏文件夹,作为回收站。然后,我们对 rm 命令进行重定义。当我们执行 rm 或者 r 的时候,将执行 trash 函数。而在 trash 函数里,只做一件事:

mv -i $@ ~/.trash/

就是将 rm 之后所有的文件移动到 .trash 目录下(即模拟丢进回收站)。-i 选项表示如果 .trash 目录有同名文件的话,将提示是否覆盖。

我们将 rl 定义为 ls ~/.trash/ ,也就是说,我们可以通过 rl 来查看 .trash 目录下的文件,即被「删除」的文件。

如果要还原文件,可以执行 ur ,而 ur 将执行 undelfile 函数。在 undelfile 里,又将 ur 之后的文件从 .trash 目录移回到原目录,从而实现文件删除还原。

当过了一段时间后,回收站里文件太多了,我们可以使用 cleartrash 命令清空回收站。它将执行同名函数,调用 /bin/rm 命令将 .trash 目录清空。

.bashrc 文件修改完毕之后,我们要让它生效:

source ~/.bashrc

我们来实际体会一下:

删除文件

alvin@alvin-pc:~/test$ touch file1 file2 file3 alvin@alvin-pc:~/test$ ls file1  file2  file3alvin@alvin-pc:~/test$ rm file1 file2  alvin@alvin-pc:~/test$ r file3

查看回收站文件

alvin@alvin-pc:~/test$ rl file1  file2  file3

还原被删除的文件

alvin@alvin-pc:~/test$ rl file1  file2  file3 alvin@alvin-pc:~/test$ ur file1 alvin@alvin-pc:~/test$ ur file2 alvin@alvin-pc:~/test$ ur file3 alvin@alvin-pc:~/test$ ls file1  file2  file3 alvin@alvin-pc:~/test$ rl alvin@alvin-pc:~/test$

清空回收站

alvin@alvin-pc:~/test$ rm file1 file2 file3 alvin@alvin-pc:~/test$ rl file1  file2  file3alvin@alvin-pc:~/test$ cleartrash clear sure?[n]y alvin@alvin-pc:~/test$ rl alvin@alvin-pc:~/test$

以上是"Linux下使用rm命令需要注意什么"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 命令 回收站 目录 函数 文件夹 时候 篇文章 代码 内容 机制 一了百了 化为乌有 罪魁祸首 这样一来 一来 不怎么 也就是 也就是说 代表 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华为网络安全现状 数据库怎么查询3班有多少人 重庆市委网络安全和信息化 安卓应用软件开发收费标准 新手机网络安全设置 postgre数据库回收站清空 北京招聘网络技术工程师 山西智能软件开发在线咨询 张小娴小说软件开发 银川网络技术咨询服务电话 网络安全进校门的手抄报 关于网络安全的话一段话 北京微梦科网络技术有限公司 蓝牛网络技术有限公司 怎么查看苹果服务器是否正常 我国网络安全工作进入快车道 网络安全测试可能遇到的风险 北京综合软件开发成交价 服务器里面如何进入虚拟机 苹果app软件开发申请 内网ntp时间服务器 梦幻西游比翼鸟服务器 outlook收件服务器 西山区服务器上门回收报价 商品进销存数据库设计 如何把word的数据库中 服务器报警声是什么原因 怎么把表格导入数据库中 jsp 数据库 注入 弱电工程的软件开发
0