如何使用SSH连接到linux服务器的指定目录中及执行命令

版权声明:转载请声明! https://blog.csdn.net/qq_34672033/article/details/89633266

如何使用SSH连接到linux服务器的指定目录中及执行命令

(1)在初入Linux运维职业的人中经常遇到这样的场景,使用SSH命令进入到服务器,然后在使用cd命令进入到对应的目录中,再开始继续工作.这是非常没有效率的!
 (2)有没有可以快速进入Linux服务器指定目录,还可以实现SSH连接上服务器后立即执行一个对应的命令?有!下面会一一讲到

SSH低效的操作连接方式

之前在我刚接触ssh命令的时候一般都是这样操作的

  • 使用 ssh命令进入到远程服务器
ssh -p22 [email protected]
  • 连接成功进入到linux服务器后
cd directory
ls -l directory
#等各种命令..... 

真的是非常的低效,墨迹

一条命令快速进入到服务器指定目录中

  1. 例子一
ssh  -t [email protected] 'cd  /etc/ ; bash'

# -t选项表示强制伪终端分配,及时标准输入不是终端,如果不加的话,会有以下报错提示:
# Pseudo-terminal will not be allocated becaus stdin

使用这条命令可以直接连入linux服务器并直接cd/etc目录下

  1. 例子二
    除了上面的命令之外,还可以使用下面的
ssh -t [email protected] 'cd /etc/ ; exec bash'

或者

ssh -t [email protected] 'cd  /etc/ && exec bash -l'

# -l选项将这个bash设置为登录shell
  1. 上面三条命令最后参数都是bash,是因为远程服务器默认的shell解释器是bash,如果不知道远程服务器所使用的shell解释器,可以使用以下命令;
ssh -t [email protected] 'cd /etc/ && exec $SHELL'

一条命令远程执行服务器命令

其实所使用的方法都是一样的,比如我们想进入linux服务器中的 /etc/ 目录,再执行 ls -al 命令,我们可以这样输入命令:

ssh -t [email protected] 'cd /etc/ && ls -l && exec $SHELL'

猜你喜欢

转载自blog.csdn.net/qq_34672033/article/details/89633266