为什么 Ubuntu 终端不是交互式的?

Ant*_*t's 2 command-line ubuntu

我对 Ubuntu 很陌生。

如果我做:

rm removeText
Run Code Online (Sandbox Code Playgroud)

终端正在默默地做着为什么不能说:

removeText 已删除

或类似的东西?我希望这样,每次删除文件时,我都不必执行ls以查看文件是否已删除。

有什么办法可以改变这种行为吗?

slh*_*hck 8

因为它相信你知道你在做什么。通常,Unix 和 Linux 命令只会告诉您是否出现问题,否则会保持安静。这使得命令在脚本中或链接在一起时非常容易使用——你必须告诉他们你想要一个特定的输出。

因此,如果删除文件时出现问题,您会收到错误消息。

获取确认对话框:

如果您想要在删除文件之前出现确认对话框,请使用rm -irm -I(后者在 GNU/Linux 上可用,而不在 OS X 或任何 BSD 派生系统上):

   -i     prompt before every removal

   -I     prompt once before removing more than three files, or when removing recursively.  Less intrusive than -i, while still giv?
          ing protection against most mistakes
Run Code Online (Sandbox Code Playgroud)

知道删除了什么:

如果您只想查看删除了哪个文件,请使用rm -v(v 表示“详细”,这是许多命令行工具中存在的标志)。您还可以通过将以下行添加到您的文件中rmrm -v代替您使用的别名~/.bashrc(请参阅此处了解如何执行此操作)。

alias rm='rm -v'
Run Code Online (Sandbox Code Playgroud)

别名将用表达式右侧的命令“替换”内置命令。

提醒一句:

请注意,别名内置命令通常被认为是不好的做法。为什么?如果您发现自己已经习惯了获得确认对话框,而突然您在另一个系统上,请键入rm /some/important/file,您最终会删除一个您不想要的文件,它就会消失。永远。

我建议你学会接受默认设置,除非你对 Linux shell 绝对有信心。

此外,请始终阅读man rm——或者通常阅读您想要使用的命令的联机帮助页。它们通常会提供有关常见错误、进一步标记和其他警告的附加信息。