首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于存储常用命令的linux命令

用于存储常用命令的linux命令
EN

Stack Overflow用户
提问于 2012-06-26 20:29:31
回答 5查看 848关注 0票数 2

linux是否有命令允许我将经常使用的命令推送到堆栈或其他东西中,这样我就可以轻松地从堆栈中获取它们,并在最常用的命令之间随意跳转。

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

代码语言:javascript
运行
复制
cd /pathA/pathB/pathC/pathD/
cd /pathE/pathF/pathG/pathH/
vim /pathA/pathB/pathC/pathD/test.txt
.......

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-26 20:31:10

关于目录,您可以将路径推送到堆栈

代码语言:javascript
运行
复制
pushd path_you_want_to_store
popd
票数 3
EN

Stack Overflow用户

发布于 2012-06-26 20:34:49

嗯,您的shell有一个历史特性,可以让您回想起以前的命令。

在最后两个目录之间来回切换的快速命令是

代码语言:javascript
运行
复制
cd -

对于更多的目录,我在.tcshrc中使用这组别名来跟踪它们。如果我在一个目录中,我想要记住,我只是说

代码语言:javascript
运行
复制
keep

代码语言:javascript
运行
复制
keep2

然后,我可以通过简单地输入以下命令回到那里

代码语言:javascript
运行
复制
cd $k

代码语言:javascript
运行
复制
cd $k2

如果我想看到我已经“保存”的目录,我可以输入

代码语言:javascript
运行
复制
ks

我还可以将这些变量用于其他操作,比如cp/mv (我经常这样做,这样可以节省输入长路径名的时间)。

您没有指定您的shell,所以这是使用tcsh,但是只要您知道如何设置等效别名,就可以很容易地适应任何其他shell。这允许我保存多达6个不同的目录,你可以决定你设置了多少个目录。

这是我自己的“自主开发”的解决方案,在过去的10+几年里一直很好地服务于我,也许还有其他的,也许是“内置的”。在这一点上,我自动地并且如此频繁地使用它们,以至于我甚至不认为它们是别名。

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2012-06-26 20:46:00

写一次你的“长路径”,下一次按"Ctrl + r"来获取它。

您需要先按"Ctrl + r"键。然后开始输入你的“长路径”,它将开始显示你已经输入的路径。

要查找存在更多旧记录(与您键入的文本相同),请继续按"Ctrl + r",它将显示旧记录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11207361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档