标签: rm

如果文件不存在,如何使 rm 不出错?

我正在编写一个 makefile,它将在编译结束时清理一些无用的文件。如果已经创建了一个目标,它当然会跳过该目标,而无用的文件可能不存在。所以如果我这样做:

rm lexer.ml interpparse.ml interpparse.mli
Run Code Online (Sandbox Code Playgroud)

我可能会收到错误,因为其中一个文件不存在。有没有办法告诉rm忽略这些文件?

在阅读手册页时,我看到以下选项:

 -f          Attempt to remove the files without prompting for confirma-
             tion, regardless of the file's permissions.  If the file does
             not exist, do not display a diagnostic message or modify the
             exit status to reflect an error.  The -f option overrides any
             previous -i options.
Run Code Online (Sandbox Code Playgroud)

这听起来几乎是我想要的,但我不太确定权限部分。有没有办法做到这一点?

shell rm makefile

431
推荐指数
8
解决办法
37万
查看次数

使用“rm -rf /”命令你能走多远?

我经常想知道如果你运行rm -rf /. 我怀疑操作系统是否能够自行擦除(?)

额外问题:命令执行后,会rm自行删除吗?

更新: 我已经使用 VirtualBox 在几个主要的 unix 发行版中对此进行了测试,答案准确地描述了会发生什么。如果给出正确的参数,rm 将删除磁盘上的每个物理数据位。但是,在使用 rm 版本而不是 GNU 版本时,我遇到了一些问题。例如,我相信 BusyBox 有自己的版本,它不会让您尽可能多地删除。

这个问题是本周超级用户问题
阅读 2011 年 7 月 7 日的博客条目以了解更多详细信息或提交您自己的本周问题。

unix filesystems rm

202
推荐指数
6
解决办法
2万
查看次数

如何删除目录中除某些文件外的所有文件?

我需要删除目录中的所有文件,但排除其中一些文件。例如,在包含 files 的目录中a b c ... z,我需要删除除uand之外的所有内容p。是否有捷径可寻?

linux bash rm

127
推荐指数
8
解决办法
15万
查看次数

撤消“rm -rf ~”命令?

我有一个我不想命名为“~”的文件夹,所以我从命令行输入

rm -rf ~
Run Code Online (Sandbox Code Playgroud)

并意外删除了我的主文件夹(因为 ~ 解析为 /home/username)。有什么办法可以恢复还是我基本上需要从头开始重新创建帐户?

linux rm

119
推荐指数
5
解决办法
14万
查看次数

rm -rf 是否遵循符号链接?

我有一个这样的目录:

$ ls -l
total 899166
drwxr-xr-x 12 me scicomp       324 Jan 24 13:47 data
-rw-r--r--  1 me scicomp     84188 Jan 24 13:47 lod-thin-1.000000-0.010000-0.030000.rda
drwxr-xr-x  2 me scicomp       808 Jan 24 13:47 log
lrwxrwxrwx  1 me scicomp        17 Jan 25 09:41 msg -> /home/me/msg
Run Code Online (Sandbox Code Playgroud)

我想使用rm -r.

但是我害怕rm -r会遵循符号链接并删除该目录中的所有内容(这非常糟糕)。

我在手册页中找不到任何关于此的内容。rm -rf从上面的目录运行的确切行为是什么?

linux unix bash symbolic-link rm

84
推荐指数
3
解决办法
5万
查看次数

Linux下如何恢复被删除的文件?

偶然地,我使用rm了一个我不想删除的文件。有什么方法可以让我在 Linux 下恢复它?

linux rm file-recovery

69
推荐指数
7
解决办法
32万
查看次数

我需要使用什么命令来删除名为“-rf”的文件?

我在某个时候做了一些疯狂的事情,-rf在我的文件系统上创建了一个文件。
现在不知道怎么删了。。。

我试过了:

rm "-rf"
rm \-rf
Run Code Online (Sandbox Code Playgroud)

这些只是立即退出,啊!

有谁知道怎么删除这个文件?最好不要意外清理我的整个文件夹。

unix rm

68
推荐指数
6
解决办法
8605
查看次数

使用正则表达式删除文件

我试图删除以 A 开头并以 2 个数字结尾的文件,但它没有做任何事情。
我试过的:

rm ^A*[0..9]2$
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

unix bash regex rm

68
推荐指数
3
解决办法
12万
查看次数

尝试使用“rm -rf”删除目录,但收到不为空的消息

我尝试使用“rm -rf”删除目录,但收到消息“目录不为空”:

Bens-MacBook-Pro:please benjaminhocking$ ls -lart empty_directory/
total 16
drwxr-xr-x  5 benjaminhocking  staff  170 Aug 27 14:46 .
drwxr-xr-x  3 benjaminhocking  staff  102 Aug 27 15:28 ..
Bens-MacBook-Pro:please benjaminhocking$ rm -rf empty_directory/
rm: empty_directory/: Directory not empty
Bens-MacBook-Pro:please benjaminhocking$ rmdir empty_directory/
rmdir: empty_directory/: Directory not empty
Run Code Online (Sandbox Code Playgroud)

如果我使用 Finder 尝试同样的事情(将文件夹拖到废纸篓),我会收到消息

操作无法完成,因为项目“empty_directory”正在使用中。

我试过这样做xattr -d com.apple.quarantine,纯粹是出于迷信,但没有任何好处。

一个可能重要的上下文是,该目录最初位于一个目录中,该目录应该由我在终端锁定我之前发出的“make clean”命令删除,之后我拥有的其他程序的一半多一点运行也被锁定,包括 Skype,最终是操作系统本身。我最终不得不通过按住电源键重新启动计算机。

编辑添加:我遗漏的另一条重要信息是,这发生在一个加密文件夹 à la 中encfs。我能够在事物的加密方面找到相应的文件夹并将其删除。我仍然不知道为什么我不能像往常一样从解密的方面做到这一点。我暂时不回答这个问题,以防有人对此有一个好的答案。

finder rm disk-encryption macos

53
推荐指数
3
解决办法
14万
查看次数

Linux – 无法删除拥有 777 权限的文件

我有几个文件无法使用rf -Rf命令删除。我是这些文件的所有者,分配给这些文件的组也是我的用户所在的组。更奇怪的是我可以编辑他们的内容,我可以更改他们的权限,但我不能移动或删除它们。

ls -al
total 12
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..
-rwxrwxrwx 1 rayell pg1083760    0 2011-09-02 06:38 default.settings.php
drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files
-rwxrwxrwx 1 rayell pg1083760    0 2011-09-02 06:38 settings.php


rm -Rf *
rm: cannot remove `default.settings.php': Permission denied
rm: cannot remove directory `files': Permission denied
rm: cannot remove `settings.php': Permission denied
Run Code Online (Sandbox Code Playgroud)

谁能告诉我发生了什么?

linux filesystems rm file-permissions

38
推荐指数
1
解决办法
9万
查看次数