如何传输文件夹到Linux系统?

在Linux系统中传输文件夹是日常运维和开发中的常见需求,无论是从本地上传到远程服务器,还是在不同Linux系统间共享数据,都需要选择合适的方法,以下是几种主流的文件夹传输方式及详细操作步骤,帮助用户高效完成文件传输任务。

如何给linux系统传文件夹里

使用SCP(Secure Copy Protocol)传输

SCP是基于SSH的安全文件传输协议,适合在Linux与Linux、Linux与Windows(通过WSL或PuTTY)之间传输文件夹,且传输过程加密,安全性较高。

操作步骤

  1. 基本命令格式

    scp -r /本地文件夹路径 用户名@远程服务器IP:/远程目标路径
    • -r:递归复制整个目录,必须参数;
    • 用户名@远程服务器IP:远程服务器的登录用户和IP地址;
    • /远程目标路径:文件夹在远程服务器的存放位置。
  2. 示例
    将本地/home/user/docs文件夹传输到远程服务器168.1.100/opt目录下,远程用户为root

    scp -r /home/user/docs root@192.168.1.100:/opt
  3. 注意事项

    • 需确保远程服务器已开启SSH服务(默认22端口);
    • 若修改过SSH端口,需用-P参数指定,如-P 2222
    • 传输大文件夹时,可通过-C参数开启压缩,提升速度:scp -rC /本地路径 用户@IP:/远程路径

使用SFTP(SSH File Transfer Protocol)传输

SFTP是SSH的一部分,提供交互式文件传输功能,支持上传、下载、删除等操作,适合需要频繁管理文件的场景。

操作步骤

如何给linux系统传文件夹里

  1. 连接远程服务器
    sftp 用户名@远程服务器IP
  2. 上传文件夹
    连接成功后,使用put命令上传,-r参数表示递归:

    put -r /本地文件夹路径 /远程目标路径
  3. 示例
    上传本地/home/user/projects到远程服务/tmp目录:

    put -r /home/user/projects /tmp
  4. 图形化工具
    可使用FileZilla、WinSCP(Windows)等图形化客户端,输入服务器IP、用户名、密码后,直接拖拽文件夹传输,适合不熟悉命令行的用户。

使用rsync(Remote Sync)传输

rsync是远程同步工具,支持增量传输(仅同步变化的部分),适合大文件夹或频繁同步的场景,效率较高。

操作步骤

  1. 基本命令格式

    rsync -avz /本地文件夹路径 用户名@远程服务器IP:/远程目标路径
    • -a:归档模式,保留文件权限、时间戳等属性;
    • -v:显示传输过程;
    • -z:压缩传输数据,减少网络流量。
  2. 示例
    同步本地/home/user/data到远程服务器/backup目录:

    rsync -avz /home/user/data root@192.168.1.100:/backup
  3. 本地同步
    若在同一台Linux系统内传输文件夹,可直接省略用户和IP:

    rsync -avz /源路径 /目标路径

搭建FTP/SFTP服务器传输

若需要长期、多用户共享文件夹,可搭建FTP(如vsftpd)或SFTP服务器。

以vsftpd(FTP)为例

如何给linux系统传文件夹里

  1. 安装服务
    sudo apt install vsftpd  # Debian/Ubuntu
    sudo yum install vsftpd  # CentOS/RHEL
  2. 配置共享目录
    编辑/etc/vsftpd.conf,开启write_enable=YES,设置chroot_local_user=YES(限制用户访问主目录),并指定共享目录(如local_root=/var/ftp/share)。
  3. 创建用户并授权
    sudo useradd -d /var/ftp/share ftpuser  # 创建用户并指定主目录
    sudo passwd ftpuser  # 设置密码
  4. 启动服务
    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd
  5. 客户端连接
    使用FileZilla等工具,输入服务器IP、用户名、密码,传输文件夹。

使用共享文件夹(如Samba)传输

若需要在Windows和Linux之间传输文件夹,可搭建Samba(SMB/CIFS协议)服务。

