UNIX 通信工具

Posted 脚本语言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNIX 通信工具相关的知识,希望对你有一定的参考价值。

通信工具

如果用户在分布式环境下工作,那么用户就需要与远程用户通信,用户也需要远程方式访问 UNIX 主机。


如下是一些 UNIX 操作系统中的实用工具,这些工具专用于分布式环境下的用户间的网络通信。


ping 工具

ping 指令会发送一个应答请求到网络中某个主机。该指令主要用于检测远端主机是否可以正常通信。

ping 指令可以用于如下用途:

  • 追踪并区分硬件或软件的问题。

  • 确定网络和远端主机的状态。

  • 测试、测量或网络管理。


语法

如下是使用 ping 指令的语法:

 $ping hostname or ip-address

上述指定会持续打印响应信息。用户可以同时按下 CTRL+C 按键来结束信息的打印.


例子

下面是检测网络中某主机是否可达的例子:

 $ping google.com PING google.com (74.125.67.100) 56(84) bytes of data. 64 bytes from 74.125.67.100: icmp_seq=1 ttl=54 time=39.4 ms 64 bytes from 74.125.67.100: icmp_seq=2 ttl=54 time=39.9 ms 64 bytes from 74.125.67.100: icmp_seq=3 ttl=54 time=39.3 ms 64 bytes from 74.125.67.100: icmp_seq=4 ttl=54 time=39.1 ms 64 bytes from 74.125.67.100: icmp_seq=5 ttl=54 time=38.8 ms --- google.com ping statistics --- 22 packets transmitted, 22 received, 0% packet loss, time 21017ms rtt min/avg/max/mdev = 38.867/39.334/39.900/0.396 ms $ 


如果某个主机不可达,那么会显示如下信息:

 $ping giiiiiigle.com ping: unknown host giiiiigle.com $


FTP 工具

FTP 就是文件传输协议(File Transter protocol)的简称。使用该工具可以帮助用户在主机间上传或下载文件。

FTP 工具拥有自己的 UNIX 指令,可以完成如下任务:

  • 链接并登陆到远程主机。

  • 浏览目录。

  • 列出目录内容。

  • 上传或下载文件。

  • 按照 ascii、ebcdic 或 binary 方式传输文件。

语法

如下是使用 ftp 指令的语法:

 
 $ftp hostname or ip-address

上述指令会触发一个输入账号和密码的登陆界面。如果用户输入的账号和密码认证通过,则用户可以访问相应输入账户的根目录,然后就可以执行多种操作。

下面是一些常用操作:

指令 描述
put filename 从本地往远程服务器上传文件
get filename 从远程服务器往本地下载文件
mput file list 从本地往远程服务器批量上传文件
mget file list 从远程服务器往本地批量下载文件
prompt off 关闭文件提醒,在 mput 与 mget 时不会每操作一个文件就询问一次。
prompt on 开启文件提醒
dir 列出远程服务器上当前目录下的所有文件
cd dirname 切换本地主机上的目录到指定目录下
lcd dirname 切换远程服务器上的目录到指定目录下
quit 注销当前登陆

需要注意的是,上传和下载文件时的本地主机目录都是当前目录。如果用户希望上传或下载文件的目录为特定的目录,那么用户需要先将当前目录切换到指定目录后再进行上传或下载操作。

例子

下面是一些关于 ftp 操作的例子:

 $ftp amrood.com Connected to amrood.com. 220 amrood.com FTP server (Ver 4.9 Thu Sep 2 20:35:07 CDT 2009) Name (amrood.com:amrood): amrood 331 Password required for amrood. Password: 230 User amrood logged in. ftp> dir 200 PORT command successful. 150 Opening data connection for /bin/ls. total 1464 drwxr-sr-x 3 amrood group 1024 Mar 11 20:04 Mail drwxr-sr-x 2 amrood group 1536 Mar 3 18:07 Misc drwxr-sr-x 5 amrood group512 Dec 7 10:59 OldStuff drwxr-sr-x 2 amrood group 1024 Mar 11 15:24 bin drwxr-sr-x 5 amrood group 3072 Mar 13 16:10 mpl -rw-r--r-- 1 amrood group 209671 Mar 15 10:57 myfile.out drwxr-sr-x 3 amrood group512 Jan 5 13:32 public drwxr-sr-x 3 amrood group512 Feb 10 10:17 pvm3 226 Transfer complete. ftp> cd mpl 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening data connection for /bin/ls. total 7320 -rw-r--r-- 1 amrood group 1630 Aug 8 1994 dboard.f -rw-r----- 1 amrood group 4340 Jul 17 1994 vttest.c -rwxr-xr-x 1 amrood group 525574 Feb 15 11:52 wave_shift -rw-r--r-- 1 amrood group 1648 Aug 5 1994 wide.list -rwxr-xr-x 1 amrood group 4019 Feb 14 16:26 fix.c 226 Transfer complete. ftp> get wave_shift 200 PORT command successful. 150 Opening data connection for wave_shift (525574 bytes). 226 Transfer complete. 528454 bytes received in 1.296 seconds (398.1 Kbytes/s) ftp> quit 221 Goodbye. $


Telnet 工具

用户在工作经常会遇到这样的需求:用户需要连接到远程 UNIX 主机且需要在远程主机上进行操作。Telnet 就是一个允许用户对远程服务器进行连接、登陆且可以进行远程操作的工具。


一旦用户使用 Telnet 工具登陆到了远程服务器上,那么用户就可以像在本地主机操作那样操作远程服务器来执行任务。下面是 Telnet 对话的一个例子:

 C:>telnet amrood.com Trying... Connected to amrood.com. Escape character is '^]'.
login: amrood amrood's Password: ***************************************************** * * * * *WELCOME TO AMROOD.COM * * * * * *****************************************************
Last unsuccessful login: Fri Mar 3 12:01:09 IST 2009 Last login: Wed Mar 8 18:33:27 IST 2009 on pts/10
{ do your work }
$ logout Connection closed. C:>


finger 工具

finger 指令用于显示指定主机上有关用户的信息。这里的主机可以是本地主机,也可以是远程服务器。


由于安全原因,finger 也能在其他系统中使用。

下面是使用 finger 指令的简单语法。


检测本地主机中登陆用户的信息的例子如下:

 
 $ finger Login Name Tty Idle Login Time Office amrood pts/0 Jun 25 08:03 (62.61.164.115)
获取本地主机上指定有效用户的信息的例子如下:
 $ finger amrood Login: amrood Name: (null) Directory: /home/amrood Shell: /bin/bash On since Thu Jun 25 08:03 (MST) on pts/0 from 62.61.164.115 No mail. No Plan.
检测远程服务器中所有登陆用户的信息的例子如下:
 $ finger @avtar.com Login Name Tty Idle Login Time Office amrood pts/0 Jun 25 08:03 (62.61.164.115)
获取远程服务器上的指定有效用户信息的例子如下:
 $ finger amrood@avtar.com Login: amrood Name: (null) Directory: /home/amrood Shell: /bin/bash On since Thu Jun 25 08:03 (MST) on pts/0 from 62.61.164.115 No mail. No Plan.


以上是关于UNIX 通信工具的主要内容,如果未能解决你的问题,请参考以下文章

在tablayout片段之间进行通信[重复]

UNIX网络编程 卷2:进程间通信

与另一个片段通信的片段接口

text Davivienda片段#davivienda #unix

sh unix片段

无法通过接口获取与片段通信的活动