Linux 操作系统 018-远程文件传输工具

Linux 操作系统 018-远程文件传输工具

本节关键字:Linux、操作系统、远程操作、文件传输、ftp、ssh、scp、sftp
本节相关指令:ftp、ssh、scp、sftp

FTP

FTP介绍

ftp命令用来设置文件系统相关功能。ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里介绍Linux ftp命令的一些常用命令。

FTP语法

ftp [选项] [参数]

选项

-d:详细显示指令执行过程,便于排错或分析程序执行的情况;
-i:关闭互动模式,不询问任何问题;
-g:关闭本地主机文件名称支持特殊字符的扩充特性;
-n:不使用自动登录;
-v:显示指令执行过程。

参数

主机:指定要连接的FTP服务器的主机名或ip地址。
FTP建立连接

例如,连接IP为192.168.203.50的主机:

$ ftp 192.168.203.50
FTP关闭连接
ftp> bye
ftp> exit
ftp> quit
FTP下载文件

下载 readme.txt 文件

ftp> get readme.txt
ftp> mget *.txt
FTP上传文件

上传 readme.txt 文件,可以上传多个文件

ftp> put /path/readme.txt 
ftp> mput *.txt 

FTP应用实例

ftp> ascii                              # 设定以ASCII方式传送文件(缺省值) 
ftp> bell                               # 每完成一次文件传送,报警提示. 
ftp> binary                             # 设定以二进制方式传送文件. 
ftp> bye                                # 终止主机FTP进程,并退出FTP管理方式. 
ftp> case                               # 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母. 
ftp> cd                                 # 同UNIX的CD命令. 
ftp> cdup                               # 返回上一级目录. 
ftp> chmod                              # 改变远端主机的文件权限. 
ftp> close                              # 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除. 
ftp> delete                             # 删除远端主机中的文件. 
ftp> dir [remote-directory] [local-file]# 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件. 
ftp> get [remote-file] [local-file]     # 从远端主机中传送至本地主机中. 
ftp> help [command]                     # 输出命令的解释. 
ftp> lcd                                # 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录. 
ftp> ls [remote-directory] [local-file] # 同DIR. 
ftp> macdef                             # 定义宏命令. 
ftp> mdelete [remote-files]             # 删除一批文件. 
ftp> mget [remote-files]                # 从远端主机接收一批文件至本地主机. 
ftp> mkdir directory-name               # 在远端主机中建立目录. 
ftp> mput local-files                   # 将本地主机中一批文件传送至远端主机. 
ftp> open host [port]                   # 重新建立一个新的连接. 
ftp> prompt                             # 交互提示模式. 
ftp> put local-file [remote-file]       # 将本地一个文件传送至远端主机中. 
ftp> pwd                                # 列出当前远端主机目录. 
ftp> quit                               # 同BYE. 
ftp> recv remote-file [local-file]      # 同GET. 
ftp> rename [from] [to]                 # 改变远端主机中的文件名. 
ftp> rmdir directory-name               # 删除远端主机中的目录. 
ftp> send local-file [remote-file]      # 同PUT. 
ftp> status                             # 显示当前FTP的状态. 
ftp> system                             # 显示远端主机系统类型. 
ftp> user user-name [password] [account]# 重新以别的用户名登录远端主机. 
ftp> ? [command]         # 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
ftp> !                                  # 从 ftp 子系统退出到外壳。

SFTP

SFTP介绍

与 FTP 协议相比,在几乎所有情况下,SFTP 都比 FTP 更可靠,因为它具有潜在的安全功能并且能够搭载 SSH 连接。 FTP 是一种不安全的协议,只能在有限的情况下或您信任的网络上使用。

SFTP语法

基本语法

sftp [选项] [参数]

常用选项

选项说明
-B指定传输文件时缓冲区的大小;
-l使用ssh协议版本1;
-b指定批处理文件;
-C使用压缩;
-o指定ssh选项;
-F指定ssh配置文件;
-R指定一次可以容忍多少请求数;
-v升高日志等级

