运维开发网

在Linux系统上SSH到特定目录的方法

运维开发网 https://www.qedev.com 2021-01-13 19:07 出处:云网牛站 作者:符天
你是否曾经遇到过想要通过SSH连接到远程服务器并立即进入目录并继续以交互方式工作的情况?本文将介绍如何直接SSH到远程Linux系统的特定目录,不只是SSH到特定目录,你可以在连接

你是否曾经遇到过想要通过SSH连接到远程服务器并立即进入目录并继续以交互方式工作的情况?本文将介绍如何直接SSH到远程linux系统的特定目录,不只是SSH到特定目录,你可以在连接到SSH服务器后立即立即运行任何命令。安装SSH请参考图解在Ubuntu 18.10系统下安装ssh的方法、在Ubuntu 18.04系统中启用SSH登录的方法。

在Linux系统上SSH到特定目录的方法

 

SSH进入远程系统的特定目录

在我知道这个方法之前,我通常首先使用命令SSH到远程远程系统:

$ ssh [email protected]

然后cd进入如下目录:

$ cd <some-directory>

但是,你不需要使用两个单独的命令,可以使用一个命令组合这些命令并简化任务。

看看下面的例子:

$ ssh -t [email protected] 'cd /home/sk/ywnz ; bash'

上面的命令将通过SSH连接到远程系统(192.168.225.22)并立即进入名为'/home/sk/ywnz /'目录的目录,并在提示符处留下自己的位置。

这里,-t标志用于强制伪终端分配,这是必要的或交互式shell。

以下是上述命令的示例输出(动画图片):

在Linux系统上SSH到特定目录的方法

也可以使用下面命令:

$ ssh -t [email protected] 'cd /home/sk/ywnz ; exec bash'

或者:

$ ssh -t [email protected] 'cd /home/sk/ywnz && exec bash -l'

这里,-l标志将bash设置为登录shell。

在上面的例子中,我在最后一个参数中使用了bash,它是我的远程系统中的默认shell,如果你不知道远程系统上的shell类型,请使用以下命令:

$ ssh -t [email protected] 'cd /home/sk/ywnz && exec $SHELL'

就像我已经说过的,这不仅仅是连接到远程系统后进入目录的CD,你也可以使用此技巧运行其他命令,例如,以下命令将使你进入'/home/sk/ywnz/'目录,然后执行'uname -a'命令:

$ ssh -t [email protected] 'cd /home/sk/ywnz && uname -a && exec $SHELL'

或者,你可以在连接到远程系统的.bash_profile文件上的SSH服务器之后添加要运行的命令。

编辑.bash_profile文件:

$ nano ~/.bash_profile

逐个添加命令,在我的情况下,我添加以下行:

cd /home/sk/ywnz >& /dev/null

保存并关闭文件,最后,运行以下命令以更新更改:

$ source ~/.bash_profile

请注意,你应该在远程系统的.bash_profile或.bashrc文件(什么是bashrc配置文件,如何对其进行编辑)中添加此行,而不是在本地系统中。

 

结语

经过以上操作,就可以从现在开始,无论何时登录(无论是通过SSH还是直接登录),cd命令都将执行,你将自动登陆“/home/sk/ywnz/”目录。

 

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号