deh*_*ann 5 linux cd bash command-line tab-completion
有哪些好的 Linux 命令可以让命令行上的不同目录之间的切换更容易?
我经常不得不在具有长名称的不同目录之间切换,例如
cd foo/20100801-rev124-test2
ls
cd ../20100801-rev124-test1
ls
cd ../20100802-rev126-bar
Run Code Online (Sandbox Code Playgroud)
通常,我使用制表符完成,所以它是这样的:
cd ../2010080 Tab2 Tab-rev12 Tab6- Tabbar
但这很烦人,因为所有这些名称都非常相似,因此选项卡完成并没有真正节省多少工作。
在这种情况下,您使用什么技巧来减少打字?
顺便说一句,我使用pushd和popd有时,但在这里它不会帮助,因为我不访问的目录中给定的顺序。
更新:
有关一个不错的解决方案,请参阅我的其他相关问题的已接受答案。基本上,只需创建一个替代命令:cd
function cd2 { select a in $1*; do cd $a; break; done }
Run Code Online (Sandbox Code Playgroud)
它将一次列出所有可能的完成:
$ cd2 2010080
(1) 20100801-rev124-test2
(2) 20100801-rev124-test1
(3) 20100802-rev126-bar
Run Code Online (Sandbox Code Playgroud)
你可以通过输入它的号码来选择一个。
该dirs -v命令将列出目录堆栈,每个目录前面都有数字,您可以向该pushd命令提供数字参数以使其跳转到该目录。例如,如果dirs -v显示您要更改的目录位于2其前面(即,是列表中的第三个目录),则执行pushd +2将更改为该目录。
为了节省输入,您可以通过给它们指定别名来缩短这些命令,如下所示:
alias dv="dirs -v"
alias pd=pushd
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1455 次 |
| 最近记录: |