在 Linux 中更改目录时自动列出目录内容

在浏览 Linux 机器时,我倾向于发现我经常使用相同的两个命令。第一个是“cd”以更改目录,第二个是“ls”以查看新目录中的内容。而不是一遍又一遍地这样做,我决定四处寻找一个好的解决方案来自动化这个。

我在互联网上发现了各种结果,但有些只是创建了一个不同的别名来包装相同的两个命令。我在超级用户上找到了这个例子,它很好地解决了这个问题。这是完整的示例。

cd() { builtin cd "[email protected]" && ls; }

这样做是定义一个名为“cd”的函数,它调用内置的“cd”函数,传递给定的任何参数,然后在新目录上运行 ls 。该内建函数内部关键字强制CD通话使用内置CD,而不是递归调用函数。双与号 (&&) 用于一个接一个地执行程序,因此 ls 命令仅在 cd 没有遇到任何错误后才运行。这种方法的结果是,如果您尝试切换到一个不存在的目录,您也不会被告知您无法列出不存在目录的内容。

您可以更改函数以在 ls 调用中包含参数,以便像这样更改其输出。

cd() { builtin cd "[email protected]" && ls -la; }

要使用它,只需将其放入 .bashrc 或 .bash_profile 文件中,然后使用source命令重新加载它。现在,当您更改目录时,您将看到目录内容列表。我也在 Mac OS X 中对此进行了测试。