linux是否有命令允许我将经常使用的命令推送到堆栈或其他东西中,这样我就可以轻松地从堆栈中获取它们,并在最常用的命令之间随意跳转。
我知道我们可以为命令创建别名,但这不是我在这里要找的。我的情况更像是我有一些可怕的长目录,我需要能够快速和频繁地在它们之间切换。例如:
cd /pathA/pathB/pathC/pathD/
cd /pathE/pathF/pathG/pathH/
vim /pathA/pathB/pathC/pathD/test.txt
.......
我真的不想在这里为每个命令创建别名,因为路径也经常变化,我不想经常更新我的别名。
发布于 2012-06-26 20:31:10
关于目录,您可以将路径推送到堆栈
pushd path_you_want_to_store
popd
发布于 2012-06-26 20:34:49
嗯,您的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'
发布于 2012-06-26 20:46:00
写一次你的“长路径”,下一次按"Ctrl + r"
来获取它。
您需要先按"Ctrl + r"
键。然后开始输入你的“长路径”,它将开始显示你已经输入的路径。
要查找存在更多旧记录(与您键入的文本相同),请继续按"Ctrl + r"
,它将显示旧记录。
https://stackoverflow.com/questions/11207361
复制相似问题