CentOS传输文件
在CentOS操作系统中,传输文件是一个常见的任务,无论是在本地系统之间还是在远程系统之间,本文将详细介绍如何在CentOS系统中进行文件传输,包括使用命令行工具和图形化界面工具的方法。

一、使用SCP命令传输文件
1. SCP简介
SCP(Secure Copy Protocol)是基于SSH协议的安全文件传输工具,可以在本地计算机与远程主机之间安全地传输文件。
2. 从本地到远程
要将本地文件传输到远程服务器,可以使用以下命令:
- scp /path/to/local/file username@remote_host:/path/to/remote/directory
- scp /home/user/test.txt root@192.168.1.100:/home/root/
此命令会提示输入密码,输入正确的密码后,文件开始传输。
3. 从远程到本地

要从远程服务器下载文件到本地,可以使用以下命令:
- scp username@remote_host:/path/to/remote/file /path/to/local/directory
- scp root@192.168.1.100:/home/root/test.txt /home/user/Downloads/
此命令同样会提示输入密码,输入正确的密码后,文件开始传输。
4. 常用选项
r
:递归复制整个目录。
p
:保留文件的修改时间、访问时间和访问权限。
q
:不显示进度条。

C
:在传输过程中压缩数据。
i
:指定私钥文件路径。
示例:递归复制整个目录并保留文件属性:
- scp rp /home/user/myfolder root@192.168.1.100:/home/root/
二、使用SFTP传输文件
1. SFTP简介
SFTP(SSH File Transfer Protocol)是一种基于SSH协议的文件传输协议,类似于FTP,但提供加密功能。
2. 基本操作
使用SFTP传输文件时,可以通过命令行或图形化界面工具(如FileZilla、WinSCP等)。
2.1 命令行操作
启动SFTP会话:
- sftp username@remote_host
连接成功后,可以使用以下命令进行文件传输:
get
:下载文件。
put
:上传文件。
ls
:列出远程目录中的文件。
cd
:切换目录。
bye
或exit
:退出SFTP会话。
示例:下载文件:
- sftp> root@192.168.1.100
- sftp>$ get /home/root/test.txt /home/user/Downloads/
上传文件:
- sftp> root@192.168.1.100
- sftp>$ put /home/user/test.txt /home/root/
三、使用FTP传输文件
1. FTP简介
FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的协议,但它是明文传输,不安全,一般建议使用FTP的加密版本如SFTP或FTP over SSL。
2. 安装与配置vsftpd
安装vsftpd:
- sudo yum install y vsftpd
启动并设置开机自启:
- sudo systemctl start vsftpd
- sudo systemctl enable vsftpd
配置文件位于/etc/vsftpd/vsftpd.conf
,可以进行匿名访问配置:
- anonymous_enable=YES
重启服务使配置生效:
- sudo systemctl restart vsftpd
3. 使用FTP客户端连接
可以使用FileZilla、WinSCP等FTP客户端连接到FTP服务器:
主机:服务器IP地址或域名。
端口:默认21。
用户名和密码:根据服务器配置填写。
四、使用HTTP(S)传输文件
1. HTTP(S)简介
通过Web浏览器传输文件也是一种方法,需要在CentOS服务器上设置一个Web服务器(如apache或Nginx),然后将文件放在Web服务器的根目录下,用户可以通过浏览器直接访问并下载或上传文件。
2. 安装Apache
安装Apache:
- sudo yum install y httpd
启动并设置开机自启:
- sudo systemctl start httpd
- sudo systemctl enable httpd
将文件放置在Web根目录/var/www/html
中,然后通过浏览器访问http://服务器IP或域名
即可下载文件。
五、使用NFS共享文件夹
1. NFS简介
NFS(Network File System)允许在网络中共享文件系统,适用于局域网内的文件持久性传输。
2. 配置NFS服务器
安装NFS服务器:
- sudo yum install y nfsutils
编辑导出目录配置文件/etc/exports
,添加需要共享的目录:
- /home/nfsshare *(rw,sync,no_subtree_check)
启动NFS服务并设置开机自启:
- sudo systemctl start nfsserver
- sudo systemctl enable nfsserver
在客户端挂载NFS共享:
- sudo mount t nfs 服务器IP:/home/nfsshare /mnt/nfs
用户可以在/mnt/nfs
目录下访问和传输文件。
介绍了几种在CentOS系统中常用的文件传输方法,包括SCP、SFTP、FTP、HTTP(S)和NFS,每种方法都有其适用的场景和优缺点,用户可以根据具体需求选择合适的方法进行文件传输,以下是两种常见问题及其解答:
Q1:如何在CentOS中使用SCP命令递归复制整个目录?
使用r
选项可以递归复制整个目录。
- scp r /home/user/myfolder root@192.168.1.100:/home/root/
这条命令会将本地的myfolder
目录及其所有内容复制到远程服务器的/home/root/
目录下。
Q2:如何在CentOS中使用FTP传输文件时保持文件属性不变?
FTP本身不支持直接保持文件属性不变,如果需要保持文件属性,建议使用SFTP代替FTP,SFTP不仅支持加密传输,还可以保留文件的属性,使用SFTP的命令如下:
- sftp root@192.168.1.100
- sftp>$ put p /home/user/test.txt /home/root/