树莓派 4B 下 Linux 系统命令行(3)

2021SC@SDUSC

在熟练使用了Ubuntu 系统下文件系统中文件编辑部分的命令后,我去学习了Ubuntu 系统下文件系统中文件传输部分命令行的原理及使用 。比如我们常见的文件传输协议有:ftp、sftp,sftp就是在ftp的基础上对传输的数据进行了加密。

实验三:文件传输部分 

1.实验目的 

1)掌握 Ubuntu 系统下文件系统中文件传输部分命令行的原理及使用 

2.实验内容 

本次实验主要是掌握 Linux 系统下的文件传输部分的使用,主要包括以下内容:


第五部分(系统管理部分): 

1.tftp 命令-上传及下载文件 
2.curl 命令-文件传输工具 
3.fsck 命令-检查并修复 Linux 文件系统 
4.ftpwho 命令-显示 ftp 会话信息 
5.lprm 命令-删除打印队列中的打印任务 

3.实验环境 

树莓派 4B,系统为 Ubuntu 21.10 系统 。实验的编程环境为 Terminal 终端程序 

4.实验步骤 

1.tftp 命令-上传及下载文件 

(1)命令格式

         tftp  [参数] 

(2)命令功能

tftp 命令用于传输文件。ftp 让用户得以下载存放于远端主机的文件,也能将 文件上传到远端主机放置。tftp 是简单的文字模式 ftp 程序,它所使用的指令 和 ftp 类似

 (3)命令参数

 -l  是local的缩写,后跟存在于Client的源文件名,或下载Client后  重命名的文件名。

 -r   是remote的缩写,后跟Server即PC机tftp服务器根目录中的源文 件名,或上传Server后重命名后的文件名。

 -g  是get的缩写,下载文件时用,

 -p  是put的缩写,上传文件时用,

tftp 默认占用的是69端口。

(4)实例

实例1:

 从Server下载文件到Client时,使用下面的命令:
          tftp –g –l 目标文件名 –r 源文件名 服务器地址
如命令
          tftp –g –l B.txt –r A.txt 192.168.1.2
 
的作用是从server中的tftp根目录下,下载文件A.txt到Client并更名为B.txt;若不更名,B.txt就改为A.txt.
      

从Clinet上传文件到Server时,

使用下面的命令

 tftp –p –r 目标文件名  -l 源文件名 服务器地址
 
如命令
 
 tftp –p –r D.txt –l C.txt 192.168.1.2
 
的作用是从Client上传文件C.txt到Server的tftp根目标下,并更名为D.txt;若不更名,D.txt就改为C.txt.
这个命令一般是用于下载或上传后进行更改文件名,如若不更改文件名,可使用以下简单命令

实例2:使用ncftp命令匿名连接FTP服务器。

例如想匿名连接ftp.kernel.org服务器,同时不想输入anonymous等匿名用户名,可直接使用ncftp命令:

ncftp ftp.kernel.org

得到如下信息:

