linux怎样设置快捷路径?

linux怎样设置快捷路径?,第1张

如果路径是固定的,那么可以使用系统变量,在.bash_profile里加一个变量,如tod=/opt/abc

则,使用命令 cd $tod 可以进入指定目录

当然定义一个别名命令也是可以的

不过这个简化 *** 作基本没意义,linux里输入路径是很快的,输入首字母再按tab键就好了

只要玩过linux的命令行,切换个目录那简直是小菜一碟,直接cd命令就搞定了,但是除了简单的cd命令,还有许多其他的命令,能够令你的 *** 作更加方便快捷。

假设一种情况,一个文件A存放在了第十层目录ten中,经过千辛万苦好不容易进入了ten,结果一不小心敲入了一个cd命令,看着光标在根目录下闪烁,是不是很无奈呢?难道要再千辛万苦的敲一堆路径重新进到ten目录?

不必这么麻烦,输入“cd -”,看看是不是回到刚才的路径呢?

注:“cd -”能完成当前目录和之前所在的目录之间的切换

另外一个方便路径切换的命令就是pushd,可以完成多个不同路径之间的切换.

如果我希望在/usr和/etc/ssh和/etc/rc.d和当前路径之间切换,则可以在命令行下输入:

pushd /usr

/usr ~

pushd /etc/ssh

/etc/ssh /usr ~

pushd /etc/rc.d

/etc/rc.d /etc/ssh /usr ~

pushd会自动把当前路径加入到可切换路径中。执行dirs,可以看到显示四个路径:

dirs

/etc/rc.d /etc/ssh /usr ~

输入pushd,既可以在前两个路径之间相互切换。

如果想切换到最后一个(栈底)路径时 pushd +2即可。

pushd

/etc/ssh /etc/rc.d /usr ~

pushd

/etc/rc.d /etc/ssh /usr ~

pushd +2

/usr ~ /etc/rc.d /etc/ssh

如果想清空这些路径,执行dirs -c即可。

dirs -c

dirs

/usr

如果你需要从堆栈中删除一个目录,键入popd,然后是目录名称,再按回车键

在Linux的多目录命令提示符中工作是一种痛苦的事情,但以下这些利用cd和pushd切换目录的技巧有助于你节省时间和精力 。

在Linux命令提示中,用cd命令来改变当前目录。这是cd命令的一些基本用法:

改变你的根路径,键入cd,按回车键。

进入一个子目录,键入cd,空格,然后是子路径名(例如:cd Documents),再按回车键。

进入当前目录的上一级目录,键入cd,空格,两个点,然后按回车键。

进入一个特定的目录,键入cd,空格,路径名(例如 cd /usr/local/lib),再按回车键。

为了确定你所在的目录,你可以键入pwd,按回车键,你将看到你所在的当前目录名称。

用pushd实现在不同目录间切换。

在命令行模式下,当你工作在不同目录中,你将发现你有很多时间都浪费在重复输入上。如果这些目录不在同一个根目录中,你不得不在转换时输入完整的路径名,这难免让人有些难以忍受。但你可以用以下的一个或两个步骤来避免所有多余的输入:用命令行解释器中的历史记录,或者用命令行函数pushd。

用命令行解释器中的历史记录的好处是只需按很少的键。在命令行中用向上的箭头来查找你用过的命令,直到你找到,然后按回车键。如果你所切换的两个目录在整个驱动器的'子目录结构中很接近,那用解释器中的历史记录可能是你最好的选择。

然而,如果你在两个截然不同的路径间转换的话,你可能很希望利用pushd这个函数,你可以用它创建一个目录堆栈(在内存中的一个列表)。

注释:缺省情况下,pushd函数可能不包括在你的Linux中;但它包涵在Red Hat和用Red Hat驱动的系统中。如果你的系统中没有pushd函数,你可以在ibiblio.org网站上下载相关的函数工具。

这里说一下怎么用pushd。假设你现在工作在/usr/share/fonts目录下。你需要对/usr/share/fonts做一些改动,你将频繁的在两个目录间切换。开始在一个目录下,用pushd函数切换到另一个目录。在我们的例子中,开始在/usr/share/fonts下,你键入pushd/opt/wonderword/fonts,然后按回车键。现在,你将在下一行看到堆栈中的内容:

/opt/wonderword/fonts /usr/share/fonts

正如你所看到的,当你键入pushd和一个路径名时,将自动产生一个堆栈,内容是你键入的目录名和你当前工作的目录名。在我们的例子中,你所键入的路径(/opt/wonderword/fonts)在堆栈的顶部。

快速返回上一级目录,你可以直接键入pushd,如果不跟路径名,你将返回到堆栈中前一个目录的上一层目录。

如果你需要从堆栈中删除一个目录,键入popd,然后是目录名称,再按回车键。想查看堆栈中目录列表,键入dirs,然后按回车键。popd和dirs命令也是常用函数中的一部分。

Linux的一个特色就是其命令多而且功能强大, 频繁输入命令不仅麻烦而且工作量较大,虽然可以使用TAB进行>命令补足,或者使用aliase来简化某个命令的输入,但这并不能从根本上解决敲击键盘次数过多的问题。

可以把任何命令或命令的组合指定给键盘上的某个键,可以是Alt+[A-Z],

Ctrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],还有更不可思议的是甚至还可以为功能键加上“参数”,这样你按下那个键的时候,它会等待你输入相应的参数,并根据不同的参数运行不同的命令。

当然,有一些热键会被终端所捕获,如常见的Ctrl-D/C/Q/Z等,不过没关系,可用的热键还多着呢!

