版权声明:转载请声明! 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
#等各种命令.....
真的是非常的低效,墨迹
一条命令快速进入到服务器指定目录中
- 例子一
ssh -t [email protected] 'cd /etc/ ; bash'
# -t选项表示强制伪终端分配,及时标准输入不是终端,如果不加的话,会有以下报错提示:
# Pseudo-terminal will not be allocated becaus stdin
使用这条命令可以直接连入linux服务器并直接
cd
到/etc
目录下
- 例子二
除了上面的命令之外,还可以使用下面的
ssh -t [email protected] 'cd /etc/ ; exec bash'
或者
ssh -t [email protected] 'cd /etc/ && exec bash -l'
# -l选项将这个bash设置为登录shell
- 上面三条命令最后参数都是
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'