在Linux上更改默认的ls行为

and*_*uin 0 linux

默认情况下,当我在我的文件夹上使用命令ls时,我的结果按名称排序.如果我想为created_at更改系统范围,该怎么办?

小智 7

~/.bashrc在您喜欢的文本编辑器中编辑文件,并在底部添加以下行:

alias ls='ls -tU'
Run Code Online (Sandbox Code Playgroud)

保存并关闭文件.

下次打开终端时,ls将按排序的时间顺序给出列表.
但如果您需要立即生效,您可以:

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)


Ced*_*dar 1

我将残酷地把你的问题分成两部分:

  1. 如何按创建时间排序:这个问题可能没有答案。这篇文章https://unix.stackexchange.com/questions/20460/how-do-i-do-a-ls-and-then-sort-the-results-by-date-created似乎表明创建日期不存储在许多 Unix 系统中,但我不确定 linux 是否如此。此外,MacOS 中的 ls可以按创建日期排序。如果你有 Mac,请执行以下操作ls -tU

  2. 如何更改命令的默认行为:假设您已经找到一种方法让 ls 按创建日期排序(例如,在 MacOS 上,我通过键入 来实现ls -tU),那么您可以使用 alias 命令。只需这样做alias ls='ls -tU',将来所有 ls 命令都将被替换ls -tu。此解决方案将一直存在,直到您关闭终端窗口为止,但您始终可以将其添加到启动脚本(例如.bashrc)中,以便在每次启动命令 shell 时应用它。