Linux学习(2)——传输文件

article/2025/11/10 0:57:43

承接上一篇,这一篇文章也是基于《Linux从入门到精通》 何明编著 中国水利水电出版社 这本书写的,在写这篇文章的时候也查阅了一些相关资料,也自己动手实践了一下,不得不说,这本书讲得实在是通俗易懂,只要愿意去学,都能看懂。

有些时候可能需要在不同的操作系统中进行文件传输,比如,需要在windows10操作系统中将D盘中的ftp文件夹中的内容传输到Linux操作系统中。我们可以使用FTP协议,在不同系统之间传输文件,可以使用ftp命令在网络上将一台计算机上的文件复制到另外一台计算机上。

1、ftp命令的前置工作

如果在Linux系统中还没有安装vsftpd,可以在root用户下使用如下命令安装:

yum install vsftpd

在使用ftp传输文件时,既可以利用正文模式也可以使用二进制模式,ftp命令的语法非常简单,语法格式如下:

ftp 主机名或IP地址

然后在windows系统中启动DOS窗口,在DOS切换到你要传输的文件夹中

(我这里使用的是D盘的ftp文件夹)

接下来需要在Linux操作系统中查看ftp服务的状态,用如下命令:

# service vsftpd status

 如果是Linux7,也可以使用如下命令:

# systemctl start vsftpd

 然后用如下命令启动ftp服务:

# service vsftpd start

如果是Linux7系统,则可以使用systemctl start vsftpd命令,如果要在Linux7系统启动时开启ftp服务,可以使用systemctl enable vsftpd命令。 

然后再在windows系统的DOS命令界面 输入最上面的ftp命令:

ftp 主机名或IP地址

 如果显示 >ftp:connect:连接超时

也许是Linux系统中的防火墙没有关闭,可以关闭防火墙再试一次

查看防火墙状态:

# service firewalld status
# seriver iptables status

这样子说明防火墙在打开状态,需要用如下命令将其关闭:

# systemctl stop firewalld

这样子防火墙就关闭啦 。

 使用ftp命令,链接到Linux系统中。

输入Linux用户名和密码,就可以连接成功。

PS:如果连接太久没有操作的话,连接可能会断开需要离开ftp操作,重新连接一次

ftp> bye //离开ftp操作

连接成功后,在ftp>  下,你可以使用一些Linux的命令,如:ls,cd,pwd,lcd

lcd命令是查看或改变本地系统的当前工作目录,如果lcd后面空白则是查看,如果后面跟着绝对目录则是改变。(本地系统是指与Linux连接的系统,这里是我的原本电脑系统Windows10) 

2、 利用ftp将文件从本地传送到远程系统

        完成第一部分的操作后,我们就成功地将window10(物理机的系统)与Centos7(虚拟机上的系统)连接起来了。(注:Centos是Linux的发行版之一)

        ftp有两种传输文件的模式,一种是用来传输纯文本的ASCII模式,另一种是传输二进制文件的bin模式。

        传输正文文件(纯文本文件)从本地发送到远程计算机系统,要用下面的命令切换到ASCII模式。

ftp> ascii

类似地切换到二进制模式的命令如下:

ftp> bin

现在切换到ascii码模式,我们可以传输纯文本文件了,传输命令很简单,就是put+文本名字,如下:

ftp> put game.txt

 这样,当前目录下的文本game.txt就被传输到ftp登录的那个用户的家目录下

 当然,当你要传输多个文件时,可以用mput+文件1名+文件2名,如下:

ftp> mput game.txt learning.txt

 这样就可以同时将两个文件传输到远程系统中了。

现在让我们到二进制模式,如果你忘了如何到二进制模式,请翻到上面再看一看二进制与ascii码之间的切换命令。

换到二进制模式后,我们现在可以传输一些其他类型的文件了,比如jpg图片。

ftp> mput *.jpg

上面的 *代表了所有的意思,即将本目录所有后缀为jpg的文件都传送到远程系统。

既然有从本地传输文件到远程系统的操作,自然也有从远程系统传输文件到本地的操作

3、利用ftp将文件从远程系统传输到本地

其实操作与上面的大差不差

命令是get+文件名

一次传输多个文件用的命令是mget+文件名+文件名

同样的,在传输的时候要注意需要的是ascii模式还是bin模式

这个命令是将远程系统登录的用户的家目录中的文件传输到本地的当前目录。如果你要更改当前目录的话,就要用lcd命令

ftp> lcd F:\ftp\ftpcat

