寻求PowerShell中类似Linux ls -alt的简短快捷命令(显示含隐藏文件并按修改时间倒序)
寻求PowerShell中类似Linux ls -alt的简短快捷命令(显示含隐藏文件并按修改时间倒序)
我完全懂你的需求——想要一个像Linux里ls -alt那样简洁好记的PowerShell命令,既能显示隐藏文件,又能按修改时间从新到旧排序。你现在用的gci -fo | sort LastWriteTime -Descending确实有点冗长,每次敲都得费点劲记,太麻烦了。
先说说你提到的那个不生效的ls-alt函数问题:看你的代码,排序的部分被注释掉啦!# | sort LastWriteTime -Descending}这行前面的#把排序逻辑给屏蔽了,自然不会按修改时间倒序排列,这就是为啥测试结果里文件顺序不对。
给你几个靠谱的解决方案:
方案1:修正并配置自定义函数(最推荐,一劳永逸)
把这个函数放到你的PowerShell配置文件里,以后每次打开PS直接敲ls-alt就能用:
function ls-alt { # gci是Get-ChildItem的别名,-fo是-Force的别名(显示隐藏文件) # sort是Sort-Object的别名,-Desc是-Descending的别名(倒序) gci -fo $Args | sort LastWriteTime -Desc }
配置步骤:
- 打开PowerShell配置文件:
notepad $PROFILE - 如果提示文件不存在,先创建:
New-Item -Path $PROFILE -ItemType File -Force - 把上面的函数粘贴进去,保存后重启PowerShell
- 之后直接用
ls-alt,还能传路径参数,比如ls-alt D:\Downloads
修正后再跑你的测试案例,foo.txt就会排在.gitconfig前面,和你想要的效果一致啦。
方案2:更短的临时命令(不用配置函数时用)
如果不想配置函数,也可以用别名组合缩短命令:
dir -fo | sort LastWriteTime -Desc
dir是Get-ChildItem的另一个别名,和gci一样用,这样比你原来的命令短不少。
另外还能再精简点,利用PowerShell的位置参数和别名:
gci -fo | sort LastWriteTime -d
-d是-Descending的别名,又省了几个字符~
备注:内容来源于stack exchange,提问作者DeltaIV
相关产品推荐
相关产品推荐

