问题标签 [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.
bash - 如何处理 linux find 命令没有结果
寻找 。-name "*.pyc" -print0| xargs -0 rm
我使用此命令删除 python 编译文件,但如果当前目录没有任何 *.pyc 文件,则此 cmd 将无法使用 rm 命令打印错误需要运算符 args
如果当前目录没有 *.pyc 文件这种情况如何处理这项工作?
linux - 我想通过使用 bash 脚本获得 rm 命令过滤器的提示
几周前,一位高级团队成员意外删除了一个重要的 oracle 数据库文件 (.dbf)。幸运的是,我们可以使用几天前保存的备份文件来恢复系统。
看到这种情况后,我决定实施一种解决方案,rm
在提示符下键入命令时至少进行双重确认。(检查超过rm -i
)
即使我们rm -i
默认使用别名,超级快速的键盘手通常也会像那个成员一样犯错误,包括我在内。
起初,我将(通过使用别名)基本 rm 命令替换为特定的 bash 脚本文件,该文件会打印并多次确认目标是否与 oracle 数据库路径或文件相关。简单来说,该脚本在操作rm之前作为过滤器操作。如果与 oracle 无关,则 rm 会正常运行。
在实现时,我认为大多数功能都运行良好,因为除了一个问题外,我只期望用户提示环境。
如果在其他脚本(提供的 oracle、其他供应商修改 oracle 路径、安装程序等)或程序(通过使用系统调用)中调用 rm 命令。
我该如何区分这种情况?如果上面提供的脚本遇到修改后的 rm,则该执行将不再继续。
你有更复杂的方法吗?
我相信大多数读者都能理解我懒惰的解释。如果您无法从上面看到清晰的风景,请告诉我。我会详细说明。
java - 如何防止用户删除 JVM 正在使用的文件
我有一段 JAVA 代码,它读取一些文件并将它们加载到内存中一段时间。文件句柄在读取后保留。我的问题是我想限制用户使用“DEL”键或 rm 命令删除这些文件。
我可以通过保留文件句柄在 Windows 上实现相同的目的,而在 Unix rm 上不遵守文件的锁定。我什至尝试过Filechannel.lock()
,但它也没有帮助。
任何建议表示赞赏。
linux - 禁用终端命令
我想rm
在某些情况下禁用 except 。我写了一个remove
在.sh
文件中调用的函数,它通过了我想在实际调用之前强加的某些检查rm
。但是,仍然可以进入终端并简单地调用rm
函数而不是使用remove
. 有没有办法禁用该rm
功能,除非被调用remove
?我希望它对登录终端的用户来说好像该rm
功能不“存在”,所有“存在”的是删除功能。
甚至可能更进一步,当用户调用rm
它时,它会在屏幕上打印一条声明说使用remove
.
作为一个更广泛的问题,除了在某些情况下,有没有办法禁用终端命令?我知道我可以为rm
需要 root 设置一个别名,但这是一种简单且不太方便的方法。
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% /
尽管如此,当我列出会话文件夹时,旧会话目录的文件夹大小没有区别。就好像文件夹大小只扩展到最大值。
由于看起来情况已经解决,答案不太重要,但出于好奇,我想知道文件夹大小是如何计算的,以及为什么它没有减少。
bash - 通过脚本从挂载共享驱动器复制到本地文件夹
这是我第一次尝试使用 Linux 脚本,所以这可能是显而易见的。
这是我正在尝试做的事情:
- 从本地文件夹中删除所有内容 - rm /home/user/Documents/Exercise/
- 从共享的 Windows 网络驱动器复制文件 - cp smb://server/arc/Exercise%20Files/Word/
所以根据我的理解,我的命令应该是这样的
但是,每当我尝试运行上述任一命令时,都会出现以下错误:
我究竟做错了什么?
亲切的问候,
米
git - 从 ming 中取消删除文件
我正在 Windows 7 机器上编写一个 php 应用程序,我正在使用来自mingw32
. 问题是我刚刚错误地删除了我项目的一个非常重要的文件。
这是我没有注意的命令,灾难现在就在我身上:
rm git diff include/class/ReportBuilder.php
如果我这样做,git status
我会看到它:Changes to be commited
但我再也找不到它了。
您是否知道如何取消删除rm
从 mingw32 中删除的文件。我的文件不在存储库中,但我已经为此工作了 2 周 :(((
macos - 是否可以在 osc Terminal 的 rm -rf 查询中实现多个文件夹名称
我正在尝试删除目录中的某些子文件夹。
使用以下提示时:
cd
到目录 Y 的根目录
然后(假设文件夹名称是“X”):
find . -name X -exec rm -rf {} \;
是否可以实现除 X 之外的多个目标文件夹?
unix - UNIX - 将已删除的文件移回其原始目录
我要做的就是将文件从我创建的回收站移动到它自己的原始路径。
我的代码如下:
我确定错误在第 7 行,只是不知道如何重写。有任何想法吗?