这样的话本地的当前目录由D盘的ftp改成了D盘中ftp文件下的子文件ftpcat。 

传输文件时,无论是远程到本地还是本地到远程,需要注意的是:

1、注意看是否传输成功

 上面显示的就是传输成功了

 下面显示的传输就有些问题

 这里是用mput命令传输多个文本,虽然也显示command successful,但是下面却显示

Failed to establish connection(无法建立连接)。

故在Linux中会建立两个文本game.txt和learning.txt,但是是空文本,数据全部丢失。

我能力有限,目前还没找到原因,待找到原因后再补充吧。(看到有些博主说是因为在Linux上,由于安全限制,,可能存在某些端口没有开启,所以出现阻塞。)

2、一个小知识,使用prompt命令可以将交互提示信息开启或者关闭。因为一次传输多个文件会有提示信息,如上图 mput game.txt? 后面需要回答y(yes)。关闭交互信息可以让你清净很多。

4、使用file命令确定文件中数据的类型

在Linux或NUIX系统中查看一个文件之前,要先确定该文件中数据的类型,之后再使用适当的命令或方法打开该文件。

与微软系统不同,在Linux系统中文件的扩展名(即后缀)并不代表文件的类型,也就是说扩展名与文件的类型并没有关系。因此在打开一个文件之前就要先确定该文件的类型,确定文件类型的命令:file+文件名

5、使用cat命令浏览正文文件的内容

如果你需要在Windows操作系统中浏览Linux中的文件,这个文件是正文文件,就可以使用cat(Concatenate的缩写)命令列出这个文件的内容。cat命令将一个或多个文件的内容显示在屏幕上,该命令会不停顿地以只读方式显示整个文件的内容。如果是显示多个文件,则所有文件会连续地显示在屏幕上。

ps:不要使用cat命令浏览二进制文件,否则可能会造成终端窗口突然停止工作,如果发生了这种情况,可以关闭该终端窗口,之后再开启一个新的终端窗口。

cat命令的用法也很简单,和之前的各种命令一样:

cat [options][files] cat命令是拥有选项的,它的后面可以跟随多个文件。

如果只是

[cat@cat ~]$ cat game.txt

那么它将显示出game.txt文件中的内容(game.txt文件是个正文文件)

如果在cat命令中加入-A的选项

[cat@cat ~]$ cat -A game.txt

则在显示文件内容的同时,还会显示原来看不见的特殊字符。

(小知识:Linux系统生成的正文文件的换行字符为$,微软系统生成的为^M$。因为game.txt文件时昨天从Windows系统中传输到Linux系统来的,所以它的换行字符为^M$。)

如果想要在显示结果中将没用的空行压缩掉,可以在cat命令中加入-s选项,该选项的功能是将两个或更多的相邻空行合并成一个空行。

cat命令的另一个可能会常用到的选项是-b,该选项的功能是在显示的每一行的最前面加上行号。

同时,cat命令也可以用来创建新文件。在cat命令和文件名之间要加上“>”,并且在这个正文文件中输入了3行文字。

[cat@cat ~]$ cat > news
The newest scientific discovery shows that God exists.
he is a super programmer,
and he creates our life by writing programs with life codes (genes)!!!

在新的一行的开始处,同时按下Ctrl+D(保存文件并退出),这样就可以创建一个明为news的新文件,而文件中的内容就是刚刚输入的正文文字。

这里需要指出的是,当一个命令执行的时间太长,需要强制中断该命令的执行,可以同时按下Ctrl+C来立即终止该命令的执行。

6、使用head命令浏览文件中的内容

如果你只想查看某个文件大概有些什么却不想浏览全部内容,可以使用head命令。

head命令将显示一个文件的前10行。用户可以使用-n选项来改变显示的行数。

[cat@cat ~]$ head -n 2 game.txt

这样你就可以查看game.txt文件的前2行内容了。

同样的,你也可以用 --line+数字-数字的方式来调整行数。

需要注意的是,head命令在计算行数时是以换行字符为标准的

7、使用tail命令浏览文件中的内容

除了显示一个文件的头几行,Linux系统也可以显示一个文件的最后几行。

显示一个文件最后几行的命令时tail,同样,该命令默认显示的是最后10行,可以通过在tail命令中使用-n+n选项来改变显示的行数。

-n选项显示从文件末尾算起的n行

+n选项显示从文件的第n行算起到文件结尾的内容。

