同步操作将从 baoke/Linux学完就忘系列 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
ping、lftp、ftp、lftpget、wget等;
send ICMP ECHO_REQUEST to network hosts
ICMP:internet Control Message Protocol 互联网消息控制协议;用于探测互联网上某一特定主机是否在线或某一网络是否在线;
ECHO_REQUEST:回显请求;
ECHO_REPLY:回显应答;
ping [OPTION] destination
-c #:发送的ping包个数;
-w #:ping命令超时时长;
-W #:一次ping操作中,等待对方响应的超时时长;
-s #:指定ping包大小,默认64bytes;
#ping三次终止
ping -c 3 www.baidu.com
#5秒钟后停止ping操作
ping -w 5 www.baidu.com
指定ping包1024bytes
ping -s 1024 www.baidu.com
(package:hping3)
send (almost) arbitrary TCP/IP packets to network hosts
选项:
--fast:快速发ping包;Alias for -i u10000. Hping will send 10 packets for second;
--flood:能发多快发多快,能发多少发多少;
安装:
yum list all | grep 'hping'
yum install -y hping3
#对方来讲显然是一种攻击行为,如果对baidu是hping不了的
hping --fast 127.0.0.1
从一个主机到目标主机之间到底经过了哪些路由器;
跟中从源主机到目标主机之间经过的网关有哪些;
ftp:File Transfer Protocol
ftp服务命令行客户端工具
#安装ftp客户端
yum install ftp -y
lftp用于取代ftp命令;
lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]
登录到ftp服务器后的子命令:
get:单文件下载;
mget:多文件下载;
put:单文件上传;
mput:多文件上传;
rm,mrm,删除单文件和删除多文件;
#安装lftp
yum install -y lftp
#-u指明用户名zhangsan来访问ftp服务器
lftp -u zhangsan 172.16.0.1
#-u 用户名,密码的方式来访问ftp服务器
lftp -u zhangsan,123456 172.16.0.1
lftp专用的下载工具
lftpget [-c] [-d] [-v] URL [URL...]
-c:断点续传,继续此前的下载;
lftpget http://fastsoft.onlinedown.net/down/idm_ald.exe
非交互式的网络下载器
wget [option]... [URL]...
-b:在后台执行下载操作;
-q:静默模式,不显示下载进度;
-O file:下载的文件的保存位置和文件名;
-c:断点续传,继续此前的下载;
--limit-rate=amount:以指定的速率传输文件;
注意:lftpget、wget命令只能下载文件,不能下载目录;
#直接下载
wget http://fastsoft.onlinedown.net/down/idm_ald.exe
#指定保存目录和文件名
wget http://fastsoft.onlinedown.net/down/idm_ald.exe -O /tmp/abc.exe
rz:上传
sz:下载
#查找软件包
yum list | grep rz
yum search rz
#安装
yum install -y lrzsz.x86_64
#选择文件上传
rz
#下载指定目录的文件
sz ~/love.abc
curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE及LDAP等协议.curl支持HTTPS认证,并且支持HTTP的POST、PUT等方法,FTP上传,kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断电续传,上载文件断点续传,http代理服务器管道(proxy tunneling),甚至它还支持IPV6,socks5代理服务器,通过http代理服务器上传文件到FTP服务器等等,功能十分强大.
curl [options...] url
-A/--user-agent 设置用户代理发送给服务器
--basic 使用HTTP基本认证
--tcp-nodelay 使用TCP_NODELAY选项
-e/--referer 来源网址
--cacert CA证书(SSL)
--compressed 要求返回是压缩的格式
-H/--header 自定义首部信息传递给服务器
-I/--head 只显示响应报文首部信息
--limit-rate 设置传输速度
-u/--user <user[:password]>设置服务器的用户和密码
-0/--http1.0 使用HTTP 1.0
curl http://www.baidu.com
#设置用户代理发送给服务器,在/var/log/httpd/access.log下查看该访问的用户代理
curl -A "chrome10.11" http://192.168.147.152
curl --user-agent "chrome10.12" http://192.168.147.152
#设置referer来源网址
curl --user-agent "chrome10.12" -e "https://www.google.com/search?q=hello" http://192.168.147.152
#只显示响应报文首部信息
curl -I http://192.168.147.152
elinks [option]... [url]...
-dump:不进入交互式模式,而直接将URL的内容输出至标准输出;
elinks http://www.baidu.com
elinks -dump http://www.baidu.com
while CONDITION;do
循环体
自增表达式
done
while循环计算1-100的示例:
#!/bin/bash
declare -i i=0
declare -i sum=0
while [ $i -le 100 ];do
sum=$[$sum+$i]
let i++
done
echo $sum
while read VARIABLE;do
循环体;
done < /PATH/FROM/SOMEFILE
依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将基赋值给VARIABLE变量;
示例:找出ID号为偶数的用户,显示其用户名、ID及默认shell;
#!/bin/bash
while read line;do
userid=$(echo $line | cut -d: -f3)
username=$(echo $line | cut -d: -f1)
shell=$(echo $line | cut -d: -f7)
if [ $[ $userid % 2 ] -eq 0 ];then
echo "$userid,$username,$shell"
fi
done < /etc/passwd
until CONDITION;do
循环体
自增表达式
done
CONDITION进入条件为假,和while的CONDITION相反;
#!/bin/bash
declare -i sum=0;
declare -i i=0;
until [ $i -gt 100 ];do
let sum+=$i
let i++
done
echo $sum
练习:分别使用for,while,until实现
1、分别求100以内所有偶数之和,100以内所有奇数之和;
#!/bin/bash
declare -i evenSum=0
declare -i i=0
[ $# -lt 1 ] && echo "请输入计算偶数的上线的数值!" && exit 1
while [ $i -le $1 ];do
let i++
if [ $[ $i % 2 ] -eq 1 ];then
continue
fi
let evenSum+=$i
done
echo "evenSum:${evenSum}"
#!/bin/bash
[ $# -lt 1 ] && echo "请输入求奇数值上限值!" && exit 1
declare -i i=0
declare -i oddSum=0
while true ;do
let i++
if [ $i -eq $1 ];then
break;
fi
if [ $[ $i % 2 ] -eq 0 ];then
continue;
fi
let oddSum+=$i
done
echo "oddSum:${oddSum}"
#!/bin/bash
[ $# -lt 1 ] && echo "请输入求奇数值上限值!" && exit 1
declare -i i=1
declare -i oddSum=0
while true;do
let oddSum+=$i
let i+=2
if [ $i -gt $1 ];then
break
fi
done
echo "oddSum:${oddSum}"
2、创建10个用户,user101-user110;密码同用户名;
3、打印九九乘法表;
#!/bin/bash
for i in {1..9};do
for j in $(seq 1 $i);do
echo -e -n "${j}x${i}=$[${j}*${i}]\t"
done
echo
done
4、打印逆序的九九乘法表;
5、练习:每隔3秒钟到系统上获取已经登录的用户信息;其中,如果logstash用户登录了系统,则记录于日志中,并退出;
#!/bin/bash
while true;do
sleep 3
who | grep "^logstash\>" &> /dev/null && echo "$(date "+%F %T") logstash logged on" >> ~/script/log && break
done
#!/bin/bash
while true;do
sleep 3
if who | grep "^logstash\>" &> /dev/null;then
break
fi
done
echo "$(date "+%F %T") logstash logged on" >> ~/script/log
#!/bin/bash
until who | grep "^logstash\>" &> /dev/null;do
sleep 3
done
echo "$(date "+%F %T") logstash logged on" >> ~/script/log
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。