-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell.html
102 lines (35 loc) · 24 KB
/
shell.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE html><html><head><title>grep、sed、awk常用命令</title><meta charset='utf-8'><link href='./marxico.css' rel='stylesheet'><style></style></head><body><div id='preview-contents' class='note-content'>
<h3 id="grep">grep</h3>
<pre class="prettyprint hljs-dark"><code class="hljs perl">P/E 解释模式作为Perl的正则表达式匹配,P-perl正则,E-egrep命令 cat abc.txt | <span class="hljs-keyword">grep</span> -P <span class="hljs-string">'ABC(DEF)G[a-z]{0,3}XYZ'</span><br><br>o 仅显示匹配的行,即匹配的内容,如搜索 abc ,匹配成功则只显示abc内容。cat abc.txt | <span class="hljs-keyword">grep</span> -o <span class="hljs-string">'abc'</span><br><br>i 忽略大小写 cat abc.txt | <span class="hljs-keyword">grep</span> -i | <span class="hljs-keyword">grep</span> <span class="hljs-string">'Abc'</span> <br><br>n 输出结果时同时输出该行的行号 cat abc.txt | <span class="hljs-keyword">grep</span> -n <span class="hljs-string">'abc'</span><br><br>l 从多文件查找时,只输出找到匹配内容的文件名 cat abc.txt | <span class="hljs-keyword">grep</span> -l <span class="hljs-string">'abc'</span><br><br>h 从多个文件查找时,只输出匹配的内容,不显示文件名 cat abc.txt | <span class="hljs-keyword">grep</span> -h <span class="hljs-string">'abc'</span><br><br>c 只输出匹配内容的总行数 cat abc.txt | <span class="hljs-keyword">grep</span> -c <span class="hljs-string">'abc'</span><br><br>v 反向查找,输出匹配内容以外的内容(未匹配的到的内容) cat abc.txt | <span class="hljs-keyword">grep</span> -v <span class="hljs-string">'abc'</span><br><br>R/r 按目录递归查找 cat abc.txt | <span class="hljs-keyword">grep</span> -r <span class="hljs-string">'abc'</span> * 或 /home/work/code <span class="hljs-keyword">grep</span> -R --include=<span class="hljs-string">"*.conf"</span> <span class="hljs-string">"关键字"</span> /home/wiki <br><br>F 将范本样式视为固定字符串的列表。 cat abc.txt | <span class="hljs-keyword">grep</span> -F <span class="hljs-string">'abc'</span><br><br><span class="hljs-keyword">grep</span> -r -P -n --exclude=<span class="hljs-string">'a.php'</span> <span class="hljs-string">'abc|1242'</span> work <span class="hljs-comment">#在搜索结果中排除a.php文件检索,这里的文件名可以用正则</span><br>即:包含用 --include=<span class="hljs-string">'xxx.file'</span>参数,不包含用exclude=<span class="hljs-string">'xxx.file参数,需配合目录使用<br><br>注:不加参数默认是输出匹配的行,grep支持正则表达式(加参数P即可)<br></span><br></code></pre>
<h3 id="find">find</h3>
<pre class="prettyprint hljs-dark"><code class="hljs sqf">查找并输出内容: <br> <span class="hljs-built_in">find</span> 要查找的目录 -<span class="hljs-built_in">name</span> <span class="hljs-string">"关键字"</span> -printf<br><br>所有为 .conf 的文件:<br> <span class="hljs-built_in">find</span> 要查找的目录 -<span class="hljs-built_in">name</span> <span class="hljs-string">"*.conf"</span><br><br>查找前两个是字母,第三个是数组,后面是 .d的文件:<br> <span class="hljs-built_in">find</span> /etc -<span class="hljs-built_in">name</span> <span class="hljs-string">"[a-z][a-z][0-9].d"</span><br></code></pre>
<h3 id="awk">awk</h3>
<h5 id="awk语法">awk语法</h5>
<pre class="prettyprint hljs-dark"><code class="hljs vim"><span class="hljs-keyword">a</span>、awk [-F] <span class="hljs-string">'conmand'</span> <span class="hljs-built_in">input</span>-<span class="hljs-keyword">file</span><br><span class="hljs-keyword">b</span>、awk -<span class="hljs-keyword">f</span> script <span class="hljs-built_in">input</span>-<span class="hljs-keyword">file</span><br>注:第一种是直接调用命令,第二种是调用文件命令,第一种选项F是用于指定域分隔符,<br>默认情况下,awk使用空格作为分隔符,<br></code></pre>
<h5 id="awk输出">awk输出</h5>
<pre class="prettyprint hljs-dark"><code class="hljs clean"> 第一个域:$<span class="hljs-number">1</span>,<br> 第二个域:$<span class="hljs-number">2</span> <br> .....................<br> 如果要输出整个字符串:$<span class="hljs-number">0</span> 即可 <br></code></pre>
<h5 id="awk统计排行榜">统计排行榜</h5>
cat data.log |sort | uniq -c | sort -nr | head -n 50
cat data.log | sort -n |uniq -c | sort -rn | head -n 100
<h5 id="awk输出函数print">awk输出函数:print</h5>
<pre class="prettyprint hljs-dark"><code class="hljs elixir">分解passwd文件,格式:<br><span class="hljs-symbol">user1:</span><span class="hljs-number">501</span><span class="hljs-symbol">:</span><span class="hljs-number">501</span><span class="hljs-symbol">:/home/user1</span><span class="hljs-symbol">:/bin/bash</span><br>显然可以用:作为域分隔符,命令:<br>awk -F <span class="hljs-string">':'</span> <span class="hljs-string">'{print "userName:" $1}'</span> /etc/passwd <span class="hljs-comment">#输出用户名</span><br>awk -F <span class="hljs-string">'\t'</span> <span class="hljs-string">'{}'</span> 以tab作为分隔符<br>awk -F <span class="hljs-string">'|'</span> <span class="hljs-string">'{}'</span> 以|作为分隔符<br></code></pre>
<h5 id="awk文本头尾表达式">awk文本头、尾表达式</h5>
<pre class="prettyprint hljs-dark"><code class="hljs gauss">BEGIN :在编辑语句开始执行之前运行;<br><span class="hljs-keyword">END</span>:在所有编辑语句结束之后运行,一般用来书城结束信息、统计数据等;<br>awk -F: 'BEGIN{<span class="hljs-keyword">print</span> <span class="hljs-string">"userName Num \n------------"</span>}<br>{<span class="hljs-keyword">print</span> $<span class="hljs-number">1</span>,$<span class="hljs-number">2</span>}<span class="hljs-keyword">END</span>{<span class="hljs-keyword">print</span> <span class="hljs-string">"--------结束-----------"</span>}'<br></code></pre>
<h5 id="awk的正则元字符运算符和关系运算符">awk的正则、元字符、运算符和关系运算符</h5>
<pre class="prettyprint hljs-dark"><code class="hljs clean">a、常见的算术运算:<br> 赋值:x=y<br> 求和:x+y<br> x/y、x*y、++x、?:、x%y ...............<br><br>b、关系运算<br> > >= < <= != == <br> 匹配 admin:~/admin/<br> 不匹配admin: !~/admin/<br></code></pre>
<h6 id="awk正则的使用">awk正则的使用</h6>
<pre class="prettyprint hljs-dark"><code class="hljs stata">匹配所有含admin的用户所有信息:<br>awk '/admin/{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>' /etc/passwd <br><br>输出用户名、编号:<br>awk '/admin/{<span class="hljs-keyword">print</span> <span class="hljs-variable">$1</span> <span class="hljs-string">"\t"</span> <span class="hljs-variable">$2}</span>'<br><br>精确匹配(==),匹配编号为501的所有用户的所有信息:<br>awk '<span class="hljs-variable">$2</span>==<span class="hljs-string">"501"</span>{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>'<br><br>排除包含某个字符匹配,排除编号不为501的用户:<br>awk '<span class="hljs-variable">$2</span>!=<span class="hljs-string">"501"</span>{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>''<br><br>精确匹配admin:<br>awk '<span class="hljs-variable">$1</span> ~/admin/{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>'<br><br>不精确匹配admin:<br>awk '<span class="hljs-variable">$1</span> !~/admin/{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>'<br><br>匹配admin和张三:<br>awk '<span class="hljs-variable">$1</span> /admin|zhangsan/{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>'<br><br>awk '<span class="hljs-variable">$1</span> /^......[5-9]/{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>'<br>awk '<span class="hljs-variable">$1</span> ~/(admin|zhangsan)/{<span class="hljs-keyword">print</span> <span class="hljs-variable">$0}</span>' #匹配其中一个<br></code></pre>
<h5 id="在awk中使用变量">在awk中使用变量</h5>
<pre class="prettyprint hljs-dark"><code class="hljs stata"> 1、内置变量;<br> FILENAME:用于保存输入文件的文件名称;<br> NF:用于保存当前正在处理记录的域个数;<br> NR:用于保存从文本中读取的记录个数;<br> FNR:用于保存当前读取的记录数;<br> OFS:用于设置输出分隔字段的字符,默认为空格;<br> FS:用于设置字段分隔符;<br> ORS:用于设置输出记录的分隔符,默认为新的一行;<br> RS:用于设置记录分隔符,默认为新行;<br> OFMT:数字的输出格式;<br> ENVIRON:读取环境比那里。<br><br> 2、内置函数:<br> <span class="hljs-keyword">print</span> :输出函数<br> 。。。。。。。。。。。。。<br><br> 3、自定义变量;<br> awk -F ':' '{<span class="hljs-keyword">sum</span>=<span class="hljs-keyword">sum</span>+<span class="hljs-variable">$1}</span>END{<span class="hljs-keyword">print</span> <span class="hljs-keyword">sum</span>}' #求和<br></code></pre>
<h5 id="awk-demo">awk demo</h5>
<pre class="prettyprint hljs-dark"><code class="hljs stata">指定分隔符<br>awk 'BEGIN{FS=<span class="hljs-string">":"</span>} {<span class="hljs-keyword">print</span> <span class="hljs-variable">$1</span>,<span class="hljs-variable">$3</span>,<span class="hljs-variable">$6}</span>' /etc/passwd<br><br>如果你要指定多个分隔符,你可以这样来:<br>awk -F '[;:]'<br><br>再来看一个以\t作为分隔符输出的例子(下面使用了/etc/passwd文件,这个文件是以:分隔的):<br> awk -F: '{<span class="hljs-keyword">print</span> <span class="hljs-variable">$1</span>,<span class="hljs-variable">$3</span>,<span class="hljs-variable">$6}</span>' OFS=<span class="hljs-string">"\t"</span> /etc/passwd<br><br>其实awk可以像grep一样的去匹配第一行,就像这样:<br>awk '/LISTEN/' netstat.txt<br><br>我们可以使用 “/FIN|TIME/” 来匹配 FIN 或者 TIME :<br>awk '<span class="hljs-variable">$6</span> ~ /FIN|TIME/ || NR==1 {<span class="hljs-keyword">print</span> NR,<span class="hljs-variable">$4</span>,<span class="hljs-variable">$5</span>,<span class="hljs-variable">$6}</span>' OFS=<span class="hljs-string">"\t"</span> netstat.txt<br><br>awk拆分文件很简单,使用重定向就好了。下面这个例子,是按第6例分隔文件,相当的简单(其中的NR!=1表示不处理表头):<br>awk 'NR!=1{<span class="hljs-keyword">print</span> > <span class="hljs-variable">$6}</span>' netstat.txt<br><br>你也可以把指定的列输出到文件:<br>awk 'NR!=1{<span class="hljs-keyword">print</span> <span class="hljs-variable">$4</span>,<span class="hljs-variable">$5</span> > <span class="hljs-variable">$6}</span>' netstat.txt<br><br>下面的命令计算所有的C文件,CPP文件和<span class="hljs-keyword">H</span>文件的文件大小总和:<br><span class="hljs-keyword">ls</span> -<span class="hljs-keyword">l</span> *.cpp *.c *.<span class="hljs-keyword">h</span> | awk '{<span class="hljs-keyword">sum</span>+=<span class="hljs-variable">$5}</span> END {<span class="hljs-keyword">print</span> <span class="hljs-keyword">sum</span>}'<br><br>再来看看统计每个用户的进程的占了多少内存(注:<span class="hljs-keyword">sum</span>的RSS那一列):<br>ps aux | awk 'NR!=1{a[<span class="hljs-variable">$1</span>]+=<span class="hljs-variable">$6</span>;} END { <span class="hljs-keyword">for</span>(i <span class="hljs-keyword">in</span> a) <span class="hljs-keyword">print</span> i <span class="hljs-string">", "</span> a[i]<span class="hljs-string">"KB"</span>;}'<br><br>读取文件大小,并使用变量统计所有文件所占用的空间<br><span class="hljs-keyword">ls</span> -<span class="hljs-keyword">l</span> | awk 'BEGIN{A=0}{A+=A+<span class="hljs-variable">$5}</span>END{<span class="hljs-keyword">print</span> <span class="hljs-string">"文件所占空间:"</span>A}' <br><br>awk分割空格或<span class="hljs-keyword">tab</span>键值输出第一行,第二行,第五行<br><span class="hljs-keyword">cat</span> a.txt | awk '{OFS=<span class="hljs-string">"\t"</span>}{<span class="hljs-keyword">print</span> <span class="hljs-variable">$1</span>,<span class="hljs-variable">$2</span>,<span class="hljs-variable">$5}</span>'<br><br>在liguibing文件夹下查找所有php文件包含 10.10.0.9 的文件<br>grep -R --<span class="hljs-keyword">include</span>=<span class="hljs-string">"*.php"</span> <span class="hljs-string">"10.10.0.9"</span> /home/work/liguibing<br><br>求和:<br>[[email protected] wikiaudit]$ <span class="hljs-keyword">cat</span> wikiaudit.<span class="hljs-keyword">log</span> |grep <span class="hljs-string">"wikiaudit/diff"</span> | grep -P -o <span class="hljs-string">"cost\[\d+\]"</span> | grep -P -o <span class="hljs-string">"\d+"</span> | awk '{<span class="hljs-keyword">sum</span>+=<span class="hljs-variable">$1}</span>END{<span class="hljs-keyword">print</span> <span class="hljs-keyword">sum</span>}' <br>62726 <br><br>求平均值:<br>[[email protected] wikiaudit]$ <span class="hljs-keyword">cat</span> wikiaudit.<span class="hljs-keyword">log</span> |grep <span class="hljs-string">"wikiaudit/diff"</span> | grep -P -o <span class="hljs-string">"cost\[\d+\]"</span> | grep -P -o <span class="hljs-string">"\d+"</span> | awk '{<span class="hljs-keyword">sum</span>+=<span class="hljs-variable">$1}</span>END{<span class="hljs-keyword">print</span> <span class="hljs-keyword">sum</span>/NR}' <br>120.395 <br><br><span class="hljs-keyword">cat</span> wikiaudit.<span class="hljs-keyword">log</span>.201412* | grep -P -o <span class="hljs-string">"AuditAreaTimeCount\[[^\]]+\]"</span> | grep -P -o <span class="hljs-string">"\[[^\]]+\]"</span><br><br>影响行数:<br>[[email protected] wikiaudit]$ <span class="hljs-keyword">cat</span> wikiaudit.<span class="hljs-keyword">log</span> |grep <span class="hljs-string">"wikiaudit/diff"</span> | grep -P -o <span class="hljs-string">"cost\[\d+\]"</span> | grep -P -o <span class="hljs-string">"\d+"</span> | wc -<span class="hljs-keyword">l</span> <br>521 <br><br>输出所有匹配的数值:<br><span class="hljs-keyword">cat</span> wikiaudit.<span class="hljs-keyword">log</span> |grep <span class="hljs-string">"wikiaudit/diff"</span> | grep -P -o <span class="hljs-string">"cost\[\d+\]"</span> | grep -P -o <span class="hljs-string">"\d+"</span> | less<br>或者:<br><span class="hljs-keyword">cat</span> wikiaudit.<span class="hljs-keyword">log</span> |grep <span class="hljs-string">"wikiaudit/diff"</span> | grep -P -o <span class="hljs-string">"cost\[\d+\]"</span> | grep -P -o <span class="hljs-string">"\d+"</span><br><br>线上mis机器:<br>ssh cp01-wiki-mis00.cp01<br><span class="hljs-keyword">cat</span> wikiaudit.<span class="hljs-keyword">log</span>.2014081415 |grep <span class="hljs-string">"wikiaudit/diff"</span> | grep -P -o <span class="hljs-string">"cost\[\d+\]"</span> | grep -P -o <span class="hljs-string">"\d+"</span><br><br>awk分割空格或<span class="hljs-keyword">tab</span>键值输出第一行,第二行,第五行<br><span class="hljs-keyword">cat</span> a.txt | awk '{OFS=<span class="hljs-string">"\t"</span>}{<span class="hljs-keyword">print</span> <span class="hljs-variable">$1</span>,<span class="hljs-variable">$2</span>,<span class="hljs-variable">$5}</span>'<br><br>从<span class="hljs-keyword">file</span>文件中找出长度大于80的行<br>awk 'length>80' <span class="hljs-keyword">file</span><br><br>按连接数查看客户端IP<br>netstat -ntu | awk '{<span class="hljs-keyword">print</span> <span class="hljs-variable">$5}</span>' | cut -<span class="hljs-keyword">d</span>: -f1 | <span class="hljs-keyword">sort</span> | uniq -c | <span class="hljs-keyword">sort</span> -nr<br><br>打印99乘法表<br>seq 9 | sed '<span class="hljs-keyword">H</span>;<span class="hljs-keyword">g</span>' | awk -v RS='' '{<span class="hljs-keyword">for</span>(i=1;i<=NF;i++)printf(<span class="hljs-string">"%dx%d=%d%s"</span>, i, NR, i*NR, i==NR?<span class="hljs-string">"\n"</span>:<span class="hljs-string">"\t"</span>)}'<br><br></code></pre>
<h3 id="sed简明教程">sed简明教程</h3>
<pre class="prettyprint hljs-dark"><code class="hljs clean">##### sed语法<br>* sed -选项 指令 文件<br>* sed -选项 -f 指令文件 要处理的文件 注意:这种方式适合于命令比较复杂,把命令放入文件中<br><br>##### sed常用选项<br>* n:不输出所有行,默认输出所有行,定位行<br>* e:后面有多个命令时使用,相当于 | grep<br>* f:指定有命令的脚本<br><br>##### sed常用定位<br>* m,n :表示一个行号的范围<br>* m,n:排除地m到n行<br>* /abc/: 匹配ABC所有行<br><br>##### sed常用编辑指令<br>* sed -n <span class="hljs-string">'3p'</span> a.txt 输出第<span class="hljs-number">3</span>行<br>* sed -n <span class="hljs-string">'3,5p'</span> a.txt 输出<span class="hljs-number">3</span><span class="hljs-number">-5</span>行<br>* sed -n <span class="hljs-string">'/abc/p'</span> a.txt 匹配所有含ABC的行<br>* sed -n <span class="hljs-string">'/abc/='</span> a.txt 匹配显示ABC对应的行号<br>* sed <span class="hljs-string">'/abc/d'</span> a.txt 删除含ABC的所有行<br>* cat -v a.txt 查看所有字符,如 ^M<br>* sed <span class="hljs-string">'s/^M//g'</span> a.txt 删除^M特殊字符<br><br>##### sed批量替换<br>* sed -i <span class="hljs-string">"s/控制面板/飞吧后台管理系统/g"</span> `grep 控制面板 -rl /data/webroot/wwwroot/admin/resources/views` 将控制面板替换为:飞吧后台管理系统,替换views下的所有文件<br>* sed -i <span class="hljs-string">"s/字符串/要替换的字符/g"</span> `grep 字符串 -rl /mnt/webroot/admin/laravel5<span class="hljs-number">.3</span>-admin`<br></code></pre>
<h3 id="crontab-u-username-l-e-r">crontab [-u username] [-l|-e|-r]</h3>
<pre class="prettyprint hljs-dark"><code class="hljs lsl">* 代表意義 分鐘 小時 日期 月份 週 指令<br>* 數字範圍 <span class="hljs-number">0</span><span class="hljs-number">-59</span> <span class="hljs-number">0</span><span class="hljs-number">-23</span> <span class="hljs-number">1</span><span class="hljs-number">-31</span> <span class="hljs-number">1</span><span class="hljs-number">-12</span> <span class="hljs-number">0</span><span class="hljs-number">-7</span> 呀就指令啊<br><br>### dmoe<br>* <span class="hljs-number">58</span> * * * * cd /home/wiki/odp/app/operation/script/starflower && /home/wiki/odp/php/bin/php ExportRankListCategory.php > /dev/null <span class="hljs-number">2</span>>&<span class="hljs-number">1</span><br>* <span class="hljs-number">10</span> <span class="hljs-number">1</span> * * * cd /home/wiki/odp/app/operation/script/starflower && /home/wiki/odp/php/bin/php ExportRankList.php total > /dev/null <span class="hljs-number">2</span>>&<span class="hljs-number">1</span> <br><br>### 文件锁<br>* */<span class="hljs-number">5</span> * * * * flock -xn /home/work/liguibing/test/a.lock -c 'php a.php' #每<span class="hljs-number">5</span>分钟执行一次<br>* 执行php程序命令前添加php的进程锁,会在 /home/work/liguibing/test/目录下产生<br>* 一个a.lock的锁文件,crontab执行a.php脚本,php会检测a.lock的锁文件是否存在,如<br>* 果存在说明之前的同步还未完成,则不执行本次的a.php程序,直到上次a.php完成后,<br>* crontab里的脚本才会执行a.php同步。<br>* 注意:如果是shell脚本,方法同样适用<br>* */<span class="hljs-number">5</span> * * * * flock -xn /home/work/yuna/lock/rsync_pull_47.lock -c 'sh /home/work/yuna/rsync_pull_47.sh >/dev/null <span class="hljs-number">2</span>>&<span class="hljs-number">1</span> &'<br><br></code></pre>
<h3 id="打印每一重复行出现的次数uniq-c表示标记出重复数量">打印每一重复行出现的次数,“uniq -c”表示标记出重复数量</h3>
<pre class="prettyprint hljs-dark"><code class="hljs stata"><span class="hljs-keyword">cat</span> access_log | awk '{<span class="hljs-keyword">print</span> <span class="hljs-variable">$1}</span>'| <span class="hljs-keyword">sort</span> | uniq -c<br></code></pre>
<h2 id="curl-使用">Curl 使用</h2>
<pre class="prettyprint hljs-dark"><code class="hljs clean">#### GET<br></code></pre>
<pre class="prettyprint hljs-dark"><code class="hljs x86asm">curl http://<span class="hljs-number">123.57</span><span class="hljs-meta">.36</span><span class="hljs-meta">.107</span>/<span class="hljs-keyword">test</span>.php<br>curl -i http://<span class="hljs-number">123.57</span><span class="hljs-meta">.36</span><span class="hljs-meta">.107</span>/<span class="hljs-keyword">test</span>.php<br><br>get json:<br>curl -i -H <span class="hljs-string">"Accept: application/json"</span> -H <span class="hljs-string">"Content-Type: application/json"</span> -X GET http://<span class="hljs-number">123.57</span><span class="hljs-meta">.36</span><span class="hljs-meta">.107</span>/<span class="hljs-keyword">test</span>.php<br><br>get xml:<br>curl -H <span class="hljs-string">"Accept: application/xml"</span> -H <span class="hljs-string">"Content-Type: application/xml"</span> -X GET http://<span class="hljs-number">123.57</span><span class="hljs-meta">.36</span><span class="hljs-meta">.107</span>/<span class="hljs-keyword">test</span>.php<br></code></pre>
<pre class="prettyprint hljs-dark"><code class="hljs http"><br><br><span class="clean">#### POST<br>linux<br> 普通post请求:<br> curl --data <span class="hljs-string">"name=admin&age=30"</span> http:<span class="hljs-comment">//123.57.36.107/test.php</span><br><br> RESTful HTTP Post:<br> curl -X POST -d @filename http:<span class="hljs-comment">//123.57.36.107/test.php</span><br><br> For logging into a site (需要登录验证的地址):<br> curl -d <span class="hljs-string">"username=admin&password=admin&submit=Login"</span> --dump-header headers http:<span class="hljs-comment">//123.57.36.107/login.php</span><br> curl -L -b headers http:<span class="hljs-comment">//123.57.36.107/userInfo.php</span><br><br> curl -X POST -H <span class="hljs-string">"AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3"</span> -H <span class="hljs-string">"Nonce: 4tgggergigwow323t23t"</span> -H <span class="hljs-string">"CurTime: 1443592222"</span> -H <span class="hljs-string">"CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86"</span> -H <span class="hljs-string">"Content-Type: application/x-www-form-urlencoded"</span> -d <span class="hljs-string">'accid=zhangsan&name=Jack'</span> <span class="hljs-string">'https://api.netease.im/nimserver/user/updateUinfo.action'</span><br><br> 即:<br> curl -X POST -H <span class="hljs-string">"头信息01"</span> -H <span class="hljs-string">"头信息02"</span> -H “头信息<span class="hljs-number">03</span>” -d <span class="hljs-string">"参数名称01=值01&参数值02=值02"</span> ‘请求url’<br><br><br>###上传文件<br>curl --form <span class="hljs-string">"fileupload=@/home/wwwroot/default/html.tar.gz"</span> http:<span class="hljs-comment">//123.57.36.107/test.php</span><br>显示上传速度:<br>curl -O --form <span class="hljs-string">"fileupload=@/home/wwwroot/default/html.tar.gz"</span> http:<span class="hljs-comment">//123.57.36.107/test.php</span><br><br>### Usage<br> curl -i -H <span class="hljs-string">"Accept: application/json"</span> -H <span class="hljs-string">"Content-Type: application/json"</span> -X GET http:<span class="hljs-comment">//hostname/resource | json</span><br></span><br></code></pre></div></body></html>