tail有时更有用,例如,在Linux系统中添加了一个新用户,之后想查看这个用户的相关信息,就可以通过使用tail命令浏览/etc/passwd文件来获取这些信息,因为刚刚创建的用户数据就追加到了该文件的最后面。

tail命令的另一个比较有用的选项是-f--follow,其含义是当一个正文文件的内容发生变化时,tail命令将把这些变化的信息显示在屏幕上。用-f或--follow选项非常适合监视日志系统的(log)文件。

[root@cat ~]# tail -f /var/log/messages

这样,系统会一直显示/var/log/messages这个日志文件的变化信息。最后,按Ctrl+C键即可退出tail命令。

如果在Linux系统上安装了Oracle数据库管理系统,也可以使用同样的方法监督Oracle的报警(alert)文件。

8、使用wc命令显示文件行、单词和字符数

wc(word count的缩写)命令是用来显示一个文件中的行数、单词书和字符数。

wc -options 文件名

wc命令中使用的选项如下:

-l:仅显示行数

-w:仅显示单词书

-c:仅显示字符数

如果没有任何选项,则将会显示文件中所包含的行数、单词书和字符数

在wc命令的所有选项中,-l选项的使用最频繁,如果想知道Linux系统上一个有多少个用户,一般的Linux命令就无能为力了,因为每一个用户都在/etc/passwd文件中存有有且仅有一行记录,所以/etc/passwd文件的行数就是该系统中所有的用户数。

9、使用more命令浏览文件

如果一个文件很大,使用前面的Linux命令还是不太方便,能不能让文件中的内容在屏幕上每次只显示一页,在需要时再翻到下一页呢?那就需要使用more命令。

当进入more命令后,每次在屏幕上显示一页的文件内容,并且在屏幕的底部将会出现

"--More--(n%)"的信息,此时可以使用键盘上的如下常用键进行操作。

空格键:向下移动一个屏幕

Enter键:一次移动一行

b:向上移动一个屏幕

h:显示一个帮助菜单

/字符串:向下搜索这个字符串

n:发现这个字符串的下一次出现

q:退出more命令并返回操作系统提示符下

v:在当前行启动/usr/bin/vi(vi是Linux自带的文字编辑器)


http://chatgpt.dhexx.cn/article/tECeUZM1.shtml

相关文章

【Linux】基于TCP实现的大型文件(超过2G)传输项目——总结

文章目录 【1】实现的功能【2】项目框架【3】源代码【4】运行截图 【1】实现的功能 文件的上传、下载(包括超过2G的大文件)、断点续传、秒传、删除等等。 【2】项目框架 整个项目是在Linux环境下用C语言开发的,基于TCP协议,采用…

两台linux之间传输文件的方法

scp传输 当两台Linux主机之间要互传文件时可使用SCP命令来实现 scp传输速度较慢,但使用ssh通道保证了传输的安全性 复制文件 将本地文件拷贝到远程 scp 文件名 –用户名计算机IP或者计算机名称:远程路径 从远程将文件拷回本地 scp –用户名计算机IP或者计算机名称:文件名 …

Linux实现两台机器文件互传(SCP命令)

文章目录 SCP命令的注意事项下载文件和目录上传文件和目录 SCP命令的注意事项 scp命令的主要作用是实现Linux与Linux系统之间的文件传输 SCP传输要求: 两台计算机都的操作系统都必须是Linux操作系统SCP命令是基于SSH协议,所以两台服务器的sshd服务必须…

Linux这么在两个服务器直接传文件?

文章目录 概念1.当从一个远程服务器传输文件到另一个服务器上(你想传给别人文件)2.在本地服务器,从另一个服务器中获取文件(你想从别人获取文件)总结 概念 scp是secure copy的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密…

快速实现两台Linux系统之间的传输文件

文章目录 前言一、ssh协议介绍1、什么是ssh协议?2、ssh协议使用介绍3、scp指令使用介绍 二、实验步骤1、安装虚拟机,分别安装linux2、开启ssh协议3、查看ip地址4、文件传输 总结 前言 最近开始用linux做实验啦,实现了用ssh协议的两个liunx系统…

两台Linux系统之间传输文件的几种方法

scp传输 当两台LINUX主机之间要互传文件时可使用SCP命令来实现 scp传输速度较慢,但使用ssh通道保证了传输的安全性 复制文件 将本地文件拷贝到远程 scp 文件名 –用户名计算机IP或者计算机名称:远程路径 从远程将文件拷回本地 scp –用户名计算机IP或者计算机名称:文件名 …

