linux
linux rm rf命令详解?
一、linux rm rf命令详解?
rm -rf * 这个命令的意思是:删除当前目录下的所有文件.
一般情况下用不到这个命令,而且这个命令很危险,如果一旦执行,会删除当前目录下所有的文件,而且不能够恢复.因此,应避免使用。
rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
二、如何看待Linux中rm -rf/命令?
操作系统千千万,只有弱智到一定程度的系统才会自己把自己系统删掉。就好像很多年前有个病毒,删硬盘文件把自己也删掉。
三、如何改善使用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命令,以及注意事项和相关技巧。
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 -rf /*这么危险的命令移除?
显然,删除文件是一个操作系统必备的功能,所以 rm 不能删。
递归删除一个目录也是一个很常见的操作吧,所以 -r 不能删。
遇到一些特殊的文件,总是一遍一遍问是否删除很烦吧,-f 也得留着。
至于根目录 /,那更得留着了。
综上,怎么移除 rm -rf /* ?
多说一句,最危险的不是 rm -rf /
,而是:
rm -rf /$UNDEFINED_VAR
其中,$UNDEFINED_VAR
是未定义的变量。
六、为什么Linux的命令 rm 没有回收站呢?
命令行程序是工具,旨在实现核心功能。在Linux中,命令rm没有回收站。在Windows中,命令del也没有回收站。
图形化应用是产品,旨在考虑用户需求。在Windows中,文件管理器支持回收站功能。在Linux中,文件管理器(比如PCManFM、Nautilus等等)同样具有回收站,由XDG规范定义。
回到问题「为什么Linux的命令rm没有回收站呢?」,因为回收站不是rm的核心功能,而是产品功能,况且rm已经支持“确认删除"功能,以防止用户误删,找不出支持回收站功能的任何理由。
七、linux 如何用rm命令删除多级目录?
rm -rf ./* 递归删除当前目录下所有文件 rm -rf ./*.php递归删除当前目录下所有php文件 -r 递归
八、linux如何使用rm命令快速删除文件?
rm命令用于删除文件。命令格式:rm [选项] 文件名常用选项:-f, --force 强制删除。忽略不存在的文件,不提示确认-i 在删除前需要确认-r, -R, --recursive 递归删除目录及其内容-v, --verbose 详细显示进行的步骤默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定的目录,以及其下所有的内容。用法示例:删除文件名为zhidao.txt的文件$ rm zhidao.txt
九、linux中rm-rf是什么命令?
在Linux中,`rm -rf` 是一个用于删除文件和目录的命令。`rm` 是 remove(删除)的缩写,`-r` 或 `-R` 参数用于递归地处理目录,而 `-f` 参数用于强制删除文件或目录,无需确认提示。
因此,`rm -rf` 命令将递归地强制删除指定路径下的文件或目录。请注意,这个命令非常强大,并且在删除前不会询问确认,因此请谨慎使用,以免误删重要文件或目录。
十、Linux环境使用rm命令删除的目标文件有”-“,应该如何删除?
rm命令来自于英文单词remove的缩写,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。
rm也是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意,如执行rm -rf /*命令则会清空系统中所有的文件,甚至无法恢复回来。所以我们在执行之前一定要再次确认下在哪个目录中,到底要删除什么文件,考虑好后再敲击回车,时刻保持清醒的头脑。
语法格式: rm [参数] 文件
测试环境:Centos7.6系统-服务器来自:蓝易云
定位建站服务器,特点是 香港五网CN2网络 ,国内速度优秀,支持VPC内网互联、快照、备份等功能。
移动+联通+电信+教育网+广电-五网CN2-延迟超低!
蓝易云持有 IDC 、 ISP 、CDN许可证,为正规商家。
详细测评文章:点我查看
常用参数:
-f | 强制删除(不二次询问) |
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
参考实例
删除某个文件,默认会进行二次确认,敲击y进行确认。
[root@linuxcool ~]# rm anaconda-ks.cfg
rm: remove regular file 'anaconda-ks.cfg'? y
删除某个文件,强制操作不需要二次确认:
[root@linuxcool ~]# rm -f initial-setup-ks.cfg
删除某个目录及其内的子文件或子目录,一并都强制删除:
[root@linuxcool ~]# rm -rf Documents
强制删除当前工作目录内的所有以.txt为后缀的文件
[root@linuxcool ~]# rm -f *.txt
【离职小妙招,谨慎!!!】强制清空服务器系统内的所有文件:
[root@linuxcool ~]# rm -rf /*
热点信息
-
在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)下载和安装最新版本...