You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下如何快速进入目录中最后修改的子目录(Fish Shell环境)

解决Fish Shell中快速进入最新修改子目录的问题

直接执行的命令

先捕获最新修改的子目录名,再切换过去:

set latest_dir (eza --sort=modified --only-dirs | tail -n 1)
cd $latest_dir

如果想用zoxide,刚创建的目录可能还没被索引,直接cd后zoxide会自动记录该目录,后续就能用z快速跳转。

封装成便捷函数

把下面的函数添加到~/.config/fish/config.fish中,之后直接输入cd-latest就能自动进入最新子目录:

function cd-latest
    set latest_dir (eza --sort=modified --only-dirs | tail -n 1)
    if test -n "$latest_dir"
        cd "$latest_dir"
    else
        echo "当前目录下没有子目录"
    end
end

之前方法出错的原因

  1. eza ... | xargs z报错:xargs会启动独立子进程,而z是Fish的shell函数(不是系统可执行文件),子进程找不到这个函数;就算能执行,子进程里的目录切换也不会影响当前shell。
  2. z "(eza ...)"报错:你把整个命令字符串传给z,zoxide会把它当作目录名去匹配,显然不存在带管道和括号的目录,所以找不到匹配项。

内容的提问来源于stack exchange,提问作者bbqman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:50:09