问题标签 [rm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2801 浏览

linux - 删除linux中包含双破折号的文件

可能重复:
无法删除终端中的特殊命名文件

我觉得问得很傻,但是如何在 linux 中删除一个名为 的文件--preserve-permissions

我试过:

两者都不起作用。谢谢。

0 投票
2 回答
105 浏览

bash - 如何处理 linux find 命令没有结果

寻找 。-name "*.pyc" -print0| xargs -0 rm

我使用此命令删除 python 编译文件,但如果当前目录没有任何 *.pyc 文件,则此 cmd 将无法使用 rm 命令打印错误需要运算符 args

如果当前目录没有 *.pyc 文件这种情况如何处理这项工作?

0 投票
4 回答
925 浏览

linux - 我想通过使用 bash 脚本获得 rm 命令过滤器的提示

几周前,一位高级团队成员意外删除了一个重要的 oracle 数据库文件 (.dbf)。幸运的是,我们可以使用几天前保存的备份文件来恢复系统。

看到这种情况后,我决定实施一种解决方案,rm在提示符下键入命令时至少进行双重确认。(检查超过rm -i

即使我们rm -i默认使用别名,超级快速的键盘手通常也会像那个成员一样犯错误,包括我在内。

起初,我将(通过使用别名)基本 rm 命令替换为特定的 bash 脚本文件,该文件会打印并多次确认目标是否与 oracle 数据库路径或文件相关。简单来说,该脚本在操作rm之前作为过滤器操作。如果与 oracle 无关,则 rm 会正常运行。

在实现时,我认为大多数功能都运行良好,因为除了一个问题外,我只期望用户提示环境。

如果在其他脚本(提供的 oracle、其他供应商修改 oracle 路径、安装程序等)或程序(通过使用系统调用)中调用 rm 命令。

  1. 我该如何区分这种情况?如果上面提供的脚本遇到修改后的 rm,则该执行将不再继续。

  2. 你有更复杂的方法吗?

我相信大多数读者都能理解我懒惰的解释。如果您无法从上面看到清晰的风景,请告诉我。我会详细说明。

0 投票
3 回答
2926 浏览

java - 如何防止用户删除 JVM 正在使用的文件

我有一段 JAVA 代码,它读取一些文件并将它们加载到内存中一段时间​​。文件句柄在读取后保留。我的问题是我想限制用户使用“DEL”键或 rm 命令删除这些文件。

我可以通过保留文件句柄在 Windows 上实现相同的目的,而在 Unix rm 上不遵守文件的锁定。我什至尝试过Filechannel.lock(),但它也没有帮助。

任何建议表示赞赏。

0 投票
4 回答
2684 浏览

linux - 禁用终端命令

我想rm在某些情况下禁用 except 。我写了一个remove.sh文件中调用的函数,它通过了我想在实际调用之前强加的某些检查rm。但是,仍然可以进入终端并简单地调用rm函数而不是使用remove. 有没有办法禁用该rm功能,除非被调用remove?我希望它对登录终端的用户来说好像该rm功能不“存在”,所有“存在”的是删除功能。

甚至可能更进一步,当用户调用rm它时,它会在屏幕上打印一条声明说使用remove.

作为一个更广泛的问题,除了在某些情况下,有没有办法禁用终端命令?我知道我可以为rm需要 root 设置一个别名,但这是一种简单且不太方便的方法。

0 投票
1 回答
515 浏览

unix - 尽管删除文件,会话目录仍在增长

我的一台服务器显然有一个错误的会话垃圾收集例程。结果是会话目录包含数百万个文件。删除这些将需要数周时间,但似乎会话文件夹的增长速度快于文件的删除速度。

我正在分批删除 50000 个文件,这看起来非常有效 - 大约需要 5 分钟。

ls -U -1 | 头-n 50000 | xargs rm -f

尽管如此,当我做一个目录列表(ls -l)时,会话目录似乎在不断增长。

drwx-wx-wt 2 root root 843493376 3 月 6 日 15:36 会话

drwx-wx-wt 2 root root 843530240 3 月 6 日 15:41 会话

所以我的问题是:目录实际上是在增长(尽管在同一时间跨度内从中删除了 50000 个文件)还是 ls 命令从另一个源输出数据?

更新

正如评论中所建议的那样,我移动了无法控制的会话目录。有了一个新的空会话目录和对会话清理脚本的一些更改,现在看起来它工作得很好。

删除旧的会话目录仍然是一项任务,因为我不知道目录中有多少文件,所以很难说它什么时候会是空的。

我意识到删除大量文件会影响服务器的性能,因此我减小了批处理大小并为它编写了一个小脚本。

运行此命令会清空 1000 个文件批次中的目录。使用“df .”,它看起来工作缓慢。

文件系统 1K-blocks Used 可用 Use% Mounted on

/dev/sda3 236764896 47035860 177702004 21% /

...

/dev/sda3 236764896 47019528 177718336 21% /

尽管如此,当我列出会话文件夹时,旧会话目录的文件夹大小没有区别。就好像文件夹大小只扩展到最大值。

由于看起来情况已经解决,答案不太重要,但出于好奇,我想知道文件夹大小是如何计算的,以及为什么它没有减少。

0 投票
3 回答
5750 浏览

bash - 通过脚本从挂载共享驱动器复制到本地文件夹

这是我第一次尝试使用 Linux 脚本,所以这可能是显而易见的。

这是我正在尝试做的事情:

  1. 从本地文件夹中删除所有内容 - rm /home/user/Documents/Exercise/
  2. 从共享的 Windows 网络驱动器复制文件 - cp smb://server/arc/Exercise%20Files/Word/

所以根据我的理解,我的命令应该是这样的

但是,每当我尝试运行上述任一命令时,都会出现以下错误:

我究竟做错了什么?

亲切的问候,

0 投票
2 回答
79 浏览

git - 从 ming 中取消删除文件

我正在 Windows 7 机器上编写一个 php 应用程序,我正在使用来自mingw32. 问题是我刚刚错误地删除了我项目的一个非常重要的文件。

这是我没有注意的命令,灾难现在就在我身上:
rm git diff include/class/ReportBuilder.php

如果我这样做,git status我会看到它:Changes to be commited但我再也找不到它了。

您是否知道如何取消删除rm从 mingw32 中删除的文件。我的文件不在存储库中,但我已经为此工作了 2 周 :(((

0 投票
1 回答
41 浏览

macos - 是否可以在 osc Terminal 的 rm -rf 查询中实现多个文件夹名称

我正在尝试删除目录中的某些子文件夹。

使用以下提示时:

cd到目录 Y 的根目录

然后(假设文件夹名称是“X”):

find . -name X -exec rm -rf {} \;

是否可以实现除 X 之外的多个目标文件夹?

0 投票
1 回答
838 浏览

unix - UNIX - 将已删除的文件移回其原始目录

我要做的就是将文件从我创建的回收站移动到它自己的原始路径。

我的代码如下:

我确定错误在第 7 行,只是不知道如何重写。有任何想法吗?