如何SSH登錄到Linux上的特定目錄
你是否遇到過(guò)需要 SSH 登錄到遠(yuǎn)程服務(wù)器并立即 cd
到一個(gè)目錄來(lái)繼續(xù)交互式作業(yè)?你找對(duì)地方了!這個(gè)簡(jiǎn)短的教程描述了如何直接 SSH 登錄到遠(yuǎn)程 Linux 系統(tǒng)的特定目錄。而且不僅是 SSH 登錄到特定目錄,你還可以在連接到 SSH 服務(wù)器后立即運(yùn)行任何命令。這些沒(méi)有你想的那么難。請(qǐng)繼續(xù)閱讀。
SSH 登錄到遠(yuǎn)程系統(tǒng)的特定目錄
在我知道這個(gè)方法之前,我通常首先使用以下命令 SSH 登錄到遠(yuǎn)程系統(tǒng):
$ ssh user@remote-system
然后如下 cd
進(jìn)入某個(gè)目錄:
$ cd <some-directory>
然而,你不需要使用兩個(gè)單獨(dú)的命令。你可以用一條命令組合并簡(jiǎn)化這個(gè)任務(wù)。
看看下面的例子。
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix ; bash'
上面的命令將通過(guò) SSH 連接到遠(yuǎn)程系統(tǒng) (192.168.225.22) 并立即進(jìn)入名為 /home/sk/ostechnix/
的目錄,并停留在提示符中。
這里,-t
標(biāo)志用于強(qiáng)制分配偽終端,這是一個(gè)必要的交互式 shell。
以下是上面命令的輸出:
你也可以使用此命令:
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix ; exec bash'
或者,
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix && exec bash -l'
這里,-l
標(biāo)志將 bash 設(shè)置為登錄 shell。
在上面的例子中,我在后面一個(gè)參數(shù)中使用了 bash
。它是我的遠(yuǎn)程系統(tǒng)中的默認(rèn) shell。如果你不知道遠(yuǎn)程系統(tǒng)上的 shell 類(lèi)型,請(qǐng)使用以下命令:
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix && exec $SHELL'
就像我已經(jīng)說(shuō)過(guò)的,它不僅僅是連接到遠(yuǎn)程系統(tǒng)后 cd
進(jìn)入目錄。你也可以使用此技巧運(yùn)行其他命令。例如,以下命令將進(jìn)入 /home/sk/ostechnix/
,然后執(zhí)行命令 uname -a
。
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix && uname -a && exec $SHELL'
或者,你可以在遠(yuǎn)程系統(tǒng)上的 .bash_profile
文件中添加你想在 SSH 登錄后執(zhí)行的命令。
編輯 .bash_profile
文件:
$ nano ~/.bash_profile
每個(gè)命令一行。在我的例子中,我添加了下面這行:
cd /home/sk/ostechnix >& /dev/null
保存并關(guān)閉文件。運(yùn)行以下命令更新修改。
$ source ~/.bash_profile
請(qǐng)注意,你應(yīng)該在遠(yuǎn)程系統(tǒng)的 .bash_profile
或 .bashrc
文件中添加此行,而不是在本地系統(tǒng)中。從現(xiàn)在開(kāi)始,無(wú)論何時(shí)登錄(無(wú)論是通過(guò) SSH 還是直接登錄),cd
命令都將執(zhí)行,你將自動(dòng)進(jìn)入 /home/sk/ostechnix/
目錄。
就是這些了。希望這篇文章有用。還有更多好東西。敬請(qǐng)關(guān)注!
干杯!