linux网络客户端
网络客户端:
elinks --> links
q 退出
命令行模式下上网!
elinks :
elinks [OPTION]... [URL]...
-dump 显示网页的所有内容之后直接退出
-source 显示网页的所有源代码
wget :
wget [option]... [URL]...
--tries=20 尝试连接次数
--wait=10 等待 10秒钟
-O file 指定输出文件
-c 支持断点续传
-q 工作在静默模式下, 不输出任何信息
eg:
wget -r --tries=10 http://fly.srk.fer.hr/ -o log
ftp:
help
cd
ls
get
mget: 下载多个文件
eg:
lftp 172.16.0.1
cd /pub/Server/Heatbeat2
mget *.i386.rpm
bye
put
mput
ftp [-v] [-d] [-i] [-n] [-g] [-k realm] [-f] [-x] [-u] [-t] [host]
lftp:
支持文件名自动补全,且速度快!
!cd 切换服务器目录
lcd 切换本地目录
使用办法:
lftp ftp://ftp:ftp@192.168.0.254
lftpget:
lftpget [-c] [-d] [-v] URL [URL...]
使用办法:
lftpget URL
linux:
ssh SERVER
默认用户名为登陆至当前的系统用户;
eg:
ssh -l root 192.168.0.33
ssh root@192.168.0.33
指定用户登陆特定的ssh!
ssh有两种认证机制:
基于口令
基于密钥
client :172.16.100.1
server : 172.16.100.2
1、在客户端生成一对密钥:.ssh/id_rsa, .ssh/id_rsa.pub
2、把公钥.ssh/id_rsa.pub 复制远程服务器的那个用户的家目录下的.ssh目录中的authorized_keys
3、客户端验证登陆;
scp:
本地和远程之间传输文件!
scp LOCAL_PATH USESRNAME@SERVER :PATH 本地传输至远程主机
scp USERNAME@SERVER:PATH LOCAL_PATH 远程主机传输至本地
-r 复制目录
-p 保存文件的源属性
-a 相当于 -r + -p
-C进行压缩再传输
ssh username@SERVER 'COMMAND' 不登陆服务器只是以某用户的身份执行某个命令!
rsync :( 同步工具,快速复制工具)
rsync [OPTION]... [USER@]HOST:SRC [DEST]
-r 复制目录
-p 保存权限
-a 相当于 -r + -p
-e ssh 加密,实现同步!
ping命令:
-c 指定ping的数据包数
-w 超时时间
dig
DNS 解析工具:
dig [@server] [-b address] [-c class]
[-f filename] [-k filename] [-m]
[-p port#] [-t type] [-x addr]
[-y name:key] [-4] [-6] [name] [type]
[class] [queryopt...]
使用方法:
dig -t A FQDN(完全限定域名)
dig -x IP
host
host -t A FQDN
host -t PTR IP
netstat
-t 显示跟tcp协议相关的连接状态
-u ... udp ....
-n 以数字的形式来显示状态!
-p 显示监听哪个程序
-rn 显示当前系统上路由表的相关信息!
traceroute
curl:URL获取工具!
使用方法:
curl URL
-I 显示网页http协议的首部特征
-v 显示获取网页的文件信息的交互过程
-O 下载文件并且保持下载后的原文件的名字不变
-o 下载文件后自己指定下载的文件名
-s 静默模式 不显示过程
su命令新用法
su -l redhat -c 'COMMAND'
w
显示当前系统上登陆的用户,以及正在执行的任务!
w - [husfV] [user]
who
whoami 显示当前用户是谁!
last 成功登陆及系统重启的信息!
-n# 仅显示最近#条成功登陆的信息
lastb 登陆系统的失败尝试!
-n# 仅显示最近#条失败尝试的信息
lastlog 显示每一个用户最近一次登陆的信息
-u USERNAME 仅显示某用户的最近一次登陆的信息
写一个脚本
1、如果/tmp/net目录存在就切换至此目录,否则就先创建此目录,而后切换进去;
2、下载ftp://192.168.0.254/pub/Files/RH033.txt至此目录中,并将名字设置为在原名字后面添加上当前日期和时间,形如:
rh033-2012-02-212-17-31-10.txt
3、下载完成后向用户报告完成下载。
#!/bin/bash
#
DIR=/tmp/net
[ -d $DIR ] || mkdir -p /tmp/net &> /dev/null
cd $DIR &> /dev/null
which curl &> /dev/null || exit 7
curl -s -o $DIR/ RH033-`date +%F-%H-%S`.txt ftp://192.168.0.254/pub/Files/RH033.txt
[ $? -eq 0 ] && echo "The file has Download in your system!"
~
写一个脚本:
1、提醒用户输入要下载的文件所在的服务器地址,形如:ftp://172.16.0.1;
2、提醒用户输入要下载的文件在远程服务器上的路径,形如:/pub/isos/rhci.iso,这个路径跟前面指定的服务器路径一起组成URL;
3、提醒用户输入下载后的文件的保存目录;如果保存目录存在则提醒用户目录已经存在,并提示用户是否继续。如果用户回答否的话则终止下载;如果要保存的目录不存在,则先创建之;
4、下载文件完成后,提醒用户下载完成;
写一个脚本,自动实现创建基于密钥的方式登录某指定服务器:
1、提醒用户指定远程服务器地址和用户;
2、提醒用户指定本地用户和要使用的密钥对儿名称;
3、如果用户指定的密钥对儿已经存在,则提醒用户使用此密钥对儿,如果用户选则了不使用,则提醒用户需要另行指定一个名字;而后以指定的本地用户的身份执行ssh-keygen,创建本地址密钥对儿;
4、将此密钥对儿的公钥复制到指定的远程服务器对应的文件中;
5、提醒用户创建基于密钥的远程登录完成;