迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

Bash 从远程目录复制所有文件

作者:迹忆客 最近更新:2023/05/18 浏览次数:

本文介绍了在网络上的不同主机之间复制文件的方法。 此外,它还探讨了 scp 命令以及如何使用它从远程位置复制文件。


scp 命令

安全复制协议 (SCP) 是一种安全复制的网络协议,有助于在兼容 Unix 的操作系统之间顺利复制文件和文件夹。

scp 命令是 cp 命令的更安全的变体。 它在通过安全外壳 (SSH) 连接进行远程复制期间对密码和文件进行加密,从而保护通信免受嗅探攻击。

有关 scp 的更多信息,请使用以下命令。

man scp

手册页(手册页的简称)是一个 Unix 实用程序,它显示有关系统调用、库调用、正式标准和约定,甚至是抽象概念的信息。 由于手册页与内核一起下载,因此不需要互联网连接。


在 Bash 中复制文件

在 Bash、cp、cat、vim(任何文本编辑器)中有多种复制文件的方法,而 scp 只是我们可以这样做的众多方法中的一部分。 下面的代码探讨了在 Bash 中复制文件的方法。

  1. cp <源文件>.txt <目标文件>.txt
  2. cat 0<source_file.txt 1>destination_file.txt
  3. cat <source_file.txt >destination_file.txt

在 Bash 中复制文件

第一种方法从源文件复制内容,然后将它们粘贴到目标文件中。 重要的是要注意 cp 会将内容粘贴到目标文件,即使它不存在。

它这样做是因为内核将自动创建目标文件。

第二种方法使用您在操作系统课程中学习过的概念。 回忆一下ppfdt(进程文件描述符表),文件描述符0指向键盘(stdin),文件描述符1指向监视器(stdout),文件描述符2指向监视器(stderror)。

第二种方法覆盖描述符 0 以指向源文件。 它还会覆盖标准输出以指向目标文件。

方法三与方法二类似,只是在该方法中,描述符3指向源文件,而描述符4指向目标文件。

在方法 2 和 3 中,都是从源文件读取,而写入目标文件。 再次强调,即使目标文件不存在,内核也会将内容粘贴到目标文件中。

这是因为内核会自动创建目标文件。

在 Bash 中跨远程位置安全地复制文件

scp 命令的一般语法如下。

scp [option] [user_name@source_host:path/to/source/file] [user_name@target_host:destination/path]

如果我们不提供任何用户名,则 scp 将使用当前用户作为默认用户。 如果排除目标路径,scp 命令会考虑从源复制到当前本地路径。

同样,省略源路径将导致 scp 命令使用当前本地路径作为复制文件的源。

在该选项中,如果指定-r,它会递归地复制所有文件和子目录。 所以如果你想复制文件,不要指定任何选项。 它会复制文件,但会排除子目录。

scp 相对于其他命令的好处是它在加密文件时更加安全。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便