Linux之两个Linux服务器之间互传文件

1.当从一个Linxu服务器传输文件到另一个服务器上 现在有128和129两个文件夹,128服务其中有m文件夹以及其中对应的文件 128服务器 129服务器(没有m文件夹及其中文件) 把aaa.java文件传输到129的opt目录下 //scp 文件名称 root服务器ip&…

Linux(传输层二继续讲TCP)

文章目录 0. 前言1. 流量控制2. 滑动窗口2-1 基础2-2 重传 3. 拥塞控制4. 延迟应答5. 捎带应答6. 面向字节流7. 粘包问题8. TCP异常情况9. TCP小结10. 基于TCP应用层协议11. TCP/UDP对比 0. 前言 上一章我们主讲了TCP,本章我们继续 链接:https://blog.csdn.net/Din…

Linux(传输层二)

文章目录 0. 前言1. TCP协议1-1 TCP协议段格式1. TCP如何解包?2. TCP协议如何交付(应用层- - 客户)?3. 如何理解报文本身?4. 如何理解报文字段? 1-2 确认应答(ACK)机制1-3 超时重传机制1-4 连接管理机制1. …

两台linux服务器之间传输文件的几种方法

打开powershell, 开始连接服务器 ssh root192.168.7.204 然后输入密码后就进来了,进入之后找到你要传输文件的位置 接下来我要将这个包传到另一个环境中去,有以下几种方法 scp 示例: 将本地服务器的文件传向另一个服务器 wget 【用法】 wget是…

操作:FTP服务器的搭建

实验目的: 掌握FTP服务器的配置方法、掌握FTP配置基于虚拟用户的服务器搭建方法 实验要求: 以学号和姓名为虚拟用户的FTP服务器搭建实现利用不同虚拟用户登录FTP服务器实现不同用户的权限控制 实验步骤: 一、 搭建一台FTP服务器&#xf…

虚拟机上CentOS 7 架设ftp服务器 最新版系统超详细!!

被这玩意弄的死去活来,搞了这么长时间终于通了。。。看了很多教程感觉说的都不错,但对像我这样的菜鸟还是不够照顾啊。。。还是觉得自己写一篇入门级的更好一些,也希望能方便大家! 我们假定此时CentOS刚刚在虚拟机上安装好&#…

办公室服务器安装系统,教你如何架设办公室FTP服务器以Serv-U为例

Scrv-U是Windows平台上最流行的FTP服务器软件,可以从官方网站下载,也可以从其他软件下载网站下载。下面,脚本之家小编就以现在局域网中最流行的FTP服务器软件Serv-U为例,向您讲解一下如何架设FTP服务器。 [1]下载并准备安装Serv-U…

Serv-U 15 架设FTP文件服务器 图文教程

 轉自solar的博客:无心阁 solar 转自:http://blog.163.com/zoulei154126/blog/static/4645500220093831019355/ FTP:意思就是:文件传输协议。说白了,就是提供一个服务,让网上的人&#xff…

搭建FTPserver

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果…

FTP搭建

FTP FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP 协议包括两个组成部分,其一为 FTP 服务器,其二为 FTP 客户端。其中FTP 服务器用来存储文件,用户可以使用FTP 客户端通过…

基于vsftpd搭建ftp服务器

作者:【吴业亮】 博客:https://wuyeliang.blog.csdn.net/ 1、FTP的传输有两种方式 ASCII传输方式  假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以…

Linux服务器架设-FTP服务器配置实例

FTP服务器配置 任务背景: 学院准备搭建FTP服务器,对于所有的学生均以真实账号登录(学号:0800901),允许下载相关信息及学习资料,禁止上传,但操作目录只限于/students下。所有老师也…

架设FTP Server

第十八章 架 設 FTP Server 索引: 18.1 何謂 FTP 及 FTP 的連線流程 18.1.1FTP 簡介 18.1.2FTP 的連線流程18.2 架設 Pure-ftpd Server 18.2.1查詢套件安裝及檢視套件內容 18.2.2設定 Pure-ftpd Server 18.2.3設定虛擬帳號18.3 架設 vsftpd Server 18.3.1查詢套…

架设ftp,架设ftp的2种方法

架设FTP的服务器方法有很多种,各种软件有免费的有收费的,最基础最根本最万无一失的当然是window操作系统自带的“Internet 信息服务 (IIS)”,当然这个架设FTP服务器对于部署过网页的人来最简单不过的了。 IIS7服务器管理工具可以批量管理、定…