定义热键的配置文件为:/etc/inputrc 或 ~/.inputrc,定义热键的格式如下:

"<热键对应的ASCII字符>":"<执行的命令>"

其中热键对应的ASCII字符可以通过 "先按Ctrl-V, 然后按热键" 的方式来输入, 如Ctrl-G对应的字符为^G, Alt-P对应的字符为^[p, Ctrl-Alt-H对应的字符为^[^H.

可以用/C来代替Ctrl,/M来代替Alt, /M-/C来代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外还可以用/e代表^[.

先来看一些基本的热键定义,(这里热键里的字母不区分大小写):

"^[-":"su -/C-M" # 按Alt+- 执行su - 命令,末尾/C-M表示输入完定义的命令后回车,也可以更简洁地用一个/n来表示.

"/M-/C-G":"gaim &&>/dev/null &&disown/C-M"

# 按Ctrl-Alt-g在当前shell打开gaim, 并脱离该shell独立运行,即:即使你退出了该shell, gaim也不会关闭

其他一些组合键可以根据自己的需要配置,偶就不多说了.

大家也许会觉得这样定义热键太乱了,而且很难记住,还有一定的限制。这个问题在后面会得到解决。

一般情况下,我们可以使用上下方向键来查找命令历史列表,以此重复输入命令,但是方向键离主键盘区太远,如>果频繁使用的话,会耽误不少时间,而且挪动右手时也不太方便,有没有什么办法把方向键的功能转移到我们经常>敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找

通过定义热键可以做到这点:

"/eh":"^[OD" # move left

# Alt-H 向左移一个字符, 相当于Left Arrowgh, 这里^[OD即向上方向键的ASCII字符,输入方式与前面提到的类似

"/el":"^[OC" # move right

# Alt-L 向右移一个字符,相当于Right Arrow

"/ej":"^[OB" # move up

# Alt-J 向下移动,相当于Up Arrow

"/ek":"^[OA" # move down

# Alt-K 向上移动,相当于Down Arrow

"/ei":"^?" # left earse one character

# Alt-I 向左删除一个字符,相当于Backspace

"/eo":delete-char # right earse one character

# Alt-O 向右删除一个字符,相当于Delete

"/en":backward-kill-word # left kill one word

# Alt-N 向左删除一个单词

"/em":kill-word # right kill one word

# Alt-M 向右删除一个单词

"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head

# Alt-A 删除当前位置到开头,也就是多Alt-N几次(A-->ahead)

"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head

# Alt-E 删除当前位置到末尾,也就是多Alt-M几次(E-->end)

"/ep": insert-last-argumem"

# Alt-P 插入上一个命令最后一个参数 (P-->Paste)

"/ew": forward-word

# 系统默认Alt-F (forward)跳到当前单词词尾,如果已在词尾,则跳到下一个单词(右边一个单词)词尾

"/eq": backward-word

# 系统默认Alt-B (backward)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首

发觉F和B键离得太远,不方便,偶分别改作Alt-Q, Alt-W, 但是Alt-F/B照样可以用

这样输入命令的时候几乎可以不用离开主键盘区,而且移动光标,删除字符,删除单词,上下历史命令查找都集中>在一块,比以前方便多了。不过开始可能有些不习惯,就跟使用vi一样,但是多练几次就熟练了。

Linux下绝大部分服务的配置是基于配置文件的,一般说来,更改了某个服务的配置文件,要使其立即生效,还需重启该服务直接的或依附的守护进程才行。难道你就不觉得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx”这样做很繁琐么?如果要配置的服务较多而且要不停地调试呢?况且我们平常使用Linux时难免会不时地终止或启动某个服务进程,输入命令的次数也不少。如果为每个服务都指定一个热键的话,似乎不大可能。如果我们赋予一个热键为一个基本键,而相应的服务为其“参数”,那又如何呢?

举个例子,赋予Alt-S (S-->Start)为启动服务的基本键,服务名的前2个字符为启动“参数”,那么就可以像下面那样随意启动某个服务了:

"/essm":"service smb start/n"

# /es=Alt-s, sm=smb,

# 即:按下Alt-s后紧跟着再输入sm(这时输入的sm并不会显示在终端上),就可以启动samba的服务进程了,不必担心按下键与输入“参数”间的时间延迟问题,你按下Alt-s,然后去外面兜一圈回来,再接着输入sm,照样可以。

"/esht":"service httpd start/n" # ht=httpd,启动Apache服务

类似地,我们赋予

Alt-D(D-->shutDown) 为停止服务的基本键

Alt-R(R-->Restart) 为重启服务的基本键

Alt-T(T-->Status) 为查看服务状态的基本键

Alt-C(C-->Configure) 为打开服务对应的主配置文件的基本键

如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打开NFS的配置文件

"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打开smb的配置文件

如果某个服务(如ssh)有2个配置文件,可以在其后再加一个数字,如:

"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打开sshd服务端配置文件

"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打开sshd客户端配置文件

如果要执行某个应用程序呢?可以用Alt-x做基本键(x-->eXeccute) 如:

"/exga":"gaim &&>/dev/null &&disown &&clean /n"

"/exxm":"xmms &&>/dev/null &&disown &&clean /n"

"/exvm":"vmware &&>/dev/null &&disown &&clean /n" "/exna":"nautilus &&>/dev/null &&disown &&clean /n"

等等....

到现在为止我们只要按1个组合键+2个字符就可以实现下面众多的功能:

1. 执行指定的应用程序

2. 启动|重启|关闭|指定的服务进程

3. 查看指定服务的状态

4. 打开指定服务的指定配置文件


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8623735.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存