当我输入命令时
ls
我看到当前目录中的文件和目录列表,显示的列表相当烦人。
相反,我喜欢使用 -1 选项执行 ls 命令,例如
ls -1
我的问题是如何改变 ls 命令的默认行为,使得它始终使用 -1 选项执行。即如何使用 ls 命令在一列中显示文件和目录。
谢谢。
答案1
一种方法是在~/.bashrc
文件中创建别名:
alias l1='ls -1'
然后输入l1
,ls -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 等。这可能是最接近所问的问题。