shell脚本中常用的命令:wget、curl、ss、lsof、nmap、nc、netstat、telnet

shell脚本中常用的命令:wget、curl、ss、lsof、nmap、nc、netstat、telnet


实验环境说明:

(1)远程nginx服务器IP:192.169.5.136,nginx服务使用的端口是80;

(2)本地ceshiji的IP: 192.169.5.121

在服务器本地监控服务端口常见命令:netstat、ss、lsof(简称三‘S’)

举例说明常用命令的选项:

(1)[[email protected] ~]# netstat -lnp |grep nginx

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1292/nginx

(2)[[email protected] ~]# ss -lnp|grep nginx

LISTEN     0      128                       *:80                       *:*

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名

(3)[[email protected] ~]# lsof -i :80|grep nginx

nginx   1292 root    6u  IPv4   8868      0t0  TCP *:http (LISTEN)

nginx   1293  www    6u  IPv4   8868      0t0  TCP *:http (LISTEN)

nginx   1294  www    6u  IPv4   8868      0t0  TCP *:http (LISTEN)

说明:lsof -i :80 知道80端口被哪个进程占用

从远程监控服务器本地端口的命令:telnet、nmap、nc(简称三‘n’)

说明:主要用来验证远端端口是否开启

(1)[[email protected] ~]# nc -v -z -w2 192.169.5.136 80

Connection to 192.169.5.136 80 port [tcp/http] succeeded!

[[email protected] ~]# echo $?

0

-v 显示指令执行过程。

-w<超时秒数> 设置等待连线的时间。

-z 使用0输入/输出模式,只在扫描通信端口时使用。所以,上面也可以写成如下:

[[email protected] ~]# nc -v -w2 192.169.5.136 80

Connection to 192.169.5.136 80 port [tcp/http] succeeded!

[[email protected] ~]# echo $?

0

(2)[[email protected] ~]# nmap 192.169.5.136 -p 80

(3)[[email protected] ~]# telnet 192.169.5.136 80|grep Connected

shell脚本中运用举例:

[[email protected] ~]# echo -e "\n"|telnet 192.169.5.136 80 2>/dev/null|grep Connected |wc -l

1

服务器常用测试命令:wget、curl

(1)[[email protected] ~]# wget -T 5 baidu.com

说明:-T 表示超时时间,也可以用--timeout表示。

[[email protected] ~]# wget --timeout=5 baidu.com

(2)[[email protected] ~]# wget -q -T 5 baidu.com

[[email protected] ~]# echo $?

0

说明:-q 表示安静模式(无信息输出),相当于:

[[email protected] ~]# wget -T 5 baidu.com &>/dev/null

[[email protected] ~]# echo $?

0

(3)[[email protected] ~]# wget -T 5 --spider baidu.com

说明:--spider 表示只检测不下载信息。

(4)[[email protected] ~]# wget -O /root/test1 http://baidu.com

[[email protected] ~]# cat test1

<html>

<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">

</html>

说明:-O(大写字母)后面跟的是将http内容下载到的路径,也就是说使用-O可以自定义文件下载路径。

(5)[[email protected] ~]# curl baidu.com  ##获取指定网页

(6)[[email protected] ~]# curl -I baidu.com

说明:-I/--head 仅返回头部信息,使用HEAD请求

(7)[[email protected] ~]# curl -s -I baidu.com|wc -l

12

[[email protected] ~]# curl -I baidu.com|wc -l

说明:-s/--silent 表示安静模式

(8)[[email protected] ~]# curl -s -o /dev/null baidu.com

[[email protected] ~]# curl -s -o /root/shiyan baidu.com

[[email protected] ~]# cat shiyan

<html>

<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">

</html>

说明:-o/--output <file> 表示将baidu.com下载内容输出到/root/shiyan文件中。

时间: 2024-10-05 23:51:45

shell脚本中常用的命令:wget、curl、ss、lsof、nmap、nc、netstat、telnet的相关文章

shell脚本中常用的命令

date +%Y%m%d%H%M%S -----打印年月日时分秒 echo -e "\033[32m color this word \033[0m" ----输出时添加颜色,32m是绿色,31m是红色 find / -name *.log -type f -size -1M -mtime -30 -perm 755 ----查找到小于1M的30天内修改了的 权限为755的log文件 ll | awk '{print $9}'|grep -v '^$'; -----打印第9列,去除空格

shell 脚本中常用字符含义与vim编辑器中的快捷键

1.vim编辑器的命令模式中常用的快捷键 命令 作用 dd 删除(剪切)光标所在整行. 5dd 删除(剪切)从光标处开始的5行. yy 复制光标所在整行. 5yy 复制从光标处开始的5行. p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后. /字符串 在文本中从上至下搜索该字符串. ?字符串 在文本中从下至上搜索该字符串. n 显示搜索命令定位到的下一个字符串. N 显示搜索命令定位到的上一个字符串. u 撤销上一步的操作 2.vim编辑器的末行模式中的常用命令 命令 作用 :w 保存

shell 脚本中后台执行命令 &amp;

最近遇到一个问题, 执行脚本,脚本调用 一个命令,命令(deamon)是一个守护进程,为了调试,取消了守护进程模式.导致命令后边的其他命令(echo "456")都无法执行. deamon -d 是以守护进程模式启动:deamon -x 是以非守护进程模式启动(监控进程,死循环),stdout和stderr 关联到 控制终端. 脚本是 a.sh #!/bin/sh echo “123“ /usr/local/bin/deamon -d & >/dev/null 2>

shell脚本中解决SCP命令需要输入密码的问题

使用密钥文件. 这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件. 在主机A上执行如下命令来生成配对密钥: ssh-keygen -t rsa 遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在: /root/.ssh/id_rsa.pub 将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys, 到主机A中执行命令和主机B建立信任,例(假设主机B

shell脚本中执行mysql命令

1.mysql -hhostname -uuser -ppsword -e "mysql_cmd" 2. mysql -hhostname -uuser -ppsword << EOF    mysql_cmdEOF 如下简单例子: #!/bin/bashmysql -hservicedb-online -uroot -proot123 -e "use test;select * from tests;"  #方法1实例mysql -hservicedb

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

Linux中使用crontab命令定时执行shell脚本或其他Linux命令

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * * * /root/bin/backup.sh 这将会在每天早上5点运行 /root/bin/backup.sh Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-pat

shell脚本介绍,shell脚本结构和执行方式,date命令的用法,shell脚本中的变量简介

笔记内容: 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量 笔记日期:2017-11-21 20.1 shell脚本介绍 Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令

20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量

- 20.1 shell脚本介绍 - 20.2 shell脚本结构和执行 - 20.3 date命令用法 - 20.4 shell脚本中的变量 # 20.1 Shell脚本介绍 -  shell是一种脚本语言  关注aming_linux  blog.lishiming.net -  可以使用逻辑判断.循环等语法 -  可以自定义函数 -  shell是系统命令的集合 -  shell脚本可以实现自动化运维,能大大增加我们的运维效率 # 20.2 Shell脚本结构和执行 - 开头需要加#!/b