wget 下载工具
wget 是Linux系统最常用的工具之一,命令行方式的多功能下载工具,支持HTTP,HTTPS和FTP协议。
参数介绍: # 只介绍最常用的参数 # 如果提示命令不存在,那么使用 yum install wget -y / apt-get install wget -y 来安装(有一些非常精简的系统可能会没装) -b :启动后,后台下载 -q :安静模式(不输出任何信息) -c :断点续传下载文件 -O :指定下载后的文件名(可使用绝对路径目录+文件名) -P :指定下载后的文件目录(-P只能指定下载目录,并不能指定文件名) -t :设置重试次数(0代表无限) -T :设置超时时间(单位:秒) -N :只获取比本地新的文件(新的覆盖旧的) -4 :仅连接至 IPv4地址 -6 :仅连接至 IPv6地址 --limit-rate=xxxk :限制下载速度(k代表KB/S) --post-data :通过POST方式发送数据 --no-check-certificate :不验证服务器的SSL证书 # 更多的命令可以用 wget --help 来查看。 使用示例: # 下载一个文件到当前目录 wget https://softs.pw/100MB.bin # 下载文件到当前目录并重命名为 200MB.bin wget -O "200MB.bin" https://softs.pw/100MB.bin # 下载文件到 /root目录(-P只能指定下载目录,并不能指定文件名) wget -P "/root" https://softs.pw/100MB.bin # 下载文件到 /root/doubi目录并重命名为 200MB.bin wget -O "/root/doubi/200MB.bin" https://softs.pw/100MB.bin # 下载文件完成之前 wget进程结束了,那么可以使用断点续传重新下载中断的文件(前提是下载服务器支持断点续传) wget -c # 通过后台下载文件到 /root/doubi目录并重命名为 200MB.bin wget -b -O "/root/doubi/200MB.bin" # Continuing in background, pid 2333. # Output will be written to `wget-log'. # 后台下后,你可以使用以下命令来查看下载进度: tail -f wget-log # 有时候一些Linux系统中的SSL证书不完整,会导致下载一些 HTTPS网站文件的时候会验证SSL证书失败,可以这样做 # 不验证服务器SSL证书,下载文件到当前目录并重命名为 200MB.bin wget --no-check-certificate -O "200MB.bin" https://softs.pw/100MB.bin # 使用wget发送POST请求数据 wget --post-data "user=doubi&passwd=23333" https://xxx.xx/ # 下载文件到当前目录 并仅通过IPv4连接 只获取比本地新的文件,限速 200KB/S wget --limit-rate=200k -N -4 https://softs.pw/100MB.bin # 下载文件到当前目录 并重试次数为 1,超时时间为 2秒 wget -t1 -T2 https://softs.pw/100MB.bin # 通过 wget来获取服务器的外网IP(-qO- 代表运行完会输出下载的信息,并不会保存到本地文件) wget -qO- ipinfo.io/ip # 更多的命令可以用 wget --help 来查看。
curl 下载工具
curl是Linux系统一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的HTTP命令行工具。它支持文件的上传和下载,是综合传输工具,但习惯称curl为下载工具。
参数介绍:
# 只介绍最常用的参数 # 如果提示命令不存在,那么使用 yum install curl -y / apt-get install curl -y 来安装(有一些非常精简的系统可能会没装) -s :安静模式(不会输出任何信息) -C :断点续传下载文件 -o :输出写入到文件中 -O :输出写入到文件,文件名为 远程文件的名称 -k :不验证服务器SSL证书 -T :上传文件 -4 :仅连接至 IPv4地址 -6 :仅连接至 IPv6地址 -m :设置传输总时间(单位:秒) --retry :设置重试次数 --data :通过POST方式发送数据 --limit-rate xxxK :限制下载速度(K代表KB/S) # 更多的命令可以用 curl --help 来查看。 使用示例: # 获取当前服务器的外网IP curl ipinfo.io/ip # 获取一个文件保存到当前目录中 wget -O https://softs.pw/Bash/***.sh # 获取一个文件保存到 /root/doubi目录中 并修改文件名为 233.sh curl -o "/root/doubi/233.sh" https://softs.pw/Bash/***.sh # 下载文件完成之前 curl进程结束了,那么可以使用断点续传重新下载中断的文件(前提是下载服务器支持断点续传) curl -C -O https://softs.pw/100MB.bin # 有时候一些Linux系统中的SSL证书不完整,会导致访问/下载一些 HTTPS网站/文件的时候会验证SSL证书失败,可以这样做 # 不验证服务器SSL证书,下载文件到当前目录并重命名为 233.sh curl -k -o "233.sh" https://softs.pw/Bash/***.sh # 使用curl发送GET请求数据 curl https://xxx.xx/?user=doubi # 使用curl发送POST请求数据 curl --data "user=doubi&passwd=23333" https://xxx.xx/ # 下载文件到当前目录 并仅通过IPv4连接,限速 200KB/S curl --limit-rate 200K -4 https://softs.pw/100MB.bin # 下载文件到当前目录 并重试次数为 1,超时时间为 2秒 curl --retry 1 -m 10 https://softs.pw/100MB.bin # 更多的命令可以用 curl --help 来查看。
netstat 查看链接和端口监听等信息
参数介绍: -n :不显示别名(主机名/域名以 数字或IP显示) -e :显示其他/更多信息 -p :显示进程PID/进程名 -c :持续输出(设置后会每隔 1秒输出一次,Ctrl+C 终止) -l :显示正在监听的套接字 -a :显示全部信息 # 下面这些就不很常用了。 -r :显示路由表 -i :显示网络接口(网卡) -g :显示多播组信息 -s :显示网络统计 -M :显示伪装连接 -v :显示正在进行的工作 # 更多的命令可以用 netstat --help 来查看。 使用示例: # 显示当前服务器的所有连接信息 netstat -a # 显示当前服务器的所有 TCP连接信息 netstat -at # 显示当前服务器的所有 UDP连接信息 netstat -au 一般来说经常使用这个命令: # 显示当前服务器的所有正在监听 TCP端口的信息,并且 显示进程PID和进程名,但不显示别名(域名以IP显示),这个命令算是最常用的了。 netstat -lntp # 输出示例 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14233/nginx.conf tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1555/sshd tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 14233/nginx.conf tcp6 0 0 :::22 :::* LISTEN 1555/sshd # 显示监听 80端口的进程PID和进程名,grep是匹配并显示 符合关键词的行。 netstat -lntp|grep ":80" # 输出示例 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14233/nginx.conf # 显示 ssh的监听情况,grep是匹配并显示 符合关键词的行。 netstat -lntp|grep "ssh" # 输出示例 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1555/sshd 表头解释: Proto :连接协议(tcp/udp是IPv4,tcp6/udp6是IPv6) Recv-Q : 接收队列(基本都是0,如果不是代表堆积) Send-Q :发送队列(基本都是0,如果不是代表堆积) Local Address :本地地址和端口 Foreign Address :对外地址和端口 State :连接状态 PID/Program name :进程PID/进程名 # 每隔 1秒显示一次当前服务器的所有连接信息 netstat -c # 每隔 1秒显示一次当前服务器的所有 TCP连接信息 netstat -ct # 每隔 1秒显示一次当前服务器的所有 UDP连接信息 netstat -cu # 显示当前服务器的路由表 netstat -r # 显示当前服务器的网络接口信息(网卡) netstat -i # 显示当前服务器的网络统计信息 netstat -s # 更多的命令可以用 netstat --help 来查看。 在使用 netstat命令中,会显示一些连接状态,下面是各状态的意思: LISTEN # 监听来自远程连接的 TCP端口连接请求 SYN-SENT # 在发送连接请求后,等待匹配的连接请求 SYN-RECEIVED # 在收到和发送一个连接请求后,等待对方对连接请求的确认 ESTABLISHED # 代表一个打开的连接 FIN-WAIT-1 # 等待远程 TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2 # 从远程 TCP等待连接中断请求 CLOSE-WAIT # 等待从本地用户发来的连接中断请求 CLOSING # 等待远程TCP对连接中断的确认 LAST-ACK # 等待原来的发向远程TCP的连接中断请求的确认 TIME-WAIT # 等待足够的时间,以确保远程TCP接收到连接中断请求的确认 CLOSED # 没有任何连接状态(或者关闭了连接)
转载于:https://blog.51cto.com/as1024/1933387