是否可以更改命令的默认行为?

是否可以更改命令的默认行为?

是否可以更改命令的默认行为?

我认为这个问题非常简单,但让我给出一个说明和例子。

虽然通过 SSH 连接到某些服务器时,通过选项卡自动完成功能不起作用,使得长命令变得冗长乏味。例如,这是一个 ls 命令:

ls -lah --group-directories-first

也就是说,以人类可读的格式从上到下列表中列出包括隐藏文件在内的所有文件,同时对目录中的文件进行排序,使目录排在第一位。

有没有一种方法可以配置此 ls命令以通过简单地键入 来执行上述命令ls。默认ls列出所有文件。必须有一个“ls”命令所在的位置,以便当您运行它时,系统知道在哪里可以找到它,看看它的默认行为是什么,然后根据提供的“ls”的规范运行它命令。

最终我可以更改 ls 命令的输出或默认功能吗?

答案1

在 Unix 或 Linux 风格的系统上执行此操作的典型方法是使用 shell 别名:

alias ls='ls -lah --group-directories-first'

请注意,这将覆盖任何现有的ls别名,因此您可能需要检查

alias ls

首先并结合以上内容;例如

alias ls='ls -lah --group-directories-first --color=tty'

要使其永久化,请将其添加到.bashrc主目录中的文件中(假设您正在使用 Bash,如果您发现这一切,您可能就是这样)。

以如此广泛的方式改变默认行为最终可能会令人困惑,因此我建议使用别名创建一个新命令;我有

alias l='ls -lah --group-directories-first'

例如。这还允许构建其他别名:此l别名使用定义为 的任何内容,如果这是一个别名,就会习惯(因此在这种情况下ls无需重复该选项)。--color=tty

要删除别名,请使用unalias

unalias ls

相关内容