| 
                            
你是否遇到过需要 SSH 登录到远程服务器并立即 cd 到一个目录来继续交互式作业?你找对地方了!这个简短的教程描述了如何直接 SSH 登录到远程 Linux 系统的特定目录。而且不仅是 SSH 登录到特定目录,你还可以在连接到 SSH 服务器后立即运行任何命令。这些没有你想的那么难。请继续阅读。 
SSH 登录到远程系统的特定目录
在我知道这个方法之前,我通常首先使用以下命令 SSH 登录到远程系统: 
$ ssh user@remote-system
  
然后如下 cd 进入某个目录: 
$ cd <some-directory>
  
然而,你不需要使用两个单独的命令。你可以用一条命令组合并简化这个任务。 
看看下面的例子。 
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix ; bash'
  
上面的命令将通过 SSH 连接到远程系统 (192.168.225.22) 并立即进入名为 /home/sk/ostechnix/ 的目录,并停留在提示符中。 
这里,-t 标志用于强制分配伪终端,这是一个必要的交互式 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 标志将 bash 设置为登录 shell。 
在上面的例子中,我在最后一个参数中使用了 bash。它是我的远程系统中的默认 shell。如果你不知道远程系统上的 shell 类型,请使用以下命令: 
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix && exec $SHELL'
  
就像我已经说过的,它不仅仅是连接到远程系统后 cd 进入目录。你也可以使用此技巧运行其他命令。例如,以下命令将进入 /home/sk/ostechnix/,然后执行命令 uname -a 。 
$ ssh -t sk@192.168.225.22 'cd /home/sk/ostechnix && uname -a && exec $SHELL'
  
或者,,你可以在远程系统上的 .bash_profile 文件中添加你想在 SSH 登录后执行的命令。 
编辑 .bash_profile 文件: 
$ nano ~/.bash_profile
  
每个命令一行。在我的例子中,我添加了下面这行: 
cd /home/sk/ostechnix >& /dev/null
  
保存并关闭文件。最后,运行以下命令更新修改。 
$ source ~/.bash_profile
  
请注意,你应该在远程系统的 .bash_profile 或 .bashrc 文件中添加此行,而不是在本地系统中。从现在开始,无论何时登录(无论是通过 SSH 还是直接登录),cd 命令都将执行,你将自动进入 /home/sk/ostechnix/ 目录。 
就是这些了。希望这篇文章有用。还有更多好东西。敬请关注! 
干杯! 
【编辑推荐】 
    - ASLR是如何保护Linux系统免受缓冲区溢出攻击的
 
    - 如何查看Linux下CPU、内存和交换分区的占用率?
 
    - 如何使用auditd来监控Linux数据中心服务器上的事件?
 
    - 3款厉害的安全Linux操作系统
 
    - Linux上最好的十六进制编辑器
 
 
【责任编辑:庞桂玉 TEL:(010)68476606】 
            点赞 0                        (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |