>  기사  >  시스템 튜토리얼  >  Linux에서 파일 폴더를 전송하는 10개의 scp 명령

Linux에서 파일 폴더를 전송하는 10개의 scp 명령

WBOY
WBOY앞으로
2024-02-10 20:30:031094검색

scp 명령의 기본 사용법

다음 명령은 把 source_file_name复制到destination_hostusername account下的destination_folderri를 의미합니다.

在 Linux 中传输文件文件夹的 10个 scp 命令

으아악

복사

scp명령에 사용할 수 있는 매개변수는 많습니다. 다음은 일상적인 작업에 사용될 수 있는 일부 매개변수입니다.

Scp 프로세스의 세부 정보를 표시하려면 -v 매개변수를 사용하세요

기본 scp 명령은 매개 변수를 사용하지 않으며 백그라운드에서 자동으로 파일을 복사합니다. 사용자는 프로세스가 종료되거나 오류가 발생한 경우에만 결과를 볼 수 있습니다.

-v 매개변수를 사용하여 디버깅 정보를 화면에 출력할 수 있습니다. 이는 연결, 인증 및 구성 문제를 해결하는 데 도움이 될 수 있습니다.

으아악
출력

Scp는 파일 복사 시 진행 상황을 표시합니다

으아악

원본 파일의 수정 시간, 접근 시간, 모드를 제공

-p 매개변수는 이 문제를 해결하는 데 도움이 됩니다. 예상 시간과 연결 속도가 화면에 표시됩니다.

으아악
출력

scp는 대용량 파일을 복사하는 데 필요한 시간을 추정합니다

으아악

파일 전송 속도를 높이려면 -C 매개변수를 사용하세요

파일 전송 속도를 높일 수 있는 매개변수 중 하나는 -C 范围。这 -C 매개변수는 언제 어디서나 파일을 압축하며, 독특한 점은 압축이 네트워크에서만 발생한다는 것입니다. 파일이 대상 서버에 도달하면 압축 전의 원래 크기로 복원됩니다.

으아악
출력

압축하지 않고 scp 파일 전송

으아악

-C 압축 허용

으아악
출력

압축을 사용하여 scp 파일을 더 빠르게 전송

으아악

네트워크를 통해 많은 수의 파일을 복사하는 경우 -C 매개변수를 사용하면 필요한 총 시간을 줄이는 데 도움이 됩니다.

压缩方法不适用于所有文件。当源文件已经被压缩时,就没有什么效果了。文件如.zip,.rar,pictures, 和.iso

更改 scp 密码以加密文件

默认情况下scp使用 AES-128 来加密文件。如果你想更改为其他密码对其进行加密,你可以使用 -c 范围。看看这个命令。

rumenz@local $ scp -c 3des Label.pdf rumenz@192.168.1.110:.

rumenz@202.x.x.x's password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

上面的命令告诉scp使用3des algorithm来加密文件。请注意此参数使用 -c不是-C

使用 scp 命令限制带宽使用

另一个可能有用的参数是 -l 范围。这 -l 参数将限制使用的带宽制 。如果你执行自动化脚本来复制大量文件,这将很有用

rumenz@local $ scp -l 400 Label.pdf rumenz@192.168.1.110:.

rumenz@202.x.x.x's password:
Label.pdf 100% 3672KB 50.3KB/s 01:13

scp 默认带宽的单位是Kilobyte/sec(KB/s)。所以如果你想限制你的带宽scp最多只有50 KB/s,你需要将其设置为50 x 8=400.

指定要与 scp 一起使用的特定端口

scp正在使用端口22作为默认端口。但出于安全原因,你可以将端口更改为另一个端口. 例如,我们使用端口2249.

rumenz@local $ scp -P 2249 Label.pdf rumenz@192.168.1.110:.

rumenz@202.x.x.x's password:
Label.pdf 100% 3672KB 262.3KB/s 00:14

递归复制目录中的文件

有时我们需要复制目录和其中的所有文件,目录

rumenz@local $ scp -r documents rumenz@192.168.1.110:.

rumenz@202.x.x.x's password:
Label.pdf 100% 3672KB 282.5KB/s 00:13
scp.txt 100% 10KB 9.8KB/s 00:00

复> 制过程完成后,你将在目标服务器上找到一个名为documents及其所有文件。文件夹documents是自动创建的。

禁用进度表和警告 / 诊断消息

rumenz@local $ scp -q Label.pdf rumenz@192.168.1.110:.

rumenz@202.x.x.x's password:
rumenz@local $

可以看到,输入密码后,没有关于 scp 进程的信息。该过程完成后,你将再次看到提示。

通过代理使用 scp 复制文件

代理服务器通常用于办公环境。scp 本身没有配置代理。当你的环境使用代理时,你必须告诉scp 与代理进行通信。

例如代理地址是10.0.96.6代理端口是8080.代理还实现了用户身份验证。首先,你需要创建 ~/.ssh/config文件

ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth

然后你需要创建文件 ~/.ssh/proxyauth 里面输入。

myusername:mypassword

前提是需要安装corkscrew

$ apt-get install corkscrew

Centos系统可以用yum安装corkscrew

# yum install corkscrew

由于 ~/.ssh/proxyauth 文件包含你的 usernamepassword 以明文格式,请确保该文件只能自己访问。

选择不同的ssh_config 文件

对于经常在公司网络和公共网络之间切换的移动用户来说,总是在scp中更改设置会很痛苦。

场景示例

代理在公司网络中使用,但不在公共网络中使用,并且你定期切换网络。

rumenz@local $ scp -F /home/pungki/proxy_ssh_config Label.pdf

rumenz@192.168.1.110:.
rumenz@202.x.x.x's password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

默认情况下 ssh_config 每个用户的文件将被放置在 ~/.ssh/config。创建一个特定的 ssh_config 具有代理兼容性的文件将更容易在网络之间切换。

当你在公司网络,你可以使用 -F 范围。当你在公共网络上时,你可以不用-F参数。

위 내용은 Linux에서 파일 폴더를 전송하는 10개의 scp 명령의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제