Linux
和Windows
传输文件工具xshell
使用rz
和sz
命令。安装lrzsz
安装包yum install -y lrzsz
sz file #单个文件从linux下载到windows
sz file1 file2.... #多个文件从linux下载到windows
sz dir/* #下载dir目录下所有文件到windows,但是目录下的目录无法下载,一般打包目录再下载
rz #从windows上传到linux,文件可多选,但不能选择目录上传
win使用cmd通过ssh连接服务器,使用sz和rz命令报错
[root@xxx ~]# sz
sz: need at least one file to send
Try `sz --help' for more information.
[root@xxx ~]# rz
�**�B0100000023be50ve.**�B0100000023be50
mac使用sz和rz命令报错
[root@xxx ~]#
[root@xxx ~]# sz
sz: need at least one file to send
Try `sz --help' for more information.
[root@xxx ~]# rz
[root@xxx ~]# e.**B0100000023be50
通用上传下载命令
scp
所有命令在本地执行,而不是在服务器上
本地命令行上传:scp 【-r|-P】【本地文件路径】 【ssh_config】:【服务器文件路径】
本地命令行下载:scp 【-r|-P】【ssh_config】:【服务器文件路径】【本地文件路径】
scp:远程cp命令
-r:递归批量
-P:指定服务器端口号,当不用ssh别名时,服务器用户名@服务器IP
本地文件路径:可以是相对路径也可是绝对路径
ssh_config:ssh连接服务器配置名称,和服务器文件路径用:分隔开
服务器文件路径:绝对路径,不带文件名是移动,带文件名是重命名移动
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p: 保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v: 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port: 注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
#使用服务器用户名IP方式上传下载【如果不是默认端口号22,要指定端口号】
scp -r ./dir root@121.xx.xxx.147:12345:/root #此种方式指定端口号❎
scp -r -P 12345 ./dir root@121.xx.xxx.147:/root #此种方式指定端口号✅
#服务器IP不易记忆,推荐使用SSH别名方式上传下载
#mac
scp ./001.png dragonersli:/root #保持原名上传服务器
scp dragonersli:/root/001.png ./ #保持原名从服务器下载
#win
scp host:/usr/local/share/aliyun-assist/work/script.tar.gz C:\Users\DragonersLi\DeskTop #从服务器下载文件
scp C:\Users\DragonersLi\DeskTop\script.tar.gz host:/usr/local/share/aliyun-assist/work/ #本地文件上传服务器
ssh配置:
切换到/Users/dragonersli/.ssh
把id_rsa.pub公钥追加到服务器/root/.ssh的authorized_keys中
然后编辑本地当前路径下的config文件(没有新建一个)内容如下:
#xxx服务器
Host DragonersLi
HostName 121.xx.xxx.147
Port 12345
User root
sftp命令
连接:sftp 本地配置的别名[:/path]
下载:sftp get [-r] 远程目录或文件 【本地】
上传:sftp put [-r] 本地目录或文件 【远程】
本地查看或切换目录:【命令前面加l
或!
看情况】
sftp>lls
#本地查看目录sftp>ls
#远程查看目录
sftp>!dir
#本地查看目录sftp>dir
#远程查看目录
sftp>!cd
#打印本地当前路径
sftp>lcd Desktop
#本地切换目录sftp>cd
#远程切换目录
sftp> help #查看支持的命令
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory or
filesystem containing 'path'
exit Quit sftp
get [-afpR] remote [local] Download file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
sftp>
demo:
C:\WINDOWS\system32>sftp DragonersLi:/www/wwwlogs #直接sftp连接,切换到wwwlogs目录
Connected to DragonersLi.
Changing to: /www/wwwlogs
sftp> lls #查看本地列表
sftp> ls -al #查看远程列表
-rw-r--r-- 1 root root 0 Aug 7 17:45 access.log #文件
drwx------ 2 www www 4096 Nov 16 2020 btwaf #目录
...
sftp> get -r btwaf C:\Users\DragonersLi\DeskTop waf #下载btwaf目录到windows桌面重命名waf
sftp> get access.log C:\Users\DragonersLi\DeskTop #下载文件到windows桌面
sftp> put C:/Users/DragonersLi/DeskTop/abc/a.jpg #上传文件到该目录【可cd到目标目录再执行】
sftp> put -r C:/Users/DragonersLi/DeskTop/abc bcd #上传abc目录到远程改名bcd
sftp>!cls #执行本地命令清屏
sftp>lcd .. #本地切换目录
sftp>exit #退出sftp
网友评论