Dan*_*ris 3 linux command-line ls
是否可以更改命令的默认行为?
我认为这个问题很简单,但让我举个例子。
虽然通过选项卡通过 SSH 自动完成连接到某些服务器不起作用,但使长命令变得冗长乏味。例如这里是一个 ls 命令:
ls -lah --group-directories-first
Run Code Online (Sandbox Code Playgroud)
这就是说以人类可读的格式在从上到下的列表中列出所有文件,包括隐藏文件,同时从目录中排序文件,使目录排在第一位。
有没有一种方法可以配置此 ls
命令以通过简单地输入ls
. 默认情况下列出ls
所有文件。'ls' 命令必须有一个位置,这样当你运行它时系统知道去哪里寻找它,看看它的默认行为是什么,然后根据提供的 'ls' 的规范运行它命令。
最终我可以更改 ls 命令的输出或默认功能吗?
在 Unix 或 Linux 风格的系统上执行此操作的典型方法是使用 shell 别名:
alias ls='ls -lah --group-directories-first'
Run Code Online (Sandbox Code Playgroud)
请注意,这将覆盖任何现有ls
别名,因此您可能需要检查输出
alias ls
Run Code Online (Sandbox Code Playgroud)
首先并结合以上内容;例如
alias ls='ls -lah --group-directories-first --color=tty'
Run Code Online (Sandbox Code Playgroud)
要使其永久化,请将其添加到您.bashrc
的主目录中的文件中(假设您正在使用 Bash,如果您发现所有这些,您可能会使用 Bash)。
以如此广泛的方式改变默认行为最终会令人困惑,所以我建议使用别名创建一个新命令;我有
alias l='ls -lah --group-directories-first'
Run Code Online (Sandbox Code Playgroud)
例如。这也允许构建其他别名:此l
别名使用定义为 的任何内容ls
,如果这是别名,则习惯了(因此--color=tty
在这种情况下无需重复该选项)。
要删除别名,请使用unalias
:
unalias ls
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1790 次 |
最近记录: |