歡迎光臨
每天分享高質量文章

如何 SSH 登錄到 Linux 上的特定目錄 | Linux 中國

這個簡短的教程描述瞭如何直接 SSH 登錄到遠程 Linux 系統的特定目錄。而且不僅是 SSH 登錄到特定目錄,你還可以在連接到 SSH 服務器後立即運行任何命令。

— Sk

 

你是否遇到過需要 SSH 登錄到遠程服務器並立即 cd 到一個目錄來繼續交互式作業?你找對地方了!這個簡短的教程描述瞭如何直接 SSH 登錄到遠程 Linux 系統的特定目錄。而且不僅是 SSH 登錄到特定目錄,你還可以在連接到 SSH 服務器後立即運行任何命令。這些沒有你想的那麼難。請繼續閱讀。

SSH 登錄到遠程系統的特定目錄

在我知道這個方法之前,我通常首先使用以下命令 SSH 登錄到遠程系統:

  1. $ ssh [email protected]-system

然後如下 cd 進入某個目錄:

  1. $ cd <some-directory>

然而,你不需要使用兩個單獨的命令。你可以用一條命令組合併簡化這個任務。

看看下麵的例子。

  1. $ ssh -t [email protected].168.225.22 'cd /home/sk/ostechnix ; bash'

上面的命令將通過 SSH 連接到遠程系統 (192.168.225.22) 並立即進入名為 /home/sk/ostechnix/ 的目錄,並停留在提示符中。

這裡,-t 標誌用於強制分配偽終端,這是一個必要的交互式 shell。

以下是上面命令的輸出:

你也可以使用此命令:

  1. $ ssh -t [email protected].168.225.22 'cd /home/sk/ostechnix ; exec bash'

或者,

  1. $ ssh -t [email protected].168.225.22 'cd /home/sk/ostechnix && exec bash -l'

這裡,-l 標誌將 bash 設置為登錄 shell。

在上面的例子中,我在最後一個引數中使用了 bash。它是我的遠程系統中的預設 shell。如果你不知道遠程系統上的 shell 型別,請使用以下命令:

  1. $ ssh -t [email protected].168.225.22 'cd /home/sk/ostechnix && exec $SHELL'

就像我已經說過的,它不僅僅是連接到遠程系統後 cd 進入目錄。你也可以使用此技巧運行其他命令。例如,以下命令將進入 /home/sk/ostechnix/,然後執行命令 uname -a 。

  1. $ ssh -t [email protected].168.225.22 'cd /home/sk/ostechnix && uname -a && exec $SHELL'

或者,你可以在遠程系統上的 .bash_profile 檔案中添加你想在 SSH 登錄後執行的命令。

編輯 .bash_profile 檔案:

  1. $ nano ~/.bash_profile

每個命令一行。在我的例子中,我添加了下麵這行:

  1. cd /home/sk/ostechnix >& /dev/null

儲存並關閉檔案。最後,運行以下命令更新修改。

  1. $ source ~/.bash_profile

請註意,你應該在遠程系統的 .bash_profile 或 .bashrc 檔案中添加此行,而不是在本地系統中。從現在開始,無論何時登錄(無論是通過 SSH 還是直接登錄),cd 命令都將執行,你將自動進入 /home/sk/ostechnix/ 目錄。

就是這些了。希望這篇文章有用。還有更多好東西。敬請關註!

乾杯!

赞(0)

分享創造快樂