更改默认命令选项

更改默认命令选项

当我输入命令时

ls

我看到当前目录中的文件和目录列表,显示的列表相当烦人。

相反,我喜欢使用 -1 选项执行 ls 命令,例如

ls -1

我的问题是如何改变 ls 命令的默认行为,使得它始终使用 -1 选项执行。即如何使用 ls 命令在一列中显示文件和目录。

谢谢。

答案1

一种方法是在~/.bashrc文件中创建别名:

alias l1='ls -1'

然后输入l1ls -1将被执行

答案2

在你的主目录中,在编辑器中打开 .bashrc 文件并添加别名 ls='ls -1'

首先打开终端(按ControlAltT),输入gedit ./.bashrc以在编辑器中打开您的.bashrc 文件。

找到包含 ls 一些别名的部分。在我的版本(stock 11.10)中,它看起来像:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

在 ls 别名后添加以下行:

alias ls='ls -1'

保存文件,退出 gedit 和终端并重新启动。现在 ls 命令应该默认执行 ls -1。

答案3

只是为了向@RobDavenport 的回答澄清一些事情。您不能使用函数来覆盖具有相同名称的命令。

例如,要向命令添加默认参数,ls您可以执行以下操作:

alias ls='ls -1 $@'

这将添加一个新的别名,ls以便调用它而不是原始命令。它将添加选项-1并将每个参数转发$@到原始ls命令。

你也可以这样做

function ls_column () {
  ls -1 $@
}

它会产生相同的效果,但你必须为函数使用不同的名称。否则它会一次又一次地调用自身。

答案4

将以下内容添加到您的 .bashrc(在您的个人主目录中)。某些发行版可能已将其添加到此文件中(例如 Mint)

    # enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls -lah --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

如您所见,您不仅可以自定义 ls,还可以自定义 grep 等。这可能是最接近所问的问题。

相关内容