美文网首页
Linux下如何高效回退到特定层级目录?

Linux下如何高效回退到特定层级目录?

作者: EchoPython | 来源:发表于2019-07-12 15:31 被阅读0次

Linux 下如果我们进入到了一个比较长的路径,比如:

/home/alvin/projects/blogdemos/linux-system-programming/thread
/home/alvin/projects/blogdemos/diff
/home/harry/study/亚洲文化/日本文化/中日交流/影视业/动作片

如果我们想要回退到一个特定的父目录,那么我们通常的做法是这样敲:

# cd ../../../
如果层级比较少,那这样勉强还可以接受,但如果层级很深,那可能就会 cd 到你怀疑人生了。

本文将介绍一个工具,它能帮你快速进入到某一个特定的父目录,而无需一路 cd 。你可以直接指定回退的层级数,或者要回退的目标目录,非常方便。

更重要的是,它甚至还支持 tab 键,而且在不重复的情况下,你也可以指定目标目录的前几个字母即可,大大增加了工作效率。

这个工具其实就是个 shell 脚本,名字是 up.sh ,除了支持 bash 外,对 zsh 和 fish shell 的支持也很好。

up脚本的安装

这个脚本是第三方人员开发的,所以需要我们人为安装到我们的系统。

  1. 首先,我们需要先将 up.sh 下载到我们本地,然后再使能这个脚本:
# wget -P ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
# echo 'source ~/.config/up/up.sh' >> ~/.bashrc

之后再使用以下命令使改动生效:
# source ~/.bashrc

  1. 如果你使用的是 zsh shell ,那么需要使用下列步骤去操作:
# wget -P ~/.config/up/up.zsh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh

# echo 'source ~/.config/up/up.sh' >> ~/.zshrc

# source ~/.zshrc

如果你使用的是 fish shell ,那你需要这么操作:

# wget -P ~/.config/up/up.fish https://raw.githubusercontent.com/shannonmoeller/up/master/up.fish

# source ~/.config/up/up.fish

up.sh的使用

按照以上步骤操作,我们就能将 up 脚本安装到系统并完成配置。接下来我们就可以用它来尽情地玩耍了。

首先,我们先明确自己所处的路径:

# pwd
(py3env) Conner@TL:/usr/bin/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11$ pwd
/usr/bin/X11/X11/X11/X11/X11/X11/X11/X11/X11/X11

如果我们只想回到上级目录,只需执行 up 即可。

$ up
$ pwd
(py3env) Conner@TL:~$ cd /usr/bin/X11/
(py3env) Conner@TL:/usr/bin/X11$ up
(py3env) Conner@TL:/usr/bin$ 

那如果我想回退到更高层级的目录呢?我现在是在 src 目录,如果我想回退到 projects 目录,要怎么操作?

我们只需要 up 命令后跟上你要跳转的层级数,不加的话就默认是 1 。在这个例子里,我们要回退 3 层目录,即:

# up 10
# pwd
(py3env) Conner@TL:/usr/bin/X11/X11/X11/X11/X11/X11/X11/X11/X11$ up 10
(py3env) Conner@TL:/usr$ 

前面已经提到,我们可以直接回退到某一个指定的目录名下。比如我现在还是在 src 目录,想要回退到 projects 目录,我们可以这样操作:

$ pwd

# up projects
# pwd
(py3env) Conner@TL:/usr/local/lib$ pwd
/usr/local/lib
(py3env) Conner@TL:/usr/local/lib$ up usr/
(py3env) Conner@TL:/usr$ 

如果要回退的单词长度太长写得太累怎么办?你只需指明这个目录的前几个字母, up 脚本就会识别并跳转。

$ pwd

# up pr        # 这里只指定了前两个字母
# pwd
/home/admin/projects

同时,它也支持 tab 键:

# up    # 敲 tab 键
(py3env) Conner@TL:/usr/lib/X11$ up 
lib/  usr/ 

这个脚本在经常需要切换目录,并且路径又很长的情况下,非常有用,能够快速进入到你想要的父目录。好好使用这个脚本,将会在目录切换时大大提高你的效率。

相关文章

  • Linux下如何高效回退到特定层级目录?

    Linux 下如果我们进入到了一个比较长的路径,比如: 如果我们想要回退到一个特定的父目录,那么我们通常的做法是这...

  • windows cmd 填坑

    Windows下访问特定目录: linux下访问特定目录,直接使用"cd /path"即可,但在windows下需...

  • Linux下如何高效切换目录?

    Linux 下对于目录的切换,大家肯定会想到一个命令:cd 命令。这个是 Linux 下再基本不过的命令,如果这个...

  • Linux下如何高效切换目录?

    Linux 下对于目录的切换,大家肯定会想到一个命令:cd 命令。这个是 Linux 下再基本不过的命令,如果这个...

  • 2019.08.29 360搜索golang一面凉

    1.linux下使用cat /b/a.txt,linux如何知道cat的是文件而不是目录linux下普通文件和目录...

  • Linux目录结构

    Linux目录详解 在Linux中,一切皆是文件 Linux的文件系统采用的是层级式的树状目录结构。在此结构中的最...

  • 如何在Linux中运行具有时间限制(Timeout)的命令

    Linux附带了许多命令,每个命令都是唯一的,并在特定情况下使用。Linux的目标是帮助你尽快高效地工作。Linu...

  • 文件目录

    Linux文件系统是采用层级式的树状目录结构,最上层目录为根目录 “/”,然后在此目录下创建其他目录。 常用目录 ...

  • 题1

    Linux如何挂载windows下的共享目录? 如何查看/var/log目录下的文件数? `查看当前系统每个IP的...

  • 学习小组Day2笔记-镜筒

    day2-召唤LInux 思维导图 操作汇总 pwd:显示当前路径 mkdir: 创建空目录 层级目录:mkdir...

网友评论

      本文标题:Linux下如何高效回退到特定层级目录?

      本文链接:https://www.haomeiwen.com/subject/opzekctx.html