一、OpenSSH 客户端常见命令有哪些

原始笔记把 OpenSSH 客户端侧最常见的工具总结为三类:

  • scp:远程传输文件
  • ssh:远程连接
  • sftp:远程传输文件,很多开发会配合图形化工具使用

这三者几乎覆盖了 Linux 远程管理中最基础的日常操作。

二、scp 怎么用来远程传文件

2.1 scp 的常用格式

scp 文件/目录 用户名@IP:路径

它最常见的场景就是:

  • 把本地文件推送到远端服务器

2.2 scp 常用选项

原始笔记里列出了三个高频参数:

  • -r:递归传输目录
  • -p:保持属性信息不变
  • -P:指定端口号,注意是大写 P

2.3 scp 示例

把本地 /etc/hostname 复制到远程服务器 /tmp/

scp -rp -P 22 /etc/hostname root@10.0.0.41:/tmp/

这个例子同时用到了:

  • 递归或保留属性相关参数
  • 指定 SSH 端口

非常适合作为 scp 的入门模板。

三、ssh 的两类核心用途

原始笔记给出的总结很准确,ssh 主要有两类功能:

  • 远程连接服务器
  • 远程连接后直接执行命令或脚本

其中第二类能力,在自动化和批量管理场景里非常重要。

3.1 远程登录

示例:

ssh -p 22 oldboy@10.0.0.41

表示使用 oldboy 用户连接远端 10.0.0.4122 端口。

3.2 远程执行单条命令

示例:

ssh -p 22 oldboy@10.0.0.41 whoami

这种方式很适合做:

  • 快速检查远程身份
  • 远程执行简单查询命令

3.3 远程执行多条命令

原始笔记给出了两个写法:

ssh -p22 nfs01 "whoami && pwd && hostname -I"
ssh -p22 nfs01 "whoami ; pwd ; hostname -I"

这说明 ssh 不只是“登录进去再手动敲命令”,它也可以直接作为远程命令执行工具使用。

四、远程执行命令时为什么要注意 &&;

原始笔记专门解释了两种符号。

4.1 &&

表示:

  • 前一个命令成功后,再执行后一个命令

这种写法更适合“有依赖关系”的命令链。

4.2 ;

表示:

  • 单纯把多条命令隔开
  • 相当于一行结束后继续执行下一行

这种写法更适合“即使前面失败也继续往下跑”的场景。

五、为什么原始笔记提醒不要用 SSH 执行交互式命令

原始笔记在 ssh 部分特别提醒:

  • 不要执行交互式命令

原因很简单,ssh "命令" 这种用法更适合非交互、一次性执行的任务,例如:

  • whoami
  • hostname -I
  • pwd

如果命令本身需要持续交互输入,就不太适合直接这样写,容易出现执行体验或自动化流程异常。

六、sftp 怎么理解

原始笔记把 sftp 放在 OpenSSH 客户端命令里,是因为它本质上也是基于 OpenSSH 提供的文件传输能力。

6.1 ftpsftp 的关系

笔记里对比了:

  • 传统 ftp:服务端端口通常是 2120
  • sftp:由 sshd 提供,端口通常是 22

这意味着:

  • sftp 不需要额外单独搞一套传统 FTP 服务
  • 只要 SSH 服务可用,通常也就具备 SFTP 能力

6.2 常见使用方式

原始笔记提到,很多开发实际并不是纯命令行使用,而是通过图形化工具,例如:

  • Xftp
  • WinSCP

这也是企业环境里非常常见的实际用法。

七、传大文件时该优先考虑什么

原始笔记最后提醒了一点:

  • 如果上传大文件,建议使用 ftpscp

结合上下文去理解,重点其实是:

  • 对于稳定、明确的文件传输任务,使用专门的传输方式更合适
  • scp 在 Linux 环境里通常是非常直接的选择

八、如何给这三个命令建立最简单的记忆方式

可以直接用一句话记:

  • ssh:我想连过去操作
  • scp:我想把文件传过去
  • sftp:我想更方便地传文件,尤其适合图形化工具场景

这样在实际工作里,看到需求就比较容易快速选出对应命令。

九、小结

OpenSSH 客户端这部分最值得优先掌握的内容有:

  • scp 的基本格式和常用参数
  • ssh 的登录用法和远程执行命令用法
  • &&; 在远程命令执行里的区别
  • sftp 和传统 ftp 的关系
  • 图形化工具如 XftpWinSCP 在实际使用中的位置

把这三个客户端命令练熟之后,Linux 远程连接、文件传输和简单自动化操作就已经具备了非常扎实的基础。