参数

用户名@IP或主机名

SFTP建立连接

默认情况下,SFTP 使用 SSH 协议进行身份验证并建立安全连接。 因此,可以使用 SSH 中存在的相同身份验证方法。

例如:使用用户名Jeck与IP为192.168.203.66的主机建立连接。

$ sftp Jeck@192.168.203.66
SFTP关闭连接
sftp> exit 
sftp> bye
SFTP下载文件

示例1,从远程主机上下载文件 /home/Jeck/remote.txt

sftp> get /home/Jeck/remote.txt

示例2,从远程主机上下载文件/home/Jeck/remote.txt并重命名为/home/remote_local.txt

sftp> get /home/Jeck/remote.txt /home/remote_local.txt

示例3,从远程主机上下载目录/home/dir

sftp> get -r /home/dir

示例4,从远程主机上下载目录/home/dir,并维护适当的权限和访问时间

sftp> get -Pr /home/dir
SFTP上传文件

示例1,将本地文件/home/local.txt上传到远程主机的/home路径下

sftp> put /home/local.txt /home

示例2,将本地目录/home/localdir上传到远程主机的/home路径下

sftp> put -r /home/localdir /home
SFTP应用实例
sftp> help
sftp> ?
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

提示:如果需要访问本地文件系统,则可以在上述命令之前添加字母l(local)来指向本地文件系统,例如:lpwd、lls、lcd等

SSH

SSH介绍

SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地进行远程登录和执行命令。它提供了加密的通信通道,可以防止敏感信息在传输过程中被窃取或篡改。在Linux系统中,SSH是一种常用的远程管理工具,可以通过命令行界面远程连接到其他计算机,并执行各种操作。

SSH语法

ssh [选项] [用户名@]IP或主机名

常用选项

选项说明
-C对所有数据请求进行压缩传输
-v打开调试模式
-p指定端口
-l指定用户
-b绑定源地址
-t强制伪终端分配
SSH服务操作

SSH服务的启动、停止和重启命令如下

# /etc/init.d/ssh start
# /etc/init.d/ssh stop
# /etc/init.d/ssh restart

systemctl start sshd
systemctl stop sshd
systemctl restart sshd
SSH建立连接

例如,与IP为192.168.203.66的主机建立远程连接

$ ssh username@192.168.203.66

如果需要调用图形界面,需要添加选项 -X

$ ssh -X username@192.168.203.66
或
$ ssh username@192.168.203.66 -X
SSH关闭连接
$ exit
公钥密钥的使用

1、生成密钥对

$ ssh-keygen -t rsa

-t 表示类型选项,这里采用rsa加密算法,执行结束后会在用户家目录下生成一个.ssh目录,包含私钥文件id_rsa和公钥文件id_rsa.pub

2、将公钥复制到远程主机中

$ ssh-copy-id Jeck@192.168.203.66

完成上述步骤后,以后再登录远程主机就不需要密码了

SSH应用实例

示例1,一条语句完成远程执行服务器命令

$ ssh -t Jeck@192.168.203.66 'cd /home/Jeck/test && ls -al && exec $SHELL'

示例2,使用远程主机不中断的运行指定程序

$ nohup test.sh &

示例3,通过远程主机1跳转到远程主机2

$ ssh -t Jeck@192.168.203.66 ssh Nacy@192.168.50.66

SCP

SCP介绍

scp(Secure Copy)命令是用于通过 ssh 协议进行远程服务与本地数据传输的命令,使用 scp 在跨两端传输数据是比较安全的,推荐使用。

SCP语法

scp [选项] [参数]

scp常用选项

