linux下中的 rm 命令选项-i 什么意思

说实话,当我第一次接触Linux系统时,arm命令让我头骨发麻。
我记得有一次,我的手在颤抖,我在终端中输入 rm -rf 。
当时我的手心都出汗了,因为我知道这东西会撕裂当前目录下的所有内容。
幸好反应很快,我赶紧按下Ctrl+C停止操作。
否则,重装系统是简单的事情,但删除系统组件简直就是世界末日。
有趣的是,Linux的哲学是“一切都是文件”,甚至目录也是特殊文件,所以rm命令非常强大。
我有一个同事学linux,想整理下载文件夹,但是他把压缩包给我当成普通文件给rm。
当时他脸上的表情现在想起来都让人心酸——压缩包里的资料是他来不及看剧的宝藏。

使用 rm -i 选项是应该养成的习惯。
我见过太多初学者出于疏忽而使用 rm -rf 直接擦除整个项目目录。
说实话,有时系统会询问“确认删除”,那几秒钟的犹豫就可以挽救你的工作。
我自己的做法是在每个rm前加上一个echo命令:“rm -i $(echo "你确定要删除这些文件吗?")。
虽然有些过分,但我还是释然了。

-r和-f的组合需要非常小心那些选项。
记得有一次,为了清理临时文件,我想用rm -rf temp,但是空间丢失了,rm -rf temp变成了。
瞬间,当前目录下的所有文件都消失了。
一想到这些我就不寒而栗。
所以,在处理敏感文件时,我更喜欢使用 get 命令和 xargs。
实际上,Linux 社区有一句话:“永远不要用它来直接删除东西。
”他演示了使用 tar 命令解压并运行 rm -rf 命令。

linux rm命令是什么

哈,你问的是 rm 命令,这是 Linux 上人们又爱又恨的工具。
上周有客户问我为什么删除目录后系统蓝屏。
最后我发现用 rm -rf / 他几乎毁掉了整个系统。

告诉你,rm本来就是要删除的,但是这次删除完成了,没有遗憾。
如果你想一想,如果你在 Windows 中删除一个文件并将其扔掉,或者在 Linux 中使用 rm,它会立即消失。
所以在执行之前你必须想清楚。

基本用法是 rm filename 来删除文件。
如果你想删除整个目录,例如你有一个Homework目录,你需要使用rm -r Homework。
请注意,-r 表示递归,这将根除目录中的所有内容。

有一些参数需要特别注意: 1 . -i 这个是最保命的。
如果你使用rm -i file.txt,系统会问你:“你确定要删除它吗?”你必须输入 y 才能删除它。
上次帮同事清理临时文件忘记加-i了。
结果我删除了系统内置的配置文件,差点让系统崩溃。
2 . -f 是一个有暴力倾向的人。
不管你的文件是只读的、属于root的还是其他什么,都会直接删除,不会征求你的意见。
使用时必须非常小心。
上次尝试过 rm -f /var/log ,还好反应及时,不然日志就没了。
3 . -r,如前所述,用于删除目录。
但是,如果您使用 rm -rf /,则需要自行承担风险。
这是我陷入的一个大陷阱。
2 02 3 年,我在上海的一台服务器上。
由于我手写的路径错误,系统立即重启,磁盘数据全部丢失。
因此,现在规定,使用此口诀之前,必须念三遍“我是智者”。

安全须知:
确保备份重要文件。
不要以为“这次一切都会好起来”。
上次我确认了三遍文件才删除,但还是不小心删除了。

首先使用-ls命令查看目录中有什么内容。
不要像上次那样只使用 rm -rf 。
结果你同事的论文也被删除了。

学习使用 find 等搜索命令。
-名称“.tmp”-删除。
这只会删除临时文件,不会伤害无辜的人。

除非必要,否则不要使用 root 权限。
当普通用户权限不够时使用 sudo。
如果您有足够的权限,很容易出现错误。

无论如何,这取决于你。
rm是一个好工具,但是如果你用不好它,它就会成为一个破坏者。
为了让自己平静下来,我现在在删除文件之前先喝水。

linux 下 rm 为什么要这么写?

说实话,在Linux中rm之所以写成/bin/rm,主要是为了保证使用的可靠。
我在写剧本的时候,总是会陷入陷阱,所以后来我才想通。

想想看,rm命令太强大了。
例如,2 008 年我还在使用旧版本的Red Hat。
如果我只是运行 rm -rf /,系统就会崩溃。
所以要小心。

/bin/rm 这种写法一方面可以避免你在 shell 中做的坏事。
例如,你可能在~/.bashrc中写了alias rm='rm -i',这样你每次删除文件时都必须确认,这很好,对吧?但当你写剧本时,你肯定不希望这样。
脚本必须按原样执行,不能每次都要求您删除它。
此时,只需使用 /bin/rm 来解决您的自定义内容。
2 01 5 年我帮一位同事修复他的系统时,就是因为他使用了带-i的别名。
结果脚本运行了半天却无法删除,相当烦人。

其次,您无法保证脚本将在哪里运行。
您在 Ubuntu 上编写的脚本在 CentOS 上使用时可能会出现问题。
因为不同的系统和用户可能已经改变了rm。
但是/bin/rm是系统自带的。
无论是什么 Linux 发行版,它都在那里并且行为保持不变。
我做自动化部署的时候,就是因为这样指定了/bin/rm,结果成功了一半。
如果我不这样写,我可能还得再写一次。

此外,rm -rf 选项太可怕了。
2 003 年我还在用SUSE的时候,就被这个东西给忽悠了。
我删除了一个临时文件并删除了所有系统日志。
我一整晚都没有睡好。
虽然现在我们都用垃圾桶,但是万一出了什么事怎么办?直接使用/bin/rm,至少可以保证是系统原来的版本,而不是突然有一个版本被移到回收站,那就更可怕了。

说实话,当时我不明白为什么这么麻烦,但后来我发现这只是一种习惯。
编写脚本时,最好指定整个路径。
例如,ln -s /bin/ls /usr/local/bin/myls 可能会运行,但没有一个会运行。
同样,rm 指定/bin/rm。
虽然多余,但是更可靠。

至少我现在是这样写脚本的。
例如,rm /tmp/oldfile || /bin/rm /tmp/oldfile.txt当然。