sam*_*var 82

激活autocd选项。它会让你输入..cd ..实际上会让你使用任何目录作为命令名称,并且会cd使用它:

shopt -s autocd
Run Code Online (Sandbox Code Playgroud)

对于好奇的人来说,zsh 也是如此:

setopt auto_cd
Run Code Online (Sandbox Code Playgroud)

  • @gordoco:是的,它只是 bash 4.x。这就是我使用 zsh 14 年的原因。 (5认同)
  • 哇,太棒了。 (3认同)
  • @LaC:技术优势并不总是主导地位的决定因素。Bash 更古老,使用它编写的代码也更多,几乎所有的 shell 程序员都知道它,比其他任何东西都重要。改变可能很难。-- *来自一个不知道所有 zsh 噪音是什么的人,并且只真正使用过 bash* :) (2认同)

Wuf*_*ers 69

默认情况下不是(可能有一些例外),没有。但是,如果您使用该alias命令,则可以创建这样的快捷方式:

alias ..="cd .."
Run Code Online (Sandbox Code Playgroud)

这将允许您使用命令..来执行cd ..

  • @maaartinus:`cd -`。 (13认同)
  • 该死的,我只是在输入*完全*相同的内容。 (10认同)
  • 我也在使用 `alias ...="cd ../.."` 和另外两个。另外,我可以推荐`alias ,=cd "$OLDPWD"`。 (6认同)

use*_*686 42

我觉得这很有用:

up() { local p= i=${1:-1}; while (( i-- )); do p+=../; done; cd "$p$2" && pwd; }
Run Code Online (Sandbox Code Playgroud)

例如,up 4=cd ../../../..

作为奖励,它的`up 4`/path/to/file工作方式与../../../../path/to/file.


wnr*_*rph 16

做了一个

bind '"\eu":"cd ..\C-m"'
Run Code Online (Sandbox Code Playgroud)

您可以cd ..Alt-u。我曾经在 chdir 锦标赛上使用它 ;-)

如果你想要整个 swift-chdir 套件

ALT+u cd ..
ALT+n enter next dir for selection
ALT+p enter previous dir for selection
ALT+SPC choose selected dir
ALT+l list subdirectories and highlight selection
Run Code Online (Sandbox Code Playgroud)

只需将其包含在您的 .bashrc 中

swiftcd-status() {
    echo -n -e "\r\0033[1A\0033[J"
}

swiftcd-contents() {
    find "$swiftcdpath" -maxdepth 1 -executable -type d
}

swiftcd-setdir () 
{ 
    swiftcdpath=$PWD
    swiftcddirnum=1
    swiftcddircount=`swiftcd-contents|wc -l`;
    swiftcd-status
}

swiftcd-pd () 
{ 
    (( --swiftcddirnum <= 0 )) && swiftcddirnum=$swiftcddircount;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-updir () 
{ 
    cd ..;
    swiftcd-setdir
}

swiftcd-list () 
{ 
    local redOn="$(echo -e '\0033[31m\0033[1m')"
    local redOff="$(echo -e '\0033[m')"

    swiftcd-status
    ((  swiftcddircount > 1 )) && { 
        echo
        echo $(swiftcd-contents|sed 's!^'"$swiftcdpath"'!!'|sed $swiftcddirnum' s/\(.*\)/'"$redOn"'\1'"$redOff"'/')
    } 
}

swiftcd-nd () 
{ 
    (( ++swiftcddirnum > swiftcddircount )) && swiftcddirnum=1;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-switch() {
    (( $1 <= swiftcddircount && $1 > 0 )) && cd $(swiftcd-contents|sed -n $1' p')
}

bind '"\e ":"swiftcd-setdir\C-m"'
bind '"\ep":"swiftcd-pd\C-m"'
bind '"\eu":"swiftcd-updir\C-m"'
bind '"\en":"swiftcd-nd\C-m"'
bind '"\el":"swiftcd-list\C-m"'
swiftcd-setdir
Run Code Online (Sandbox Code Playgroud)

  • 什么是chdir锦标赛?*愚昧* (4认同)
  • 目录导航体育赛事。 (4认同)

小智 14

我使用这个是因为我打字太快而且经常错过空格键:

alias cd..="cd .."
Run Code Online (Sandbox Code Playgroud)

  • s/`非unix`/`Windows`/ (11认同)
  • 如果您输入的速度太快以至于丢失了字符,很难相信为 `cd..` 添加别名真的有帮助。 (3认同)
  • 如果您来自亲爱的旧 DOS,其中 `cd..` 是有效的,我可以看到它会有什么帮助:) (3认同)

小智 7

尝试自动跳转:github上的自动跳转

这不仅会将 cd 命令缩短为“j”,还会缩短键入要跳转到的文件夹所需的字符。

如果你总是 cd 进入文件夹 /home/foo/Projects/thenextfacebook 你可以做'j face',你就在那里。它会自动了解哪些文件夹对您来说是最重要的,并且在使用它一个月后我可以说它非常准确。