操作步骤

  1. 安装Samba
    sudo apt install samba  # Debian/Ubuntu
  2. 配置共享
    编辑/etc/samba/smb.conf,添加共享目录配置:

    [shared]
    path = /home/user/share
    writable = yes
    guest ok = no
    valid users = user1
  3. 创建Samba用户
    sudo smbpasswd -a user1  # 设置Samba密码
  4. 启动服务
    sudo systemctl start smbd
  5. Windows访问
    在Windows文件资源管理器地址栏输入\Linux服务器IPshared,输入用户名密码后即可传输文件夹。

不同传输方式对比

方法 适用场景 优点 缺点 常用命令/工具
SCP 快速、安全的小文件夹传输 加密传输,简单易用 无增量传输,大文件效率低 scp -r
SFTP 需要交互式管理文件 支持多操作,安全性高 需要SSH支持,速度一般 sftp、FileZilla
rsync 大文件夹、增量同步 高效,支持保留文件属性 需要两端安装rsync rsync -avz
FTP/SFTP 多用户长期共享 灵活配置用户权限 需搭建服务,配置较复杂 vsftpd、openssh-server
Samba Windows与Linux互传 Windows原生支持 仅适合局域网,安全性需配置 smb.conf、Windows网络

相关问答FAQs

Q1:传输大文件夹时速度很慢,如何优化?
A:可通过以下方式优化:① 使用rsync -avz开启压缩和增量传输,减少数据量;② 检查网络带宽,避免其他占用带宽的应用;③ 调整SSH或rsync的缓冲区大小(如ssh -C -c arcfour使用弱加密提升速度);④ 若本地与服务器在同一内网,优先使用有线连接而非Wi-Fi。

Q2:如何确保传输后文件夹权限与原文件夹一致?
A:不同工具需使用不同参数保留权限:① SCP默认保留权限,无需额外参数;② rsync使用-a参数(包含-p保留权限);③ SFTP传输时,若权限异常,可在远程服务器用chmod -R 755 /目标路径手动调整;④ 搭建FTP/Samba服务时,需在配置文件中设置chmod=777或正确分配用户权限。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38616.html

(0)
酷番叔酷番叔
上一篇 2025年10月8日 23:41
下一篇 2025年10月8日 23:59

相关推荐

  • Linux如何查看MySQL的进程号?

    在Linux系统中,查看MySQL的进程号(PID)是日常运维和故障排查中的常见操作,尤其是在需要终止进程、监控资源占用或调试连接问题时,以下是几种常用的查看方法,涵盖不同场景和需求,并附详细操作步骤和示例,使用ps命令查看进程详情ps(Process Status)是Linux中最基础的进程查看工具,通过组合……

    2025年8月29日
    12900
  • Linux如何查看U盘设备名称?

    常用命令行方法使用 lsblk 命令(推荐)作用:列出所有块设备(包括U盘),显示设备名称、挂载点及分区树状结构,操作步骤:lsblk输出示例:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 238.5G 0 disk├─sda1 8:1 0 512M 0 pa……

    2025年7月31日
    13200
  • 如何查看Linux网卡的MAC地址?

    在Linux系统中,MAC地址(Media Access Control Address)是网卡的物理地址,由48位二进制数组成,通常以十六进制格式表示(如00:1A:2B:3C:4D:5E),用于在网络中唯一标识网卡设备,查看MAC地址是网络配置、故障排查或安全认证时的常见需求,本文将详细介绍多种查看Linu……

    2025年9月20日
    13900
  • Linux如何生成及打开sh文件?

    在Linux系统中,sh文件(Shell脚本文件)是自动化任务的重要工具,通过编写一系列命令并保存为.sh文件,可实现重复性操作的批量执行,本文将详细介绍Linux环境下如何生成sh文件、如何打开及编辑sh文件,以及执行sh文件的核心步骤,帮助新手快速掌握Shell脚本的基础操作,sh文件的基本概念sh文件是S……

    2025年9月20日
    13600
  • 如何临时进入GRUB菜单?

    在Linux系统中,GRUB(GRand Unified Bootloader)是大多数发行版的默认引导程序,负责加载操作系统内核,进入GRUB菜单通常用于修复系统启动问题、选择内核版本、进入恢复模式或调整启动参数,以下是详细方法及注意事项:在开机过程中快速按键是最常用方式,但时机要求严格:传统BIOS/MBR……

    2025年7月15日
    16900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信