linux是否有命令允许我将常用的命令推入堆栈或其他东西,以便我可以轻松地从中获取它们并尽可能多地跳转到最常用的命令。
我知道我们可以为命令创建别名,但这不是我在这里寻找的。我的情况更像是我有一些可怕的长目录,我需要能够快速和频繁地在它们之间切换。例如。
cd /pathA/pathB/pathC/pathD/
cd /pathE/pathF/pathG/pathH/
vim /pathA/pathB/pathC/pathD/test.txt
.......
我真的不想在这里为每个命令创建别名,因为路径也经常变化,我不想经常更新我的别名。
答案 0 :(得分:3)
关于目录,您可以在堆栈上推送路径
pushd path_you_want_to_store
popd
答案 1 :(得分:2)
嗯,你的shell的历史功能可以让你回忆起以前的命令。
在最后两个目录之间来回的快速命令是
cd -
就更多目录而言,我在.tcshrc
中使用这组别名来跟踪它们。如果我在一个目录中,我想记住,我只想说
keep
或
keep2
然后我只需输入
即可回到那里cd $k
或
cd $k2
如果我想查看我已“保存”的目录,请输入
ks
我也可以将这些变量用于其他操作,例如cp/mv
(这就是我在输入长路径名时所做的事情。)
您没有指定shell,因此这是使用tcsh
,但只要您知道如何设置等效别名,就可以轻松地适应任何其他shell。这允许我最多保存6个不同的目录,您可以决定设置的数量。
这是我自己的“本土”解决方案,在过去的10多年里一直很好用,可能还有其他的,也许是“内置的”。在这一点上,我会自动地使用这些,并且我甚至不会将它们视为别名。
alias keep 'set k=`pwd`'
alias keep2 'set k2=`pwd`'
alias keep3 'set k3=`pwd`'
alias keep4 'set k4=`pwd`'
alias keep5 'set k5=`pwd`'
alias keep6 'set k6=`pwd`'
alias ks 'echo $k; echo $k2; echo $k3; echo $k4; echo $k5; echo $k6'
答案 2 :(得分:1)
编写“长路径”一次,然后按"Ctrl + r"
。
您需要先按"Ctrl + r"
。然后开始输入“长路径”,它将开始显示您已输入的路径。
要查找更多旧记录(您输入的文本相同),请按住"Ctrl + r"
,它会显示旧记录。
答案 3 :(得分:1)
还要检查CDPATH变量,该变量可以包含要跳转到的常用目录列表 - 例如:
export CDPATH=/pathA/pathB/pathC
cd pathD
# now you're at /pathA/pathB/pathC/pathD
答案 4 :(得分:1)
如果您觉得该命令会被频繁使用,您可以添加标签
命令#useful
然后
[ctrl+r]
#useful