一、使用SCP命令(基于SSH协议)
1、准备工作
确保本地机器和服务器都已经安装了SSH客户端和服务器端软件,并且服务器端的SSH服务是正常运行的,在Linux系统中,一般默认安装了OpenSSH相关组件,如果没有安装可以使用包管理工具进行安装,例如在Ubuntu或Debian系统上可以使用sudo apt-get install openssh-client openssh-server
命令来安装。
获取服务器的IP地址、用户名以及相应的权限(例如密码或者密钥对)。
2、从本地拷贝文件到服务器
打开本地终端(Windows系统可以使用PowerShell或者Git Bash等,Linux和Mac系统使用自带的终端即可)。
使用以下基本命令格式:
scp 本地文件路径 用户名@服务器IP:服务器目标路径
如果想把本地当前目录下的一个名为example.txt
的文件拷贝到服务器192.168.1.100
的/home/user/documents
目录下,且服务器用户名也是user
,那么命令如下:
scp example.txt user@192.168.1.100:/home/user/documents
执行该命令后,会提示输入服务器用户的密码(如果是基于密码认证的方式),输入正确的密码后,文件就会开始传输,传输过程中会显示进度信息,如传输速度、已完成百分比等。
3、从服务器拷贝文件到本地
同样在本地终端中,使用以下基本命令格式:
scp 用户名@服务器IP:服务器文件路径 本地目标路径
想把服务器192.168.1.100
上/home/user/documents/example.txt
文件拷贝到本地当前目录下,命令如下:
scp user@192.168.1.100:/home/user/documents/example.txt .
这里的.
表示当前目录,也可以指定其他本地路径来保存文件。
4、使用SCP的高级选项
递归拷贝整个目录:如果要拷贝的不是一个单独文件,而是一个目录及其下属所有文件和子目录,可以使用-r
参数。
scp -r 本地目录路径 用户名@服务器IP:服务器目标目录路径
限制带宽:如果网络带宽有限,不想占用过多资源,可以使用-l
参数来限制传输速度,限制为1MB/s:
scp -l 1000 本地文件路径 用户名@服务器IP:服务器目标路径
压缩传输:对于大文件或者大量小文件的传输,可以使用-C
参数启用压缩,提高传输效率:
scp -C 本地文件路径 用户名@服务器IP:服务器目标路径
二、使用Rsync命令
1、准备工作
Rsync同样需要服务器支持SSH连接(和SCP类似),确保相关环境配置正确,在大多数Linux发行版中可以通过包管理工具安装Rsync,例如在CentOS系统中使用sudo yum install rsync
命令进行安装。
2、从本地同步文件到服务器
打开本地终端,使用以下基本命令格式:
rsync -avz 本地源文件或目录 用户名@服务器IP:服务器目标目录
参数含义如下:
-a
:归档模式,表示递归传输,并保持文件属性(如权限、时间戳等)。
-v
:详细输出模式,会显示详细的传输过程信息。
-z
:在传输过程中压缩数据,提高传输效率。
将本地当前目录下的所有文件同步到服务器192.168.1.100
的/home/user/backup
目录下:
rsync -avz . user@192.168.1.100:/home/user/backup
如果只想同步有变化的文件(增量同步),可以使用--update
参数:
rsync -avz --update 本地源文件或目录 用户名@服务器IP:服务器目标目录
3、从服务器同步文件到本地
与从本地同步到服务器的命令类似,只是源和目标位置互换:
rsync -avz 用户名@服务器IP:服务器源文件或目录 本地目标目录
将服务器192.168.1.100
上/home/user/documents
目录下的所有文件同步到本地当前目录:
rsync -avz user@192.168.1.100:/home/user/documents .
4、Rsync的更多功能
删除服务器上不存在于本地的文件:使用--delete
参数,在同步过程中如果服务器上有某些文件在本地已经不存在了,那么这些文件也会被删除(谨慎使用):
rsync -avz --delete 本地源文件或目录 用户名@服务器IP:服务器目标目录
排除特定文件或目录:通过--exclude
参数可以指定不想同步的文件或目录,要排除名为temp
的目录:
rsync -avz --exclude 'temp' 本地源文件或目录 用户名@服务器IP:服务器目标目录
三、使用FTP(文件传输协议)
1、准备工作
确保服务器端已经安装了FTP服务器软件(如vsftpd、proftpd等),并且已经正确配置好允许客户端连接和访问的相关权限,在Linux系统中安装vsftpd可以使用包管理工具,例如在Ubuntu系统上使用sudo apt-get install vsftpd
命令进行安装。
获取FTP服务器的IP地址、端口号(默认是21)、用户名和密码。
2、使用FTP客户端连接服务器并进行文件拷贝
使用命令行FTP客户端(适用于多种操作系统)
在本地终端中输入ftp
命令并回车,进入FTP交互界面。
ftp> open 服务器IP 端口号
假设服务器IP是192.168.1.100
,端口号是21,那么输入:
ftp> open 192.168.1.100 21
输入用户名和密码登录到FTP服务器后,就可以使用相关命令进行文件操作了,常用的命令如下:
切换工作目录:使用cd
命令,切换到服务器上的/home/user/documents
目录:
ftp> cd /home/user/documents
上传文件:使用put
命令,将本地当前目录下的example.txt
文件上传到服务器当前目录:
ftp> put example.txt
下载文件:使用get
命令,将服务器当前目录下的example.txt
文件下载到本地当前目录:
ftp> get example.txt
列出服务器目录内容:使用ls
命令查看服务器当前目录下的文件和子目录列表:
ftp> ls
完成操作后,输入bye
或者quit
命令退出FTP交互界面:
ftp> bye
使用图形化FTP客户端(以FileZilla为例,适用于Windows、Mac和Linux系统)
下载并安装FileZilla客户端软件(可以从其官方网站https://filezilla-project.org/下载)。
打开FileZilla软件后,在界面中填写主机(即FTP服务器IP地址)、端口(默认21)、用户名和密码等信息,然后点击“快速连接”按钮连接到FTP服务器。
连接成功后,在左侧窗口中会显示本地文件系统结构,右侧窗口会显示FTP服务器上的文件系统结构,可以通过拖放文件或者右键菜单中的“上传”和“下载”等选项来进行文件拷贝操作,要将本地的一个文件上传到服务器,只需在左侧窗口中找到该文件,然后将其拖放到右侧窗口对应的目标目录中即可;要从服务器下载文件到本地,操作方向相反。
以上就是关于“服务器拷贝文件”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/823250.html