如何SSH登录到Linux指定目录

image

你是否遇到过需要 SSH 登录到远程服务器并立即 cd 到一个目录来继续交互式作业?你找对地方了!这个简短的教程描述了如何直接 SSH 登录到远程 Linux 系统的特定目录。而且不仅是 SSH 登录到特定目录,你还可以在连接到 SSH 服务器后立即运行任何命令。这些没有你想的那么难。请继续阅读。

SSH 登录到远程系统的特定目录

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

$ ssh user@remote-system

然后如下 cd 进入某个目录:

$ cd <some-directory>

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

看看下面的例子。

$ ssh -t tts@192.168.1.104 'cd /home/tts/video ; bash'

上面的命令将通过 SSH 连接到远程系统 (192.168.1.104) 并立即进入名为 /home/tts/video/ 的目录,并停留在提示符中。

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

你也可以使用此命令:

$ ssh -t tts@192.168.1.104 'cd /home/tts/video ; exec bash'

或者,

$ ssh -t tts@192.168.1.104 'cd /home/tts/video && exec bash -l'

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

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

$ ssh -t tts@192.168.1.104 'cd /home/tts/video && exec $SHELL'

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

$ ssh -t tts@192.168.1.104 'cd /home/tts/video && uname -a && exec $SHELL'

或者,你可以在远程系统上的 .bash_profile 文件中添加你想在 SSH 登录后执行的命令。

编辑 .bash_profile 文件:

$ nano ~/.bash_profile

每个命令一行。在我的例子中,我添加了下面这行:

cd /home/tts/video >& /dev/null

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

$ source ~/.bash_profile

请注意,你应该在远程系统的 .bash_profile 或 .bashrc 文件中添加此行,而不是在本地系统中。从现在开始,无论何时登录(无论是通过 SSH 还是直接登录),cd 命令都将执行,你将自动进入 /home/tts/video/ 目录。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,435评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,803评论 0 10
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,532评论 0 16
  • 平常两元钱能买到两支笔,如果两元钱能给别人带来方便,那么价值更大。 这是个真实的故事。 有一天,我下班坐着无人售票...
    素兴心地阅读 627评论 4 10
  • 晨曦故里水墨画, 翠绿自然风拂清。 河面如镜栖鸟立, 水天一色朦胧景。 灵秀水润诗情意, 魅力寻趣迷人境。 陶醉溜...
    铭帅之念阅读 462评论 3 6