linux
linux rm与rm-rf的区别?
一、linux rm与rm-rf的区别?
Linux中的rm -r 和rm -R区别为:用途不同、范围不同、数量不同。
一、用途不同
1、rm -r :rm -r 只能用于删除文件,不能用于删除文件夹。
2、rm -R:rm -R既能用于删除文件,也能用于删除文件夹。
二、范围不同
1、rm -r :rm -r的删除范围是删除当前输入位置的文件。
2、rm -R:rm -R的删除范围是删除当前输入的目录文件夹里文件及其子目录里的文件。
三、数量不同
1、rm -r :rm -r只能删除指定的一个文件,不能同时删除多个文件。
2、rm -R:rm -R既能删除指定的一个文件,也能通过删除指定的一个文件夹实现多个文件的删除。
二、linux rm -rf / 如何恢复?
立刻关机,然后把硬盘送去那些做数据恢复的,接着看运气了。当然如果你的资料不值钱那就没必要了,重装系统就好。
三、linux rm rf命令详解?
rm -rf * 这个命令的意思是:删除当前目录下的所有文件.
一般情况下用不到这个命令,而且这个命令很危险,如果一旦执行,会删除当前目录下所有的文件,而且不能够恢复.因此,应避免使用。
rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
四、如何看待Linux中rm -rf/命令?
操作系统千千万,只有弱智到一定程度的系统才会自己把自己系统删掉。就好像很多年前有个病毒,删硬盘文件把自己也删掉。
五、Linux删除文件:rm命令详解
在使用Linux操作系统时,删除文件是一个常见的操作。其中,rm命令是用来删除文件或目录的主要命令之一。本文将详细介绍如何正确地使用rm命令,以及注意事项和相关技巧。
rm命令基本语法
rm命令的基本语法如下:
rm [option] 文件名
其中,option为可选参数,我们将在下文中逐一解释。
删除文件
要删除一个文件,只需在命令行中输入:
rm file1
这将删除名为file1的文件。
删除目录
如果要删除一个目录及其所有内容,可以使用-r选项:
rm -r directory1
这将递归地删除名为directory1的目录以及其所有内容。
安全删除
有时我们需要避免误删文件,可以使用-i选项,命令会在删除前确认:
rm -i file2
系统会提示“是否删除 file2”,只需输入 y 确认即可。
删除多个文件
要删除多个文件,可以一次性列出所有文件名进行删除:
rm file1 file2 file3
这将删除 file1,file2 和 file3 三个文件。
删除文件夹中的所有文件
有时候需要保留文件夹结构,但清空文件夹内所有文件,可以使用通配符 * 结合 -r 选项:
rm -r folder/*
这将清空名为folder的文件夹中的所有文件,但保留文件夹本身。
小心使用
由于rm命令的删除操作是不可逆的,请务必谨慎使用,尤其是在删除系统文件或者超级用户权限下操作时更要小心。
总结
通过本文的介绍,相信您已经对在Linux系统中使用rm命令来删除文件/目录有了更清晰的了解。合理使用rm命令,可以更高效地管理文件和目录。
感谢您阅读本文,希望能够帮助您更加熟练地使用rm命令进行文件删除操作。
六、Linux有rm -r为什么还要rmdir?
rm -r和rmdir的一个明显区别就是rmdir只能删除空目录,如果删除有文件的目录的话rmdir会提示Directory not empty,但rm -r可以删除含有文件的目录和空目录,它们两者都支持批量删除空目录/有文件的目录。
对于普通用户而言,使用rmdir可以避免误伤其他文件,比如说你想要批量删除一些你认为的空目录,但不确定这些目录中有没有有文件的目录,这时候你就可以使用rmdir命令。
假设test目录为空目录,而test2目录中有文件,使用rmdir会删除空目录而保留有文件的目录:
xx@MacBook-Air ~ % ls
test test2
xx@MacBook-Air ~ % sudo rmdir test test2
rmdir: test2: Directory not empty
xx@MacBook-Air ~ % ls
test 2
但如果你用rm命令进行同样的操作,结果就是两个目录(不管是不是空目录)都会被删除。
我认为rmdir遵循GNU的软件工具哲学(software tools philosophy),原文如下:
Instead, they felt that programs should be specialized tools. In short, each program “should do one thing well.” No more and no less. Such programs are simpler to design, write, and get right—they only do one thing.
中文翻译:
相反,他们认为程序应该是专门的工具。 简而言之,每个程序“都应该做好一件事”。 不多也不少。 这样的程序更易于设计、编写和正确使用——它们只做一件事。
对这一段话,我自己的一句话总结就是:「为每件工作准备一个合适的工具,而不是为所有工作准备一个复杂的工具」
七、如何改善使用Linux的删除命令rm?
想必大家在使用rm命令时最大的困扰,就是它没有像Windows系统那样的回收站功能。
rm
没有回收站,首先,这句话的出发点本身有问题。
rm
只是一个命令行工具而已,回收站功能/和机制并不是针对某一个命令而设定的。即便是Windows下,我们认为回收站是理所当然的,但是,它也是为了防止用户误触、误点击带了一个“垃圾箱”,存储这些被误操作的文件。
如果你在Windows命令行下执行del
、rmdir
命令,它同样会绕过回收站,直接删掉文件,这就是命令行工具的特点。
Linux本身是由一些专业工程师为一些专业用途开发的,而且在最初的Linux版本中压根没有GUI的概念,所有操作都是通过命令行完成,因此原则也是尽可能的简单,它只会通过权限来限定是否可以删除一个文件,而不会在删除过程中加入多余的转存过程,而且保证在做每个操作时,要保证用户能够真实的了解这个动作时干什么用的,而不是在不清楚Linux用途的情况下就盲目的产出,然后再后悔想着恢复。
如果你真的对回收站有这么迫切的需求,可以避开rm
命令,同样有很多方式实现Windows下回收站的功能。
- 创建一个文件夹
recycle
,用于存储那些想要删除,但是不确定后续是否会用到的文件,然后使用mv
把这些文件移动到这个文件夹内; - 使用
trash
或者gvfs-trash
这些命令,然后给它命一个别名alias rm=trash
,这样执行rm
时其实调用的时背后的命令,会把文件移到回收站;
下面,就给大家介绍一个命令行工具,就可以很轻松的解决rm
绕开"回收站"的问题,给rm
加一个类似Windows回收站的功能。
trash-cli
trash-cli
用于将文件移动到回收站,同时会记录文件的原地址、删除日期和权限。
trash-cli
和 KDE、GNOME、XFCE 使用同一个回收站,你可以在命令行或脚本运行trash-cli
。
下面逐步介绍一下它的用法。
安装
简单方法
要求:
Python 3 (Python 2.7 也可以)pip (在 Debian 上用 apt-get install python-pip 来安装 pip)
命令行下执行命令:
pip install trash-cli
源码安装
为所有用户安装:
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
sudo pip install .
为当前用户安装:
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
pip install .
为当前用户安装后你可能需要把以下代码添加到 .bashrc:
export PATH=~/.local/bin:"$PATH"
卸载命令:
pip uninstall trash-cli
包管理工具安装
Debian/Ubuntu (apt):
sudo apt install trash-cli
使用
trash-cli
提供了如下命令:
trash-put 把文件或目录移动到回收站
trash-empty 清空回收站
trash-list 列出回收站文件
trash-restore 恢复回收站文件
trash-rm 删除回收站文件
移动文件到回收站:
$ trash-put
列出回收站文件:
$ trash-list
2008-06-01 10:30:48 /home/andrea/bar
2008-06-02 21:50:41 /home/andrea/bar
2008-06-23 21:50:49 /home/andrea/foo
搜索回收站文件:
$ trash-list | grep foo
2007-08-30 12:36:00 /home/andrea/foo
2007-08-30 12:39:41 /home/andrea/foo
恢复回收站文件:
$ trash-restore
0 2007-08-30 12:36:00 /home/andrea/foo
1 2007-08-30 12:39:41 /home/andrea/bar
2 2007-08-30 12:39:41 /home/andrea/bar2
3 2007-08-30 12:39:41 /home/andrea/foo2
4 2007-08-30 12:39:41 /home/andrea/foo
What file to restore [0..4]: 4
$ ls foo
foo
删除所有回收站文件:
$ trash-empty
删除回收站中 n 天前被回收的文件:
$ trash-empty <days>
设定别名
或许,有的同学觉得每次执行trash-cli
命令比较麻烦,还是觉得rm
更加简单、好记忆。
这样的话,可以通过设定别名的方式,给trash-cli
设定一个rm
的别名,这样,每次执行rm
,实际执行trash-cli
的命令:
$ alias rm="trash-put"
但是,官方并不建议这样使用,因为,trash-cli
和rm
的命令语法并不完全相同,可能存在不兼容的地方。此外,shell的alias
只在交互界面有效,使用脚本运行时无效。
另外,如果你如果怕习惯性的执行rm
命令造成误操作,你可以给 rm 设置一个别名来提醒你不要使用它:
alias rm='echo "This is not the command you are looking for."; false'
如果你真的要用 rm,那就在 rm 前加上斜杠来取消别名:
\rm file-without-hope
文件在哪?
还有一个问题需要回答,执行trash-cli
命令后,被删除的文件放在哪了?
被删除后的文件存放在下面路径,如果删错了,也可以自行移出:
~/.local/share/Trash/
建议大家有空可以多浏览Github,有很多非常优秀的开源项目。但是,目前Github上项目多如牛毛,而且刷榜现在也非常严重,想要找到优质的项目变得越来越难。
这里,给大家推荐Github上一个非常不错的项目《DevWeekly》,这个项目每周都会精挑细选一些优质的开源项目,涵盖C++、JAVA、JavaScript、Python、Go等不同编程语言。此外,还有一些开源工具、优秀的技术文章,喜欢的同学可以Star并收藏一下,每周五会定期更新:
开发者周刊 | DevWeekly八、linux rm删不掉的几种原因?
Linux rm删不掉的原因有:
磁盘部分损坏,具体表现为rm -rf 某个文件时出现输入、输出错误提示。
习惯使用TAB键补全命令,但TAB补全命令的时候,最后是以“/”结尾的。
九、如何恢复linux下被rm后的文件?
rm删之前一定想着备份...
rm删之前一定想着备份...
rm删之前一定想着备份...
误删除以后,文件所在的分区尽可能的不要写数据进去
那块硬盘最好都不要写任何数据
去看一下extundele工具怎么用
十、Linux:sed里面的正则如何精确匹配呢?
按照你这个情况可以使用匹配root作为过滤条件实现 df -h|sed -n '/root/p'
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...