linux命令用于存储常用命令

时间:2012-06-26 12:29:31

标签: linux ubuntu

linux是否有命令允许我将常用的命令推入堆栈或其他东西,以便我可以轻松地从中获取它们并尽可能多地跳转到最常用的命令。

我知道我们可以为命令创建别名,但这不是我在这里寻找的。我的情况更像是我有一些可怕的长目录,我需要能够快速和频繁地在它们之间切换。例如。

cd /pathA/pathB/pathC/pathD/
cd /pathE/pathF/pathG/pathH/
vim /pathA/pathB/pathC/pathD/test.txt
.......

我真的不想在这里为每个命令创建别名,因为路径也经常变化,我不想经常更新我的别名。

5 个答案:

答案 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