选项说明
-1使用协议ssh1
-2使用协议ssh2
-4使用IPv4寻址
-6使用IPv6寻址
-B使用批处理模式(传输过程中不询问传输口令或短语)
-C使用压缩
-p保留源文件的修改时间,访问时间和访问权限
-q不显示传输进度条
-v显示进度,可以用来查看调试连接、验证和配置问题
-r递归复制整个目录
-P port 指定传输数据的端口
SCP下载文件

示例1,将远程主机的/home/remote.txt文件拷贝到本地/home/目录下

$ scp Jeck@192.168.203.66:/home/remote.txt /home

示例2,将远程主机data目录下的多个文件拷贝到本地/home/myfile目录下

$ scp root@192.168.1.100:/data/\{test1.txt,test2.cpp,test3.bin,test.*\} /home/myfile/

示例3,指定端口拷贝

$ scp -P 233 root@192.168.1.100:/data/test.txt /home/myfile/

示例4,将远程主机的/home/remotedir目录拷贝到本地/home目录下

$ scp -r root@hostname:/home/remotedir/ /home
SCP上传文件
$ scp /path/filename username@hostname:/path/

多文件拷贝:

$ scp /home/myfile/test1.txt test2.cpp test3.bin test.* root@192.168.1.100:/data/

目录拷贝

$ scp  -r local_dir username@hostname:remote_dir

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/578619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客设计模式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…

143.【Nginx-02】

Nginx-02 (五)、Nginx负载均衡1.负载均衡概述2.负载均衡的原理及处理流程(1).负载均衡的作用 3.负载均衡常用的处理方式(1).用户手动选择(2).DNS轮询方式(3).四/七层负载均衡(4).Nginx七层负载均衡指令 ⭐(5).Nginx七层负载均衡的实现流程 ⭐ 4.负载均衡状态(1).down (停用)(2)…

小学班委有哪些职位

在成长的道路上,班委是一个不可或缺的角色。它不仅是一个职位,更是一份责任和担当。对于孩子们来说,成为班委不仅意味着荣誉,更意味着在集体中发挥自己的力量,为班级做贡献。 那么,小学班委有哪些职位呢&am…

配置Nginx出现403 (Forbidden)静态文件加载不出来

出现问题如图 出现此问题可能和索引文件缺失、访问限制等原因有关,在默认的Nginx的配置中,出现此问题的大概率问题可能出现在启动用户和nginx工作用户不一致所致。 Nginx的默认配置文件的 nginx.conf 里首行是 user www-data; 如果你是在 root 下启用…

ebpf基础篇(一) -------- hello ebpf

很多东西的学习都开始于一个’hello world’, ebpf也不例外。 实验环境: ubuntu 20.04 确认linux内核打开了如下选项 CONFIG_BPF=y CONFIG_BPF_SYSCALL=y CONFIG_BPF_JIT=y CONFIG_HAVE_EBPF_JIT=y CONFIG_BPF_EVENTS=y CONFIG_FTRACE_SYSCALLS=y CONFIG_FUNCTION_TRACER=y …

基于JAVA实现的简易学生信息管理系统(附源码)

一、前言 最近在学习JAVA,这几天跟着网上的视频学完基础知识之后,做了一个学生信息管理系统,写的比较普通,没太大亮点,希望可以给初学者一些参考经验,另外,如有不恰当的地方还请各位指正&am…

如果您在 Ubuntu 上完成了交叉编译,并希望将程序部署到目标设备上运

如果您在 Ubuntu 上完成了交叉编译,并希望将程序部署到目标设备上运行,您可以通过以下步骤实现: 确保目标设备与 Ubuntu 主机通过网络连接。在目标设备上安装与交叉编译工具链相匹配的运行时环境。这可能涉及安装特定版本的库、依赖项等。您…

浅谈智能型电动机保护器在也门化工行业的应用

1.背景信息Background 现代化工工业中,电动机作为一种拖动机械,成为所有动力机械基础,科学技术不断进步和工艺控制不断完善,尤其是自动化生产要求,迫切需要开发和完善电动机控制和保护设备,实现对生产过程…

