更改默认命令选项


15

当我输入命令

ls

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

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

ls -1

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

谢谢。

Answers:


14

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

alias l1='ls -1'

然后输入l1ls -1将被执行


您如何找到〜/ .bashrc文件?我在Computer \ bin中找到了“ bash”应用程序,但是找不到带有您提到的名称的文本文件。
AlainD

@AlainD .bashrc文件位于您的主目录中,而不位于/ bin中。〜会以bash扩展到您的主目录,因此该路径将类似于/home/user/.bashrc
Jishnu

我使用别名lsl =“ ls -l”,因为我不必从主行开始输入它。
dvnkiss

4

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

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

查找具有ls别名的部分。在我的(股票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。


1
此用户默认将“ ls”重新定义为现在以“ ls -1”操作。如果您想使用新命令,则@zetah答案可以解决。
2012年

在uBuntu 14.04 LTS的主目录中,我只看到一堆文件夹,没有.bashrc文件。
AlainD

1

蜥蜴的答案是最好的。详细说明:

别名最好用于简短,简单,经常使用的命令默认参数修改。它们存储在内存中(从其源文件中读取后),以提高性能或重复使用。

函数适用于经常使用的更复杂的活动,并且也存储在内存中。

脚本适用于最复杂和最不常用的命令。

请参见unix stackexchange上的此问题和解答 -解释别名,函数和脚本在最佳使用方面的区别。


1

只是为了澄清一些东西给@RobDavenport答案。您不能使用函数来覆盖具有相同名称的命令。

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

alias ls='ls -1 $@'

这将添加一个名为的新别名,ls因此它将代替原始命令被调用。它将添加-1选项并将每个参数转发$@到原始参数ls命令。

你也可以

function ls_column () {
  ls -1 $@
}

它将具有相同的效果,但是您必须对函数使用不同的名称。否则它将一次又一次地调用自己。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.