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

2 02 2 年,我在某个城市的时候,遇到了一个问题,不得不使用scp命令来传输大量文件。
一开始我很困惑,不知道如何使用它。
后来我意识到我需要先了解基本语法和参数。
我记得输入“scp source_file_name Destination_folder@destination_host:username”。
这就像说,我将源文件名复制到目标文件夹并使用目标主机上的用户名登录。

我最常用的参数是-v,它允许我查看连接、身份验证和配置问题等详细信息。
有时在复制文件时,进度条很有用,这样我就可以知道进度。
还有-p参数,保存了修改时间、访问时间和文件模式,这个很重要。

接下来是-C参数,它可以让我在传输的同时压缩文件,这样传输速度会更快,但要注意的是,并不是所有的文件都适合压缩。
我也尝试过使用-c参数来改变加密方式,比如使用3 des加密。

有时,我需要限制带宽,尤其是在自动脚本中复制许多文件时。
因此,我使用-l参数来限制带宽,比如5 0KB/s。

我还需要使用不同的端口。
有时默认端口 2 2 不起作用,我必须使用像 2 2 4 9 这样的端口。

递归复制目录也很有用,我可以使用它来复制整个目录及其所有文件和子目录。

有时,我不想看到进度条和警告信息,因此在输入密码后,scp 命令不会显示任何信息,直到复制完成。

在办公环境中,我通过代理服务器传输文件。
虽然 scp 命令本身不支持代理配置,但我通过设置 ~/.ssh/config 文件并创建 ~/.ssh/proxyauth 文件来实现。
这对我来说是很有挑战性的,但也是必要的。

对于经常在不同网络之间切换的移动用户,我可以为不同网络创建不同的ssh_config文件,这样在公司网络和公网之间切换时可以使用不同的配置文件。
不要忘记使用 -F 参数指定配置文件。

linux下,如何把整个文件夹上传到服务器(另一台linux)

哎呀,说起scp命令,我当时就头大了。
我记得有一次我需要将一个项目文件夹从本地计算机移动到公司服务器。
当时我对这些命令行操作还不太了解。

我当时使用的Linux系统,我记得是2 01 7 年在北京的一家小公司。
当时我在家,正在使用笔记本电脑连接到公司服务器。
这个文件夹里有我几个月努力的成果,我得赶快转达。

当时我使用了命令 scp -r /home/shaoxiaohu/project zhidao@1 9 2 .1 6 8 .0.1 :/home/test2 当时我不知道-r是递归复制,但我发现文件夹内的子文件夹和文件没有被传输,所以我认为出了问题。

后来向同事请教,得知需要加上-r参数。
后来我也遇到过服务器端口不是默认2 2 端口的情况,那一刻我很困惑。
我记得我加了-P选项并指定了端口号,是-P 2 2 2 2 ,然后再试一次,终于通过了。

还有一次,我将一个文件夹从服务器移动到本地计算机。
我使用了命令 scp -r zhidao@1 9 2 .1 6 8 .0.1 :/home/test2 /home/shaoxiaohu/project。
我当时手头有钥匙,所以直接用它来认证,省去了输入密码的麻烦。

然而,scp命令虽然强大,但有时也会遇到一些陷阱。
例如,有时网络不稳定,传输过程可能会中断,然后就必须重新开始。
另外,我记得有一次我忘记使用 -r 选项。
结果,只复制了文件夹中的文件,而没有复制子文件夹的内容。
这让我很烦恼。

总之,scp命令是个好东西,但是使用时还是要小心,尤其是像递归复制、端口号、认证方式等细节。
回想起来,当时确实碰到了很多坑。

将Linux中的文件夹打包成zip然后传到物理机中

要将Linux包文件夹传输到物理机,zip和scp是最直接的方法。

要在 CentOS 上安装 zip unzip,请 sudo yum install zip unzip -y。

压缩包 -r miabag.zip /path/folder。
将 scp 转换为 Windows 或 Linux,scp mybag.zip user@1 9 2 .1 6 8 .1 .1 00:/home/user。

使用 ls -lh /home/user/mybag.zip 检查。

除非无法使用 sz,否则请选择 scp。
你自己掂量一下吧。