如何使用SSH連接到linux服務器的指定目錄中及執(zhí)行命令
(1)在初入Linux運維職業(yè)的人中經(jīng)常遇到這樣的場景,使用
SSH命令
進入到服務器,然后在使用cd命令
進入到對應的目錄中,再開始繼續(xù)工作.這是非常沒有效率的!
(2)有沒有可以快速進入Linux服務器指定目錄,還可以實現(xiàn)SSH
連接上服務器后立即執(zhí)行一個對應的命令?有!下面會一一講到
SSH低效的操作連接方式
之前在我剛接觸
ssh
命令的時候一般都是這樣操作的
- 使用 ssh命令進入到遠程服務器
ssh -p22 root@10.0.0.11
- 連接成功進入到linux服務器后
cd directory
ls -l directory
#等各種命令.....
真的是非常的低效,墨跡
一條命令快速進入到服務器指定目錄中
- 例子一
ssh -t root@10.0.0.11 'cd /etc/ ; bash'
# -t選項表示強制偽終端分配,及時標準輸入不是終端,如果不加的話,會有以下報錯提示:
# Pseudo-terminal will not be allocated becaus stdin
使用這條命令可以直接連入linux服務器并直接
cd
到/etc
目錄下
- 例子二
除了上面的命令之外,還可以使用下面的
ssh -t root@10.0.0.11 'cd /etc/ ; exec bash'
或者
ssh -t root@10.0.0.11 'cd /etc/ && exec bash -l'
# -l選項將這個bash設置為登錄shell
- 上面三條命令最后參數(shù)都是
bash
,是因為遠程服務器默認的shell解釋器是bash
,如果不知道遠程服務器所使用的shell解釋器,可以使用以下命令;
ssh -t root@10.0.0.11 'cd /etc/ && exec $SHELL'
一條命令遠程執(zhí)行服務器命令
其實所使用的方法都是一樣的,比如我們想進入linux服務器中的 /etc/ 目錄旺聚,再執(zhí)行 ls -al 命令物舒,我們可以這樣輸入命令:
ssh -t root@10.0.0.11 'cd /etc/ && ls -l && exec $SHELL'