$ ncftp ftp.kernel.org #匿名连接ftp.kernel.org服务器  
NcFTP 3.2.1 (Jul 29, 2007) by Mike Gleason (http://www.NcFTP.com/contact/).  
#ncftp版权、版本等信息  
Copyright (c) 1992-2005 by Mike Gleason.  
All rights reserved.  
Connecting to 149.20.20.133... #连接服务器  
Welcome to ftp.kernel.org.  
Logging in... #匿名登录  
Welcome to the #欢迎信息  
LINUX KERNEL ARCHIVES  
ftp.kernel.org  
"Much more than just kernels"  
IF YOU'RE ACCESSING THIS SITE VIA A WEB BROWSER  
PLEASE USE THE HTTP URL BELOW INSTEAD!  
----> If you are looking for mirror sites, please go <---- 
----> to mirrors.kernel.org instead <---- 
This site is provided as a public service by the Linux Kernel  
Organization, a California nonprofit corporation. Bandwidth is  
provided by The Internet Software Consortium, Inc. Our servers are  
located in San Francisco and Palo Alto, California; Corvallis, Oregon;  
Amsterdam, Netherlands and Ume., Sweden; use in violation of any  
applicable laws strictly prohibited.  
Due to U.S. Exports Regulations, all cryptographic software on this  
site is subject to the following legal notice:  
This site includes publicly available encryption source code  
which, together with object code resulting from the compiling of  
publicly available source code, may be exported from the United  
States under License Exception "TSU" pursuant to 15 C.F.R. Section  
740.13(e).  
This legal notice applies to cryptographic software only. Please see  
the Bureau of Industry and Security (http://www.bis.doc.gov/) for more  
information about current U.S. regulations.  
Neither the Linux Kernel Organization, nor its sponsors make any  
guarantees, explicit or implicit, about the contents of this site.  
Use at your own risk.  
This site is accessible via the following mechanisms:  
FTP ftp://ftp.kernel.org/pub/  
HTTP http://www.kernel.org/pub/  
RSYNC rsync://rsync.kernel.org/pub/  
NFS and SMB/CIFS are no longer available.  
For comments on this site, please contact <ftpadmin@kernel.org>.  
Please do not use this address for questions that are not related to  
the operation of this site. Please see our homepage at  
http://www.kernel.org/ for links to Linux documentation resources.  
Login successful.  
Logged in to ftp.kernel.org.  
ncftp / > 

提示:ncftp的命令提示符为"ncftp / >",而不是ftp中的"ftp / >"。

使用ncftp命令操作、下载文件。

ncftp的命令基本上与ftp相同,例如可以使用"cd"命令切换在FTP服务器中的当前目录,使用"ls"命令列出当前目录内容,使用"get"命令下载"/pub"目录下的README文件、使用"quit"离开ncftp等。操作结果如下:

ncftp / > pwd               #查看当前路径  
ftp://ftp.kernel.org        #当前路径为根目录  
ncftp / > ls                #查看当前目录列表  
bin/ for_mirrors_only/ pub/  
dev/ lib/ usr@  
etc/ lost+found/ welcome.msg@  
ncftp / > cd pub            #切换目录到pub 子目录  
Directory successfully changed.  
ncftp /pub > ls             #查看pub 的目录列表  
dist/ media/ scm/  
index.html RCS/ site/  
linux/ README software/  
lost+found/ README_ABOUT_BZ2_FILES tools/  
ncftp /pub > get README     #下载README 文件  
README: 1.87 KB 10.39 KB/s  
ncftp /pub > quit           #离开ncftp 

与ftp不同的是,ncftp此时会提示用户是否将FTP服务器保存为书签,以便于下次登录,用户可以进行自定义书签名等操作,如下所示:

You have not saved a bookmark for this site.  #离开提示信息  
Would you like to save a bookmark to:  
ftp://ftp.kernel.org/pub/  
Save? (yes/no) yes                            #确认是否保存  
Enter a name for this bookmark, or hit enter for "kernel": kernel #输入书签名  
Bookmark "kernel" saved.

2.curl 命令 – 文件传输工具 

(1)命令格式

curl  [参数]  [网址]  

(2)命令功能 

curl 命令是一个利用 URL 规则在 shell 终端命令行下工作的文件传输工具;它 支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。作为一款强力工具,curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还 支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、 限速、文件大小、进度条等特征;做网页处理流程和数据检索自动化。 

(3)命令参数

-b/--cookie <name=string/file>    cookie字符串或文件读取位置
-c/--cookie-jar <file>            操作结束后把cookie写入到这个文件中
-C/--continue-at <offset>         断点续转
-D/--dump-header <file>           把header信息写入到该文件中
-e/--referer                      来源网址
-f/--fail                         连接失败时不显示http错误
-o/--output                       把输出写到该文件中
-O/--remote-name                  把输出写到该文件中,保留远程文件的文件名
-r/--range <range>                检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent                       静音模式。不输出任何东西
-T/--upload-file <file>           上传文件
-u/--user <user[:password]>       设置服务器的用户和密码
-w/--write-out [format]           什么输出完成后
-x/--proxy <host[:port]>          在给定的端口上使用HTTP代理
-#/--progress-bar                 进度条显示当前的传送状态

(4)实例

一、查看网页源码

直接在curl命令后加上网址,就可以看到网页源码。我们以网址www.sina.com为例(选择该网址,主要因为它的网页代码较短):

  $ curl www.sina.com

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
  <html><head>
  <title>301 Moved Permanently</title>
  </head><body>
  <h1>Moved Permanently</h1>
  <p>The document has moved <a href="http://www.sina.com.cn/">here</a>.</p>
  </body></html>

如果要把这个网页保存下来,可以使用`-o`参数,这就相当于使用wget命令了。

  $ curl -o [文件名] www.sina.com

二、自动跳转

有的网址是自动跳转的。使用`-L`参数,curl就会跳转到新的网址。

  $ curl -L www.sina.com

键入上面的命令,结果就自动跳转为www.sina.com.cn。

3.fsck 命令 – 检查并修复 Linux 文件系统  

(1)命令格式

   fsck  [参数]  [文件系统] 

(2)命令功能 

fsck 命令的英文全称是“filesystem check”,即检查文件系统的意思,常用 于检查并修复 Linux 文件系统的一些错误信息,操作文件系统需要先备份重要 数据,以防丢失。Linux fsck 命令用于检查并修复 Linux 文件系统,可以同时 检查一个或多个 Linux 文件系统;若系统掉电或磁盘发生问题,可利用 fsck 命令对文件系统进行检查。

(3)命令参数

-t  : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数

-s : 依序一个一个地执行 fsck 的指令来检查

-A : 对/etc/fstab 中所有列出来的 partition 做检查

-C : 显示完整的检查进度

-d : 列印 e2fsck 的 debug 结果

-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行

-R : 同时有 -A 条件时,省略 / 不检查

-V : 详细显示模式

-a : 如果检查有错则自动修复

-r :如果检查有错则由使用者回答是否修复

(4)实例

显示 fsck 系统安装的版本号:
 

 

4.ftpwho 命令 – 显示 ftp 会话信息 

(1)命令格式

ftpwho  [参数]

(2)命令功能 

Linux ftpwho命令用于显示目前所有以FTP登入的用户信息。

执行这项指令可得知目前用FTP登入系统的用户有那些人,以及他们正在进行的操作。

(3)命令参数

  • -v 显示版本信息

(4)实例

查询当前有哪些用户正在登录FTP服务器,可直接使用如下命令:

ftpwho

该命令有如下输出结果:

$ ftpwho              #查询当前正在登录FTP 服务器的用户  
standalone FTP daemon[2085]:  
3547 wyw [1m20s] 1m25s(idle)  
Service class - 1 user #当前有一个用户登录FTP服务器 

5.lprm 命令 – 删除打印队列中的打印任务 

(1)命令格式

   lprm  [参数]  [任务编号]

(2)命令功能 

Linux lprm命令用于将一个工作由打印机贮列中移除

尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将常未送到打印机的工作取消。由于每一个打印机都有一个独立的贮列,你可以用 -P 这个命令设定想要作用的印列机。如果没有设定的话,会使用系统预设的打印机。

这个命令会检查使用者是否有足够的权限删除指定的档案,一般而言,只有档案的拥有者或是系统管理员才有这个权限。

(3)命令参数

-E 与打印服务器连接时强制使用加密 
-P 指定接受打印任务的目标打印机 
-U 指定可选的用户名 

(4)实例

将打印机 hpprinter 中的第 1123 号工作移除

lprm -Phpprinter 1123

将第 1011 号工作由预设印表机中移除

lprm 1011

总结

(1) 安全性能:ftp、rcp不保证传输的安全性,scp、rsync则均可基于ssh 认证进行传输,提供了较强的安全保障。wget 也可通过指定安全协议做到安全传输。

通过上述的对比不难发现,每种文件传输方法基于其自身的特点与优势均有其典型的适用场景:

(2) ftp 作为最常用的入门式的文件传输方法,使用简单,易于理解,并且可以实现脚本自动化;但是需要安装ftp server才可以访问远程ftp server

(3) rcp 相对于ftp可以保留文件属性并可递归的拷贝子目录;

(4) scp 利用ssh传输数据,并使用与ssh相同的认证模式,相对于rcp提供更强的安全保障;

(5) curl 则适合用来进行自动的文件传输或操作序列,是一个很好的模拟用户在网页浏览器上的行为的工具。

(6) lftp可以访问ftp资源,也可以访问http资源。支持断点续传,多进程下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值