卫星接收LNBs的专用电路

都具有FET偏置控制器电路的卫星接收器LNB电路 芯片的描述:D3211是一-块用于卫星接收LNBs的专用电路,具有极化电压检测切换、22KHz脉冲检测切换和提供高放、本振级GaAs或HEMT FET晶体管工作点偏置等功能。D321 1内部的22K检测及切换控制由22K有源滤波器、…

一文带你深入浅出Web的自动化测试工具Selenium【建议收藏】

文章目录 前言发现宝藏第01节 Selenium概述第02节 安装浏览器驱动(以Google为例)第03节 定位页面元素1. 打开指定页面2. id 定位3. name 定位4. class 定位5. tag 定位6. xpath 定位7. css 选择器8. link 定位9. 示例 有道翻译 第04节 浏览器控制1. 修改…

mysql 27day 深入理解MySQL:架构、性能优化与最佳实践

目录 简介:正文:查询优化:索引策略:数据表设计:存储引擎优化:定期备份:定期对数据库进行全量或增量备份。 总结: 简介: MySQL是一个流行的开源关系型数据库管理系统&…

http是无状态还是有状态协议

HTTP(Hypertext Transfer Protocol)是无状态协议。 处理客户端的请求时,服务器不会保留任何关于客户端状态的信息。每次客户端发送请求,服务器都会独立处理这个请求,而不考虑之前或之后的请求。 无状态协议的优点 包…

重装系统后桌面图标没有了,“此电脑”怎么添加?

重装电脑系统对于使用电脑的用户来说是一种很常见的操作。但是有时在重装系统之后,我们会发现电脑桌面图标不见了,那么这时该怎么办呢?“此电脑”该怎么添加呢? 解决方法: 1.在桌面空白处单击鼠标右键,选择…

绝地反击,不做背锅侠!

那么作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?堡垒机当然是破解此局面的绝杀大招。 1.统一登录入口 提供统一入口,集中管理和分配账户密码、所有运维人员只能登录堡垒机才能访问服务器,梳理“人与服务器”之间的关系&#…

C++设计模式 #7 工厂方法(Factory Method)

“对象创建”模式 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持创建的稳定。它是接口抽象之后的第一步工作。 动机 在软件系统中,经常面临着创…

聊天机器人的革命性进步:ChatGPT-4 的新功能一览

聊天机器人的革命性进步:ChatGPT-4 的新功能一览 在过去的几年里,自然语言处理(NLP)领域迎来了突飞猛进的发展。OpenAI 在这个领域已经推出了多个版本的聊天机器人模型,而最新的 ChatGPT-4 更是引起了广泛关注。作为 …

全球市场拓展指南:出海企业品牌力觉醒与长期主义引领

近年来,随着全球化的深入推进,越来越多的企业纷纷踏上了出海之路,希望在国际市场中寻找新的增长点。然而,仅仅依靠产品和服务的优势已经不能满足出海企业在激烈的国际市场竞争中立于不败之地。在这个背景下,企业们慢慢…

英特尔A770显卡介绍与解读

基础介绍 英特尔A770显卡。这是英特尔推出的一款高性能显卡,属于他们的Arc系列。这个系列的显卡主要面向游戏玩家和专业内容创作者,提供高性能图形处理能力。 A770显卡配备了先进的特性,例如支持硬件级光线追踪、AI加速技术,以及…

【实用干货】通过PMP认证考试的心得分享

要知道,PMP备考考试只是暂时的,但通过获得PMP证书和能力将是持久的。 参加PMP认证考试的整个过程不仅让我获得了PMP培训结业证书和PMP认证证书,更重要的是让我学到了大量项目管理知识,为我提供了全新的思维模式。 一、备考期间需…

jquery Tab切换,CSS3制作发光字

jquery Tab切换&#xff0c;CSS3制作发光字 代码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta ht…