Linux
Linux
Linux基础知识
Linux系统类别
linux系统,主要分debian系和redhat系,还有其它自由的发布版本。
1、debian系主要有Debian,Ubuntu,Mint等及其衍生版本
2、redhat系主要有RedHat,Fedora,CentOs等
3、其它有Slackware,Gentoo,Arch linux,LFS,SUSE等
4、如果开发用,推荐redhat系,业内公司的服务器多用centos,考虑到平时使用,那么就选择fedora,可以选择最新的发行版
5、如果简单用加开发,可以选择debian系,推ubuntu,mint
6、如果是技术狂型,那么就推荐Gentoo,Arch linux,LFS,Slackware等
7、特殊服务器系统(Windows):Windows Server 2012是微软发布的服务器操作系统,是Windows Server 2008 R2的后继版本。它提供了许多新功能和改进,包括更好的虚拟化支持、存储和网络功能、安全性能等。 Windows Server 2012主要用于企业级应用程序和服务的部署和管理。
Linux、Windows
Windows:Windows是微软开发的操作系统,民用操作系统,可用于娱乐、影音、上网。 Windows操作系统具有强大的日志记录系统和强大的桌面应用。好处是它可以帮我们实现非常多绚丽多彩的效果,可以非常方便去进行娱乐、影音、上网。
Linux:Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署都是放在Linux操作系统上面。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux、Unix
1)开源性:Linux是一款开源操作系统,不需要付费即可使用;Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。
2)跨平台性:Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能较弱,大多需与硬件配套使用。
3)可视化界面:Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。
4)硬件环境:Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,安装难度较大。
5)用户群体:Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源免费的特性,更容易普及使用。
Linux常用命令
解压缩命令
tar(解压缩命令),常用的组合命令:
是否需要用gzip压缩:-z
建立一个压缩文件的参数指令(create),压缩:-c
解开一个压缩文件的参数指令(extract),解压:-x
压缩的过程中显示文件(verbose):-v
使用档名,在f之后要立即接档中(file):-f
常用解压参数组合:zxvf
常用压缩参数组合:zcvf
解压命令(文件名redis-3.2.8.tar.gz):
解压到当前文件夹:tar -zxvf redis-3.2.8.tar.gz
解压到指定目录:tar -zxvf redis-3.2.8.tar.gz -C /opt/java/
压缩命令,tar -zcvf 压缩后的文件(可指定目录) 要压缩的文件(可指定目录):
tar -zcvf redis-3.2.8.tar.gz redis-3.2.8
文件相关命令
1)cd(change directory:英文释义是改变目录)切换目录。
跳到上级目录:cd ../
不管现在到那直接跳到指定的opt文件夹中:cd /opt
切换当前用户的家目录,root用户的家目录就是root目录:cd ~
2)pwd(print working directory:显示当前工作目录的绝对路径)。
3)ls(ls:list的缩写,查看列表)查看当前目录下的所有文件夹,ls只列出文件名或目录名。
显示所有文件夹,隐藏文件也显示出来:ls -a
连同子目录一起列出来:ls -R
4)ll(ll:list的缩写,查看列表详情)查看当前目录下的所有详细信息和文件夹,ll显示结果比较详细,有时间、是否可读写等信息。
显示所有文件,隐藏文件也显示出来:ll -a
连同子目录内容一起列出来:ll -R
友好展示详情信息,可以看大小:ll -h
即能显示隐藏文件又能显示详细列表:ll -al
5)touch(touch:创建文件)创建文件
创建test.txt文件:touch test.txt
在指定目录创建test.java文件:touch /opt/java/test.java
6)mkdir(mkdir:创建目录)创建目录
在此目录创建文件夹:mkdir+文件夹名称
在指定目录创建文件夹:mkdir /opt/java/jdk
7)cat(concatenate:显示或把多个文本文件连接起来)查看文件命令,可以快捷查看当前文件的内容,不能快速定位到最后一页。
快捷查看文件命令:cat lj.log
暂停显示文件:Ctrl + c
退出查看文件命令:Ctrl + d
8)more(more:更多的意思)分页查看文件命令,不能快速定位到最后一页。
向下n行,需要定义,默认为1行:回车
向下滚动一屏:空格键或Ctrl+F
返回上一层:B或Ctrl+B
退出more:q
9)less(lese:较少的意思)分页查看文件命令,可以快速定位到最后一页。
显示类似于more命令的百分比:less -m
显示每行的行号(大写的N):less -N
两参数一起使用如:less -mN 文件名,如此可分页并显示行号。
前下一页:空格键或page down
向下一行:回车
后退一页:b或page up
退出:q
前进半页:d
后退半页:u
10)tail(尾巴)查看文件命令,看最后多少行。
看最后10行:tail -10 文件名
11)cp(copy单词缩写,复制功能)
把java.log复制到/opt/logs/下:cp /opt/java/java.log /opt/logs/
把java.log复制到/opt/logs/下并且改名为aaa.log:cp /opt/java/java.log /opt/logs/aaa.log
把文件夹及内容复制到logs文件夹中:cp -r /opt/java /opt/logs
12)mv(move单词缩写,移动功能、改名功能)
移动文件到mysql目录下:mv /opt/java/java.log /opt/mysql/
把java.log改名为mysql.log:mv java.log mysql.log
13)rm(remove:移除的意思)删除文件或文件夹
强制删除文件或目录,删除文件不包括文件夹的文件:-f或--force
递归处理,将指定目录下的所有文件及子目录一并删除:-r或-R或--recursive
强制删除文件夹及内容:-rf
安全删除命令(yes删除 no取消):rm 文件名
强制删除文件夹及内容:rm -rf
删除当前目录下的所有内容:rm -rf *
删除Linux系统根目录下所有的内容,系统将完蛋:rm -rf /*
14)find(find:找到的意思)查找指定文件或目录,*表示0~n个任意字符。
按照指定名称查找在当前目录下查找文件:find -name 文件名
按照指定名称全局查找文件:find / -name 文件名
任意前缀加上文件名在当前目录下查找文件:find -name '*文件名'
全局进行模糊查询带文件名的文件:find / -name '*文件名*'
15)vi(VIsual:视觉)文本编辑器,类似win的记事本,操作类似于vim命令。
vim(VI IMproved:改进版视觉)改进版文本编辑器,不管是文件查看还是文件编辑,按Shift+上或者下可以上下移动查看视角。
打开文件(默认一般模式):vim+文件名或vi+文件名
【
一般模式:可以浏览文件内容,可以进行文本快捷操作。如单行复制,多行复制,单行删除,多行删除,退出等。
插入模式:可以编辑文件内容。
底行模式:可以进行强制退出操作,不保存(:q!),可以进行保存并退出操作(:wq)。
按下i或a或o键,从一般模式进入插入模式(编辑模式),在编辑模式下按Esc即可到一般模式,在一般模式下按:(冒号)进入底行模式。
】
在一般模式下的快捷键:
删除一整行:dd
向前删除,等同于windowns系统中的删除键:X
向后删除:x
向后看一页:Ctrl + f
向前看一页:Ctrl + b
撤销上一步操作:u
向下查找word关键字:/word(输入:n查找下一个,N查找上一个,不管是哪个查找都是全局查找 ,只不过n的方向相反)
向上查找log关键字:?log(输入:n查找上一个,N查找下一个)
把1-90行的redis替换为Redis::1,90s/redis/Redis/g(语法是n1,n2s/原关键字/新关键字/g,n1代表其实行、n2代表结尾行、g是必须要的)
光标移动到第一行::0
光标移动到最后一行::$
光标移动到300行,输入多少数字移动到多少行::300
保存::w
强制保存::w!
退出::q
强制退出::q!
删除后面5行,第一个参数为自己填写:5dd
删除此光标后面5个字符:5x
删除此光标之前的所有:d1G
从光标当前位置删除到此行的第一个位置:d0
复制:yy
在光标的下面进行粘贴:p
在光标的上面进行粘贴:P
16)file+文件名(可查看文件类型)
进程相关命令
1)|(管道命令)把多个命令组合起来使用。
管道命令的语法:命令1 | 命令2 | 命令3
2)grep(grep:正则表达式)正则表达式,用于字符串的搜索工作,模糊查询。
单独使用,在test.java文件中查找String的位置,返回整行:grep String test.java
一般此命令不会单独使用,可以通过管道命令组合起来使用:
查找带java关键字的进程:ps aux|grep java
查找带java关键字的文件夹及文件:ll |grep java
3)yum install -y lrzsz(实现win到Linux文件互相简单上传文件),实际上就是在Linux系统中下载了一个插件,下了了此安装包后就可以实现win系统到linux之间拉文件拉文件。
等待下载完了就可以输入:
从win系统中选择文件上传到Linux系统中:rz
选择Linux系统的文件复制到win系统中:sz+文件名
4)ps(process status:进程状态,类似于windows的任务管理器)
常用组合:
标准的格式查看系统进程:ps -ef
BSD格式查看系统进程:ps -aux
BSD格式查看进程名称带有redis的系统进程(常用技巧):ps -aux|grep redis
需要了解显示进程的一些属性(ps aux),如下:
USER //用户名
PID //进程ID号,用来杀死进程的
%CPU //进程占用的CPU的百分比
%MEM //占用内存的的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
5)kill命令用来中止一个进程,要配合ps命令使用,配合pid关闭进程。ps类似于打开任务管理器,kill类似于关闭进程。
推荐,和平关闭进程:kill -5 进程的PID
不推荐,强制杀死进程:kill -9 PID
6)top命令,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等。
显示完整的进程命令:-c
保密模式:-s
指定进程显示:-p <进程号>
循环显示次数:-n <次数>
网络相关命令
1)ifconfig命令用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。一般是用来查看的,很少更改,如果此命令输入无效,先输入yum -y install net-tools,再输入ifconfig。
2)ping(用于检测与目标的连通性)语法:ping ip地址
测试案例:在Windows操作系统中cmd输入ipconfig,查看本机IP地址,再到Linux系统中输入ping ip地址,按Ctrl+C可以停止测试。
3)netstat命令,Linux netstat命令用于显示网络状态。
利用netstat指令可让你得知整个Linux系统的网络情况,语法:
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
防火墙与端口
查看防火墙状态:firewall-cmd --state
停止防火墙:systemctl stop firewalld.service
开启防火墙:firewall-cmd --state 或 systemctl start firewalld
禁止防火墙开机启动:systemctl disable firewalld.service
重启防火墙:firewall-cmd --reload
查看某个端口是否开启:
lsof -i:端口号(没有开启没内容显示)
netstat -aptn(只显示开启的)
netstat -ntlp(查看当前所有tcp端口)
netstat -ntulp |grep 1935(查看所有1935端口使用情况)
开启端口方式一(开启1935):
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
开启端口方式二(开启8080):
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
开启端口方式三(开启8080):
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT;
service iptables restart;
完整开启流程:
1)开启防火墙:systemctl start firewalld.service
2)开启端口:firewall-cmd --zone=public --add-port=9001/tcp --permanent
3)重启防火墙:firewall-cmd --reload
4)查看端口启动情况
查看所有tcp协议下的端口:netstat -ntlp
查看端口为9001的状态:netstat -ntlp |grep 9001
5)需要关闭端口:直接kill进程ID
其他常用命令
1)clear清屏命令
2)free命令(显示系统内存),显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
以Byte显示内存使用情况:-b
以kb为单位显示内存使用情况:-k
以mb为单位显示内存使用情况:-m
以gb为单位显示内存使用情况:-g
持续显示内存:-s<间隔秒数>
显示内存使用总合:-t
3)重启linux(Linux centos)
重启命令:reboot
4)关机linux(Linux centos)
关机命令:halt
5)同步时间命令
ntpdate ntp1.aliyun.com
6)更改为北京时间命令
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
7)查看时间命令
date
Yum命令使用
Wget命令安装
https://blog.csdn.net/LCH_0704/article/details/125873707
Yum命令安装
https://www.jianshu.com/p/d31fb0540910
Yum命令详解
https://blog.csdn.net/MssGuo/article/details/114283074
Curl命令使用
Curl命令安装
Windows安装Curl:
1)到https://curl.se/download.html官网下载安装包
2)解压到无中文目录下,然后配置环境变量指定到bin目录
3)dos窗口输入curl --version或curl --help验证是否安装完成
Linux安装Curl:
1)下载地址:https://curl.haxx.se/download.html
你也可以下载旧版的curl:https://curl.haxx.se/download/
命令下载:wget https://curl.haxx.se/download/curl-7.30.1.tar.gz
2)解压安装
tar -xzvf curl-7.30.1.tar.gz #解压
cd curl-7.30.1
./configure
make && make install
3)输入curl --version验证是否安装完成
Curl命令语法
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
语法:curl [option] [url]
常见参数:
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
Curl命令案例
==================基本用法==================
curl http://www.linux.com
执行后,www.linux.com的html就会显示在屏幕上了
Ps:由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站
==================保存访问的网页==================
1、使用linux的重定向功能保存
curl http://www.linux.com >> linux.html
2、可以使用curl的内置option:-o(小写)保存网页
curl -o linux.html http://www.linux.com
执行完成后会显示如下界面,显示100%则表示保存成功
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 79684 0 79684 0 0 3437k 0 --:--:-- --:--:-- --:--:-- 7781k
3、可以使用curl的内置option:-O(大写)保存网页中的文件。要注意这里后面的url要具体到某个文件,不然抓不下来。
curl -O http://www.linux.com/hello.sh
==================测试网页返回值==================
curl -o /dev/null -s -w %{http_code} www.linux.com
Ps:在脚本中,这是很常见的测试网站是否正常的用法
==================指定proxy服务器以及其端口==================
很多时候上网需要用到代理服务器(比如是使用代理服务器上网或者因为使用curl别人网站而被别人屏蔽IP地址的时候),幸运的是curl通过使用内置option:-x来支持设置代理
curl -x 192.168.100.100:1080 http://www.linux.com
==================cookie==================
有些网站是使用cookie来记录session信息。对于chrome这样的浏览器,可以轻易处理cookie信息,但在curl中只要增加相关参数也是可以很容易的处理cookie
1、保存http的response里面的cookie信息。内置option:-c(小写)
curl -c cookiec.txt http://www.linux.com
执行后cookie信息就被存到了cookiec.txt里面了
2、保存http的response里面的header信息。内置option: -D
curl -D cookied.txt http://www.linux.com
执行后cookie信息就被存到了cookied.txt里面了
注意:-c(小写)产生的cookie和-D里面的cookie是不一样的。
3、使用cookie
很多网站都是通过监视你的cookie信息来判断你是否按规矩访问他们的网站的,因此我们需要使用保存的cookie信息。内置option: -b
curl -b cookiec.txt http://www.linux.com
==================模仿浏览器==================
有些网站需要使用特定的浏览器去访问他们,有些还需要使用某些特定的版本。curl内置option:-A可以让我们指定浏览器去访问网站
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.linux.com
这样服务器端就会认为是使用IE8.0去访问的
==================伪造referer(盗链)==================
很多服务器会检查http访问的referer从而来控制访问。比如:你是先访问首页,然后再访问首页中的邮箱页面,这里访问邮箱的referer地址就是访问首页成功后的页面地址,如果服务器发现对邮箱页面访问的referer地址不是首页的地址,就断定那是个盗连了
curl中内置option:-e可以让我们设定referer
curl -e "www.linux.com" http://mail.linux.com
这样就会让服务器其以为你是从www.linux.com点击某个链接过来的
==================下载文件==================
1、利用curl下载文件。
使用内置option:-o(小写)
curl -o dodo1.jpg http:www.linux.com/dodo1.JPG
使用内置option:-O(大写)
curl -O http://www.linux.com/dodo1.JPG
这样就会以服务器上的名称保存文件到本地
2、循环下载
有时候下载图片可以能是前面的部分名称是一样的,就最后的尾椎名不一样
curl -O http://www.linux.com/dodo[1-5].JPG
这样就会把dodo1,dodo2,dodo3,dodo4,dodo5全部保存下来
3、下载重命名
curl -O http://www.linux.com/{hello,bb}/dodo[1-5].JPG
由于下载的hello与bb中的文件名都是dodo1,dodo2,dodo3,dodo4,dodo5。因此第二次下载的会把第一次下载的覆盖,这样就需要对文件进行重命名。
curl -o #1_#2.JPG http://www.linux.com/{hello,bb}/dodo[1-5].JPG
这样在hello/dodo1.JPG的文件下载下来就会变成hello_dodo1.JPG,其他文件依此类推,从而有效的避免了文件被覆盖
4、分块下载
有时候下载的东西会比较大,这个时候我们可以分段下载。使用内置option:-r
curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG
curl -r 100-200 -o dodo1_part2.JPG http://www.linux.com/dodo1.JPG
curl -r 200- -o dodo1_part3.JPG http://www.linux.com/dodo1.JPG
cat dodo1_part* > dodo1.JPG
这样就可以查看dodo1.JPG的内容了
5、通过ftp下载文件
curl可以通过ftp下载文件,curl提供两种从ftp中下载的语法
curl -O -u 用户名:密码 ftp://www.linux.com/dodo1.JPG
curl -O ftp://用户名:密码@www.linux.com/dodo1.JPG
6、显示下载进度条
curl -# -O http://www.linux.com/dodo1.JPG
7、不会显示下载进度信息
curl -s -O http://www.linux.com/dodo1.JPG
==================断点续传==================
在windows中,我们可以使用迅雷这样的软件进行断点续传。curl可以通过内置option:-C同样可以达到相同的效果。如果在下载dodo1.JPG的过程中突然掉线了,可以使用以下的方式续传。
curl -C -O http://www.linux.com/dodo1.JPG
==================上传文件==================
curl不仅仅可以下载文件,还可以上传文件。通过内置option:-T来实现
curl -T dodo1.JPG -u 用户名:密码 ftp://www.linux.com/img/
这样就向ftp服务器上传了文件dodo1.JPG
==================显示抓取错误==================
curl -f http://www.linux.com/error
其他参数:
-a/--append 上传文件时,附加到目标文件
--anyauth 可以使用“任何”身份验证方法
--basic 使用HTTP基本验证
-B/--use-ascii 使用ASCII文本传输
-d/--data <data> HTTP POST方式传送数据
--data-ascii <data> 以ascii的方式post数据
--data-binary <data> 以二进制的方式post数据
--negotiate 使用HTTP身份验证
--digest 使用数字身份验证
--disable-eprt 禁止使用EPRT或LPRT
--disable-epsv 禁止使用EPSV
--egd-file <file> 为随机数据(SSL)设置EGD socket路径
--tcp-nodelay 使用TCP_NODELAY选项
-E/--cert <cert[:passwd]> 客户端证书文件和密码 (SSL)
--cert-type <type> 证书文件类型 (DER/PEM/ENG) (SSL)
--key <key> 私钥文件名 (SSL)
--key-type <type> 私钥文件类型 (DER/PEM/ENG) (SSL)
--pass <pass> 私钥密码 (SSL)
--engine <eng> 加密引擎使用 (SSL). "--engine list" for list
--cacert <file> CA证书 (SSL)
--capath <directory> CA目 (made using c_rehash) to verify peer against (SSL)
--ciphers <list> SSL密码
--compressed 要求返回是压缩的形势 (using deflate or gzip)
--connect-timeout <seconds> 设置最大请求时间
--create-dirs 建立本地目录的目录层次结构
--crlf 上传是把LF转变成CRLF
--ftp-create-dirs 如果远程目录不存在,创建远程目录
--ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用
--ftp-pasv 使用 PASV/EPSV 代替端口
--ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址
--ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输
--ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输
-F/--form <name=content> 模拟http表单提交数据
-form-string <name=string> 模拟http表单提交数据
-g/--globoff 禁用网址序列和范围使用{}和[]
-G/--get 以get的方式来发送数据
-h/--help 帮助
-H/--header <line> 自定义头信息传递给服务器
--ignore-content-length 忽略的HTTP头信息的长度
-i/--include 输出时包括protocol头信息
-I/--head 只显示文档信息
-j/--junk-session-cookies 读取文件时忽略session cookie
--interface <interface> 使用指定网络接口/地址
--krb4 <level> 使用指定安全级别的krb4
-k/--insecure 允许不使用证书到SSL站点
-K/--config 指定的配置文件读取
-l/--list-only 列出ftp目录下的文件名称
--limit-rate <rate> 设置传输速度
--local-port<NUM> 强制使用本地端口号
-m/--max-time <seconds> 设置最大传输时间
--max-redirs <num> 设置最大读取的目录数
--max-filesize <bytes> 设置最大下载的文件总量
-M/--manual 显示全手动
-n/--netrc 从netrc文件中读取用户名和密码
--netrc-optional 使用 .netrc 或者 URL来覆盖-n
--ntlm 使用 HTTP NTLM 身份验证
-N/--no-buffer 禁用缓冲输出
-p/--proxytunnel 使用HTTP代理
--proxy-anyauth 选择任一代理身份验证方法
--proxy-basic 在代理上使用基本身份验证
--proxy-digest 在代理上使用数字身份验证
--proxy-ntlm 在代理上使用ntlm身份验证
-P/--ftp-port <address> 使用端口地址,而不是使用PASV
-Q/--quote <cmd> 文件传输前,发送命令到服务器
--range-file 读取(SSL)的随机文件
-R/--remote-time 在本地生成文件时,保留远程文件时间
--retry <num> 传输出现问题时,重试的次数
--retry-delay <seconds> 传输出现问题时,设置重试间隔时间
--retry-max-time <seconds> 传输出现问题时,设置最大重试时间
-S/--show-error 显示错误
--socks4 <host[:port]> 用socks4代理给定主机和端口
--socks5 <host[:port]> 用socks5代理给定主机和端口
-t/--telnet-option <OPT=val> Telnet选项设置
--trace <file> 对指定文件进行debug
--trace-ascii <file> Like --跟踪但没有hex输出
--trace-time 跟踪/详细输出时,添加时间戳
--url <URL> Spet URL to work with
-U/--proxy-user <user[:password]> 设置代理用户名和密码
-V/--version 显示版本信息
-X/--request <command> 指定什么命令
-y/--speed-time 放弃限速所要的时间。默认为30
-Y/--speed-limit 停止传输速度的限制,速度时间'秒
-z/--time-cond 传送时间设置
-0/--http1.0 使用HTTP 1.0
-1/--tlsv1 使用TLSv1(SSL)
-2/--sslv2 使用SSLv2的(SSL)
-3/--sslv3 使用的SSLv3(SSL)
--3p-quote like -Q for the source URL for 3rd party transfer
--3p-url 使用url,进行第三方传送
--3p-user 使用用户名和密码,进行第三方传送
-4/--ipv4 使用IP4
-6/--ipv6 使用IP6
Curl请求接口
1)发送GET
curl http://127.0.0.1:8080/login?admin&password=12345678
为了防止地址被误认为是命令关键字,可以把地址用单引号括起来:
curl 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxx&secret=xx'
2)发送POST
curl -d "user=admin&password=12345678" http://127.0.0.1:8080/login
或
curl http://100.99.148.14:8002/carbonOpt/fouling -H "Content-Type: application/json" -X POST -d '{"taskId": "1672875109537636353","vesselInfo":{"imo": "9708526","rpmMax": "1","rpmMin": "1","seriousLimit": "1","warningLimit": "1"}}'
3)发送指定格式并且输出到日志
curl -H "Content-Type:application/json" -X POST -d "user=admin&password=12345678" http://127.0.0.1:8080/login >> ./alert.log
Telnet命令使用
Telnet命令安装
linux安装telnet
1、查看是否安装了telnet-server服务
rpm -qa telnet-server
2、若没有安装,则先安装telnet-server服务
yum install telnet-server
3、再安装telnet
yum install telnet
Telnet测试端口
Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。telnet也可以查看某个端口是否可访问。我们在搞开发的时候,经常要用的端口就是8080。那么你可以启动服务器,用telnet去查看这个端口是否可用。常见测试端口语法:
1、ping+ip:查看某一个ip地址是否能够连通,如:ping 114.80.67.193
2、telnet ip port:查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080
3、退出命令
exit 退出dos窗口
q!,wq Linux下退出vi编辑器
ctrl+],之后在按q 退出telnet界面,ctrl+]连接成功之后可以进入到命令窗口
quit 退出MySQL