如何从命令行返回n层目录?

如何从命令行返回n层目录?

例如,我cd连续执行以下操作-

cd /tmp
cd /home/admin
cd /root/
cd /some_other/directory

现在我在/some_other/directory.现在,是否可以/tmp从命令行返回到我开始的目录?就像我们使用 GUI 中的后退按钮导航目录一样?

cd -只是让我退了一级。

答案1

这是 shell 特有的。在纯 POSIX shell 中,如果不再次输入 cd /tmp,则无法执行此操作。在 csh、tcsh、bash 或 zsh 中,您可以使用pushd而不是cd来更改目录,然后popd +1使用 cd 转到您推送到堆栈上的第一个目录。

答案2

本文来自 LinuxGazette 的关于cd使用一些简单脚本添加历史记录的内容。还蛮好用的

如果你想变得更花哨,那么有一个程序叫做autojump(主页这里)它保留访问过的目录的历史记录,提供快捷方式并且通常支持“智能” cd

autojump 是导航文件系统的更快方法。它的工作原理是维护您从命令行最常使用的目录的数据库。 Jumpstat 命令显示数据库的当前内容。在数据库可用之前,您需要做一些工作。一旦您的数据库相当完整,您可以通过键入以下内容“跳转”到通常“cd”的目录:j dirspec

答案3

我一直在寻找同样的问题,并遇到了以下用于更改 n 目录的解决方法/快捷方式。

如果您使用的是 bash shell,只需将以下内容添加到 bash_profile 中。对于其他 shell,请根据其语法使用它。

    alias ..="cd .."
    alias ..2="cd ../.."
    alias ..3="cd ../../.."
    alias ..4="cd ../../../.."
    alias ..5="cd ../../../../.."

    # cd /tmp/very/long/directory/structure/that/is/too/deep
    #..4
    [Note: use ..4 to go up 4 directory level]
    # pwd
    /tmp/very/long/directory/structure/

您还可以仅使用点而不是点后跟数字。详细描述可以在下面的链接中找到。

来源 :http://www.thegeekstuff.com/2008/10/6-awesome-linux-cd-command-hacks-productivity-tip3-for-geeks/

相关内容