【busybox记录】【shell指令】rm

目录

内容来源:

【GUN】【rm】指令介绍

【busybox】【rm】指令介绍

【linux】【rm】指令介绍

使用示例:

一个常见的问题是如何删除文件名以`-`开头的文件。

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【rm】指令介绍

rm:删除文件或目录
rm 删除每个给定的文件。默认情况下,它不删除目录。
简介:
rm [option]... [file]...
如果指定了-I或 --interactive=once选项,并且有超过3个文件或者指定了-r、-R或 --recursive,那么rm会提示用户是否继续整个操作。如果响应不是肯定的,整个命令将中止。
否则,如果文件是不可写的,标准输入是一个终端,并且没有给出-f或 --force选项,或者给出-i或 --interactive=always选项,rm会提示用户是否删除文件。如果响应不是肯定的,则跳过该文件。
删除姓文件名组件为的文件的任何尝试。或 .. 是POSIX强制要求的,在没有任何提示的情况下被拒绝。
警告:如果使用rm删除文件,通常可以恢复该文件的内容。如果你想确保内容是不可恢复的,可以考虑使用shred。

该程序接受以下选项。参见第2章[常见选项],第2页。
‘-d’
‘--dir’ 
	如果列出的目录为空,则删除它们。
‘-f’
‘--force’ 
	忽略不存在的文件和丢失的操作数,永远不提示用户。忽略前面的 --interactive (-i)选项。
‘-i’ 
	提示是否删除每个文件。如果响应不是肯定的,则静默地跳过该文件而不会失败。忽略前面的 --force (-f)选项。等价于 --interactive=always。
‘-I’ 
	如果命名的文件超过三个,或者请求递归删除,`-I`提示是否继续执行该命令。忽略前面的 --force (-f)选项。等价于 --interactive=once.
‘--interactive [=when]’
	指定何时发出交互式提示。当可以省略时,或其中之一:
	never -  完全不提示。
	once -   如果命名的文件超过3个或要求递归删除,则提示一次。等价于-I。
	always - 提示每一个文件被删除。等价于-i。 --interactive 没有when等价于 --interactive=always
‘--one-file-system’
	递归删除层次结构时,请勿删除文件系统上与命令行参数不同的目录。
	当删除构建“chroot”层次结构时,这个选项很有用,因为它通常不包含有价值的数据。但将 bind-mount /home 绑定到这样的层次结构中并不罕见,以便更容易使用启动文件。
	问题是很容易忘记 umont /home。然后,当你使用rm -rf来删除通常不用的chroot时,该命令也会删除/home下的所有内容。使用 --one-file-system选项,它将诊断和跳过其他文件系统上的目录。当然,如果/home和chroot碰巧在同一个文件系统上,这不会保存您的/home。
	请参见 --preserve-root=all来保护命令行参数本身。
‘--preserve-root [=all]’
	使用 --recursive选项删除根目录/时失败。这是默认行为。参见第2.9节[特殊处理],第9页。当指定'all'时,拒绝任何与其父文件系统不在同一文件系统上的命令行参数。
‘--no-preserve-root’
	当递归删除时,不要特殊处理。除非您确实想删除计算机上的所有文件,否则不建议使用此选项。参见第2.9节[特殊处理],第9页。
‘-r’
‘-R’
‘--recursive’
	递归地删除列出的目录及其内容。
‘-v’
‘--verbose’
	在删除每个文件之前,打印它的名称。
一个常见的问题是如何删除文件名以`-`开头的文件。GNU rm,像每个使用getopt函数来解析其参数的程序一样,允许你使用`--`选项来表明接下来的所有参数都是非选项。要删除当前目录中名为-f的文件,可以输入以下命令:
	rm -- -f
	or:
	rm ./-f
Unix rm程序使用单个`-`来实现此目的,早于getopt标准语法的开发。
退出状态为零表示成功,非零值表示失败。

【busybox】【rm】指令介绍

【linux】【rm】指令介绍

[root@localhost bin]# rm --help
用法:rm [选项]... [文件]...
Remove (unlink) the FILE(s).

  -f, --force           ignore nonexistent files and arguments, never prompt
  -i                    prompt before every removal
  -I                    prompt once before removing more than three files, or
                          when removing recursively; less intrusive than -i,
                          while still giving protection against most mistakes
      --interactive[=WHEN]  prompt according to WHEN: never, once (-I), or
                          always (-i); without WHEN, prompt always
      --one-file-system		递归删除一个层级时,跳过所有不符合命令行参
				数的文件系统上的文件
      --no-preserve-root  do not treat '/' specially
      --preserve-root[=all]  do not remove '/' (default);
                              with 'all', reject any command line argument
                              on a separate device from its parent
  -r, -R, --recursive   remove directories and their contents recursively
  -d, --dir             remove empty directories
  -v, --verbose         explain what is being done
      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定
的目录,以及其下所有的内容。

To remove a file whose name starts with a '-', for example '-foo',
use one of these commands:
  rm -- -foo

  rm ./-foo

请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证
该文件的内容无法还原,请考虑使用shred。

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 rm 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/rm>
或者在本地使用:info '(coreutils) rm invocation'

使用示例:

一个常见的问题是如何删除文件名以`-`开头的文件。

GNU rm,像每个使用getopt函数来解析其参数的程序一样,允许你使用`--`选项来表明接下来的所有参数都是非选项。

要删除当前目录中名为-f的文件,可以输入以下命令:

指令: rm -- -f

or:

指令: rm ./-f

常用组合指令:

指令不常用/组合用法还需继续挖掘:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻面条EW

感谢您的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值