在Linux系统中传输文件时,根据场景不同(本地设备、远程服务器等),传输方法和文件存放位置会有差异,本文将详细说明常见传输方式及文件存放逻辑,帮助你高效管理文件。

本地文件传输:从U盘/移动硬盘到Linux系统
当你需要通过物理设备(如U盘、移动硬盘)向Linux系统传文件时,核心步骤是“识别设备→挂载→复制→卸载”。
识别设备
插入U盘后,打开终端,使用lsblk或fdisk -l查看设备信息。lsblk会列出所有块设备,U盘通常显示为sdb、sdc等(不含sd数字的是硬盘,数字代表分区)。
创建挂载点
挂载点是Linux系统中访问设备的入口,需手动创建一个空目录。
sudo mkdir -p /mnt/usb # -p确保父目录存在
挂载设备
假设U盘是/dev/sdb1(分区编号可能不同),使用mount命令挂载:
sudo mount /dev/sdb1 /mnt/usb # 将U盘挂载到/mnt/usb
挂载后,通过cd /mnt/usb即可访问U盘内容。
复制文件
使用cp(复制小文件)、rsync(复制大文件或目录,支持增量传输)复制文件到目标位置。
cp -r /mnt/usb/documents /home/username/ # 复制documents目录到用户主目录 rsync -av /mnt/usb/videos/ /home/username/videos/ # 同步videos目录,-a保留权限,-v显示进度
卸载设备
完成操作后,需卸载设备才能安全拔出:

sudo umount /mnt/usb
远程文件传输:从其他设备/服务器到Linux系统
若需从Windows、Mac或其他Linux服务器传文件,常用网络传输工具包括scp、sftp、rsync等,需确保两台设备网络互通(如同一局域网或通过公网IP访问)。
scp(Secure Copy,基于SSH的加密传输)
适合小文件传输,命令简单,从本地传文件到远程服务器(假设远程IP为168.1.100,用户名为remote_user):
scp /local/path/file.txt remote_user@192.168.1.100:/remote/path/ # 传文件 scp -r /local/directory/ remote_user@192.168.1.100:/remote/path/ # 传目录
从远程下载到本地:
scp remote_user@192.168.1.100:/remote/path/file.txt /local/path/
sftp(SSH File Transfer Protocol,交互式文件传输)
基于SSH的加密文件传输协议,支持交互式操作(类似FTP但更安全),使用sftp命令连接远程服务器:
sftp remote_user@192.168.1.100
连接后,可通过put(上传)、get(下载)、ls(列目录)、cd(切换目录)等命令操作,
put /local/path/file.txt # 上传文件 get /remote/path/file.txt # 下载文件 exit # 退出sftp
rsync(Remote Sync,远程同步工具)
适合大文件或目录的增量同步,仅传输变化的部分,效率高,本地同步到远程:
rsync -avz /local/path/ remote_user@192.168.1.100:/remote/path/ # -z压缩传输
从远程同步到本地:

rsync -avz remote_user@192.168.1.100:/remote/path/ /local/path/
Linux系统中的文件存放位置
传输文件到Linux后,需根据文件类型选择合适的目录,遵循Linux文件系统层次标准(FHS),以下是常见目录及用途:
| 目录名 | 用途说明 | 示例场景 |
|---|---|---|
/home |
普通用户的主目录,每个用户有独立子目录(如/home/username) |
存放个人文档、配置文件、下载的文件 |
/var |
存放经常变化的文件,如日志(/var/log)、缓存(/var/cache)、邮件(/var/mail) |
服务器日志、应用缓存数据 |
/tmp |
临时文件目录,系统重启时可能清空 | 临时传输的测试文件、解压的临时包 |
/opt |
存放可选的第三方软件包 | 安装Chrome、VirtualBox等第三方软件 |
/usr/local |
用户自编译安装的软件默认位置(区别于系统自带的/usr) |
手动编译的Python、Node.js等程序 |
/root |
root用户(超级管理员)的主目录 | 系统管理员的重要配置文件 |
注意:普通用户通常没有/root、/var等系统目录的写入权限,若需在这些目录存放文件,需使用sudo提权(如sudo cp file.txt /var/log/)。
注意事项
- 权限问题:传输文件时,确保目标目录有写入权限,普通用户默认可在
/home、/tmp等目录自由操作,但系统目录需sudo。 - 路径格式:Linux路径区分大小写,且使用正斜杠而非Windows的反斜杠
。 - 网络传输安全:远程传输优先选择
scp、sftp(基于SSH加密),避免使用未加密的FTP(易被窃听)。
相关问答FAQs
Q1:为什么U盘插入Linux后,文件复制失败提示“Permission denied”?
A:通常是因为U盘挂载点(如/mnt/usb)的权限不足,解决方法:创建挂载点时赋予当前用户权限(sudo mkdir -p /mnt/usb && sudo chown $USER:$USER /mnt/usb),或使用sudo复制文件(sudo cp -r /mnt/usb/file /path/to/dest)。
Q2:从Windows向Linux传大文件时,速度很慢,如何优化?
A:可通过以下方式优化:① 使用rsync的-z选项压缩传输(减少数据量);② 检查网络带宽是否被占用(如关闭其他下载任务);③ 若局域网传输,确保设备通过网线直连(避免Wi-Fi延迟);④ 分割大文件(如使用split命令)分段传输,降低单次传输压力。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38652.html