2017-10-04 79 views
0

我有我的日志存储在不同位置的总共七个目录,我需要在UNIX中创建快捷命令,如果我在UNIX目录中的任何位置键入该命令它应该移动到目录。linux或unix快捷方式命令可以从目录

EG:

的/ var /选择/ T1 /日志/ 20171003 - T1

的/ var /选择/ T2 /日志/ 20171003 - T2

的/ var /选择/ T3 /日志/ 20171003 - T3

的/ var /选择/ T4 /日志/ 20171003 - T4

的/ var /选择/ T5 /日志/ 20171003 - T5

的/ var /选择/ O1 /日志/ 20171003 - 01

的/ var /选择/ O2 /日志/ 20171003 - O2,如果我想去T1,我想我只是需要给

- T1在Unix的盒子,它应该去那个文件夹。

+2

开始[阅读Bash手册页](http://man7.org/linux/man-pages/man1/bash.1.html)。你似乎在寻找什么叫做* alias *。或者如果你想要去最新的子目录,你可能需要一个*函数*。或者可能使用别名来调用函数。 –

回答

0

您可以为您的shell(可能bash,但我建议zsh)定义别名或函数。

阅读您的shell的文档,例如Bash reference manual。您可能需要将aliasesfunctions的定义添加到your ~/.bashrc中,您将使用source code editor(我建议GNU emacs,有些人更喜欢vim,还有许多其他人)进行编辑。之后你会更好地重新启动你的shell。

也请阅读about CDPATHabout pushd and popd

顺便说一句,我建议在文件名中避免空格(更喜欢下划线_)。它使生活更轻松(您将需要更少的quotations)。

请记住,Linux没有文件夹,但directories,并且一个文件可以有几个名称(或没有),并且确实是一个inode

顺便说一句,你可以使用grep(1)和/或find(1)awk(1)ln(1)明智的(在你的函数或shell脚本例如)。

+0

我对此很陌生,所以你可以帮助我至少从代码开始。 –

+0

你需要阅读一点。按照上面给出的所有链接。 SO不是代码编写或脚本编写服务。有几种方法可以做你想做的事。或者聘请某人来完成这项工作。但通过花费几个小时的时间阅读材料和进行实验,提高您的技能会更好。 –

+0

路径为:/ var/opt/t3/logs/20171003 T1 T2仅用于链接它们。 –

0

只需按照以下3个步骤:

  1. “VI〜/ .bash_aliases”(按i进入插入模式),或者你可以使用你选择
  2. 的任何其他编辑器创建别名:
    别名T1 = 'CD的/ var /选择/ T1 /日志/ 20171003'
    别名T2 = 'CD的/ var /选择/ T2 /日志/ 20171003'
    等等...
  3. 类型以下命令“源〜/ .bashrc“来反映你在同一个终端上的变化或者打开新的终端。
+0

我会推荐定义*函数*,而不是别名(或使用通用函数来简化这些别名的定义) –

+0

我是否需要创建一个新文件,然后将这些代码添加到她的? –

+0

可以创建新文件bash_aliases(更容易在单个文件中维护别名),也可以追加到系统主目录中的bashrc文件。 – Vunny

相关问题