“终于放学啦”通过精心收集,向本站投稿了9篇Linux curl命令参数详解,以下是小编给大家整理后的Linux curl命令参数详解,欢迎大家前来参阅。
- 目录
篇1:Linux curl命令参数详解
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态,
1. linux curl抓取网页:
抓取百度:
curl www.baidu.com
如发现乱码,可以使用iconv转码:
curl if rame.ip138.com/ic.asp|iconv -fgb2312
iconv的用法请参阅:在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题
2. Linux curl使用代理:
linux curl使用http代理抓取页面:
curl -x 111.95.243.36:80 if rame.ip138.com/ic.asp|iconv -fgb2312
curl -x 111.95.243.36:80 -U aiezu:password www.baidu.com
使用socks代理抓取页面:
curl --socks4 202.113.65.229:443 if rame.ip138.com/ic.asp|iconv -fgb2312
curl --socks5 202.113.65.229:443 if rame.ip138.com/ic.asp|iconv -fgb2312
代理服务器地址可以从爬虫代理上获取。
3. linux curl处理cookies
接收cookies:
curl -c /tmp/cookies www.baidu.com #cookies保存到/tmp/cookies文件
发送cookies:
curl -b “key1=val1;key2=val2;” www.baidu.com #发送cookies文本
curl -b /tmp/cookies www.baidu.com #从文件中读取cookies
4. linux curl发送数据:
linux curl get方式提交数据:
curl -G -d “name=value&name2=value2” www.baidu.com
linux curl post方式提交数据:
curl -d “name=value&name2=value2” www.baidu.com #post数据
curl -d a=b&c=d&txt@/tmp/txt www.baidu.com #post文件
以表单的方式上传文件:
curl -F file=@/tmp/me.txt www.aiezu.com
相当于设置form表单的method=“POST”和enctype=‘multipart/form-data‘两个属性,
5. linux curl http header处理:
设置http请求头信息:
curl -A “Mozilla/5.0 Firefox/21.0” www.baidu.com #设置http请求头User-Agent
curl -e “pachong.org/” www.baidu.com #设置http请求头Referer
curl -H “Connection:keep-alive User-Agent: Mozilla/5.0” www.aiezu.com
设置http响应头处理:
curl -I www.aiezu.com #仅仅返回header
curl -D /tmp/header www.aiezu.com #将http header保存到/tmp/header文件
6. linux curl认证:
curl -u aiezu:password www.aiezu.com #用户名密码认证
curl -E mycert.pem www.baidu.com #采用证书认证
7. 其他:
curl -# www.baidu.com #以“#”号输出进度条
curl -o /tmp/aiezu www.baidu.com #保存http响应到/tmp/aiezu
linux 使用curl小经验教训:
http请求地址的url要使用“”括起来。当有存在多个参数使用&连接时可能会出错。
篇2:linux usermod命令参数及用法详解
命 令:usermod
功能说明:修改用户帐号,
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。备注>
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。有效期限>
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。缓冲天数>
-g<群组> 修改用户所属的群组。群组>
-G<群组> 修改用户所属的附加群组。群组>
-l<帐号名称> 修改用户帐号名称。帐号名称>
-L 锁定用户密码,使密码无效。
-s
-u
-U 解除密码锁定。
usermod 不 允 许 你 改 变 正 在线 上 的 使 用 者 帐 号 名 称 。 当 usermod 用 来 改 变 user ID, 必 须 确 认 这 名 user 没 在 电 脑 上 执 行 任 何 程 序。 你 需 手 动 更 改 使 用 者 的 crontab 档 。 也 需 手 动 更 改 使 用 者 的 at 工 作 档 。 采 用 NIS server 须 在 server 上 更 动 相 关 的 NIS 设 定 。
应用举例:
1、将 newuser2 添加到组 staff 中
# usermod -G staff newuser2
2、修改 newuser 的用户名为 newuser1
# usermod -l newuser1 newuser
3、锁定账号 newuser1
# usermod -L newuser1
4、解除对 newuser1 的锁定
# usermod -U newuser1
篇3:linux userdel命令参数及用法详解
命 令: userdel
功能说明:删除用户帐号,
语 法:userdel [-r][用户帐号]
补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
参 数:
-f 删除用户登入目录以及目录中所有文件。
userdel很简单,只有一个参数可选 -r ;如果加参数-r ,表示在删除用户的同时,一并把用户的家目录及本地邮件存储的目录或文件也一同删除;比如我们现在有个用户jb51,其家目录位于/var目录中,现在我们来删除这个用户;
userdel jb51 注:删除用户jb51,但不删除其家目录及文件;
userdel -r jb51 注:删除用户jb51,其家目录及文件一并删除;
警告: 请不要轻易用-r参数;他会删除用户的同时删除用户所有的文件和目录,切记;如果用户目录下有重要的文件,在删除前请备份;
其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd 是极为重要的文件,可能您一不小心会操作失误;
其相似命令groupdel 是用来删除用户组的;
语法格式:groupdel 用户组
groupdel admin
假如删除的时候忘记带r参数 以后想删除这个用户的文件 可以用下面这条命令
find / --nouser -exec rm - rf {}
删除所有 用户不存在而遗留的文件(因为用户已被删除,其文件的拥有者为其UID,参数nouser用于删除此类文件)
篇4:linux halt命令参数及用法详解
名称:halt
使用权限:系统管理者
使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p]
说明:若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代
参数:
-n : 在关机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
-i : 在关机之前先把所有网络相关的装置先停止
-p : 当关机的时候,顺便做关闭电源(poweroff)的动作
范例:
halt -p 关闭系统后关闭电源,
halt -d 关闭系统,但不留下纪录。
linux常用关机命令及其区别:
在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。
1.shutdown
shutdown命令安全地将系统关机。
有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失o使系统处于不稳定的状态o甚至在有的系统中会损坏硬件设备。
而在系统关机前使用shutdown命令o系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结o即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的o还可能重
启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档o而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。
shutdown执行它的工作是送信号〔signal〕给init程序o要求它改变runlevel。Runlevel 0被用来停机〔halt〕orunlevel 6是用来重新激活〔reboot〕系统o而runlevel 1则是被用来让系统进入管理工作可以进行的状态r这是预设的o假定没有-h也没有-r参数给shutdown,
要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作o你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
shutdown 参数说明:
[-t] 在改变到其它runlevel之前o告诉init多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机o只是送警告信号给每位登录者〔login〕。
[-h] 关机后关闭电源〔halt〕。
[-n] 不用inito而是自己来关机。不鼓励使用这个选项o而且该选项所产生的后果往往不总是你所预期得到的。
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数o但是可以输入一个用来解释的讯息o而这信息将会送到每位使用者。
[-f] 在重启计算器〔reboot〕时忽略fsck。
[-F] 在重启计算器〔reboot〕时强迫fsck。
[-time] 设定关机〔shutdown〕前的时间。
2.halt—-最简单的关机命令
其实halt就是调用shutdown -h。halt执行时o杀死应用进程o执行sync系统调用o文件系统写操作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用o它用在用fsck修补根分区之后o以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机o只是写wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前o关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。
3.reboot
reboot的工作过程差不多跟halt一样o不过它是引发主机重启o而halt是关机。它的参数与halt相差不多。
4.init
init是所有进程的祖先o它的进程号始终为1o所以发送TERM信号给init会终止所有的用户进程p守护进程等。shutdown就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机oinit1为重启。关于init可以长篇大论o这里就不再叙述。另外还有telinit命令可以改变init的运行级别o比如otelinit -iS可使系统进入单用户模式o并且得不到使用shutdown时的信息和等待时间。
篇5:linux chsh命令参数及用法详解
使用权限:所有使用者
命令:chsh
用法:shell>>chsh
说明:更改使用者 shell 设定
范例:
shell>>chsh
Changing fihanging shell for user1
Password: [del]
New shell [/bin/tcsh]: ### [是目前使用的 shell]
[del]
shell>>chsh -l ### 展示 /etc/shells 档案内容
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
推荐阅读:用chsh命令选择shell
1 我想知道我机器安装了哪些shell?
两种方法可以查看:
第一种:
[rocrocket@jb51.net ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
第二种:
[rocrocket@jb51.net ~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
其实chsh -l也是来查看这个文件,
2 我想知道我当前正在使用的shell是哪个阿?
[rocrocket@jb51.net ~]$ echo $SHELL
/bin/bash
注意SHELL一定要是大写,
可以看到,我目前使用的shell是/bin/bash
3 执行了zsh之后,我查看当前shell类型仍然是/bin/bash呢?
请注意,我们虽然执行了zsh,但是所谓“当前的shell”是一个大环境的概念,是针对一个已登录的用户而言的。而我们执行zsh只是启动了一个zsh的解释器程序而已,并没有改变大环境。如果想改变“当前的shell”,那么还是要使用chsh才可以。
4 我想把我的shell改成zsh!
[rocrocket@jb51.net ~]$ chsh -s /bin/zsh
Changing shell for rocrocket.
Password:
Shell changed.
[rocrocket@jb51.net ~]$
使用chsh加选项-s就可以修改登录的shell了!
你会发现你现在执行echo $SHELL后仍然输出为/bin/bash,这是因为你需要重启你的shell才完全投入到zsh怀抱中去。
5 chsh -s到底是修改了哪里?
秘密告诉你吧。chsh -s其实修改的就是/etc/passwd文件里和你的用户名相对应的那一行。现在我来查看下:
[rocrocket@jb51.net ~]$ cat /etc/passwd|grep ^rocrocket
rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh
看!你可以发现输出内容的最后部分已经变成了/bin/zsh了!下次你重启的时候,linux就会读取这一命令来启动你的shell了!
好了,我要恢复正常工作,把shell修改会我熟悉的/bin/bash了!
[rocrocket@jb51.net ~]$ chsh -s /bin/bash
Changing shell for rocrocket.
Password:
Shell changed.
篇6:linux wc命令参数及用法详解
wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出,
语法:wc [选项] 文件…
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
- c 统计字节数。
- l 统计行数。
- w 统计字数。
这些选项可以组合使用。
输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
省略任选项-lcw,wc命令的执行结果与上面一样
示例:
wc命令用来计算一个文件或者指定的多个文件中的行数,单词数和字符数,
如:
wc filename
第一列显示行数,第二列显示单词数,第三列显示字符数。
wc 有四个参数可选,分别是l,c,m,w
wc -l filename 报告行数
wc -c filename 报告字节数
wc -m filename 报告字符数
wc -w filename 报告单词数
今天看到的命令是:ls -l|wc -l 用来统计当前目录下的文件数
篇7:linux sort命令参数及用法详解
功能说明:将文本文件内容加以排序,
语 法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]结束栏位>起始栏位>分隔字符>输出文件>
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件>将排序后的结果存入指定的文件。输出文件>
-r 以相反的顺序来排序。
-t<分隔字符>指定排序时所用的栏位分隔字符。分隔字符>
+<起始栏位>-<结束栏位>以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。结束栏位>起始栏位>
--help 显示帮助。
--version 显示版本信息
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面通过几个例子来讲述Sort的使用。
用Sort命令对text文件中各行排序后输出其结果。请注意,在原文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。
$ cat text
vegetable soup
fresh vegetables
fresh fruit
lowfat milk
$ Sort text
fresh fruit
fresh vegetables
lowfat milk
vegetable soup
用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机,
下例中用户把排序后的文件内容保存到名为result的文件中。
$ Sort text>result
以第2个字段作为排序关键字对文件example的内容进行排序。
$ Sort +1-2 example
对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。
$ Sort -r -o outfile +1.0 -1.1 example
Sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给Sort进行排序,排序关键字是第6个至第8个字段。
$ ls - l | Sort +5 - 7
$ ps -e -o “ comm pid time”|Sort -d //按照command的首字母的字母顺序排序
Sort命令也可以对标准输入进行操作。例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合并,然后用管道操作把合并后的文本行输入给命令Sort,Sort命令将输出这些合并及排序后的文本行。在下面的例子中,文件veglist与文件 fruitlist的文本行经过合并与排序后被保存到文件clist中。
$ cat veglist fruitlist | Sort >clist
篇8:Linux 中 RPM 命令参数使用详解Linux
在Linux操作系统中,有一个系统软件包,它的功能类似于 Windows 里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM),此工具包最先是由Red Hat公司推出的,后来被其他Linux 开发 商所借用。由于它为Lin
在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。
1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:
rpm -qpi Linux-1.4-6.i368.rpm
系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。
2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:
rpm -qpl Linux-1.4-6.i368.rpm
3.选择安装方式后,开始安装。我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:
rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm
4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可,文件名>
5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁?文件名>
6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:
rpm -i ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm
7.在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。
8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:
rpm -qf <文件名>文件名>
9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:
rpm -参数 <文件名>文件名>
原文转自:www.ltesting.net
篇9:linux sed命令参数用法详解linux操作系统
本文章来给大家介绍linux sed用法,sed命令来处理、编辑文本文件,他有大量的各种参数下面我来介绍一下,
利用script来处理文本文件。
语 法:sed [-hnV][-e
补充说明:sed可依照script的指令,来处理、编辑文本文件。
参 数:
-e
-f
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。
基本sed编辑命令:
sed编辑命令
p 打印匹配行
= 显示文件行号
a 在定位行号后附加新文本信息
i 在定位行号后插入新文本信息
d 删除定位行
c 用新文本替换定位文本
s 使用替换模式替换相应模式
r 从另一个文件中读文本
w 写文本到一个文件
q 第一个模式匹配完成后推出或立即推出
l 显示与八进制A S C I I代码等价的控制字符
{ } 在定位行执行的命令组
n 从另一个文件中读文本下一行,并附加在下一行
g 将模式2粘贴到/pattern n/
y 传送字符
n 延续到下一输入行;允许跨行的模式匹配语句
常用命令参数
sed '1,3d' file //删除1-3行
sed '/[Aa]bc/p' file //打印包含Abc或者abc的行
sed '/ABC/d' //删除包含ABC的行
sed '/ABC/!d' //不删除包含ABC的行
sed '5,$d' //从第五行到最后一行全部删除
sed 1q //显示第一行
sed 's/$/.../g' //每行的最后面添加 ...
sed 's/d.(sk)/1&/g' //满足d*sk的单词,在单词前添加sk sed 's/<[^>]*>//g' //去除html标签
sed '/ABC/a123' //在包含ABC的行后面添加一行数值为123的行
sed '/ABC/i123' //跟a不同的是i是插入当前行的前面
sed '/ABC/c123' //包含ABC的行将更改为123
sed '/ABC/{n;s/123/ABC/g}' //精确匹配包含ABC的下一行,将123全部替换成ABC
sed '/ABC/{s/A/a/}' //在包含ABC的行将A替换成a
sed -e '/ABC/h' -e '$g' //将包含ABC的行复制,在最后一行添加.
sed -e '/ABC/{h;d}' -e '/123/G' //将包含ABC的行复制并删除,在包含123的行后添加. g等于在当前行覆盖,G是在符合条件的行后新增加一行. sed 's/^/ /g' //每行前面增加一个空格
sed 's/.(.)$/*1/' //将倒数第二位换成*
sed '/ABC/!s/1/*/g' //在不包含ABC的行里,将所有的1替换成*
sed 's/1|2|3/*/g' //在GNU里将不管是1或2或者是3替换成*
sed -i ‘/Root/s/no/yes/’ /etc/ssh/sshd_config sed在这个文里Root的一行,匹配Root一行,将no替换成yes.
将 包含now 的行 替换为 带时间戳 以及 8080 变量请求数
sed -i “/now/cnow$time_stamp 8080 request=$web1tomcat” /var/www/html/munin/web1-2.html
在某行的位置插入一行
如果只是在一个文档后面追加一行,那很简单,
>>就可以搞定。不过如果是在指定的某一行里插入。
sed -i “8 s/^/alias vi='vim'/” /root/.bashrc
就是在第8行插入 alias vi='vim'
在第一行前插入文本
sed -i '1 i插入字符串' filename
在最后一行插入
sed -i '$ a插入字符串' filename
在匹配行前插入
sed -i '/pattern/ i “插入字符串”' filename
在匹配行后插入
sed -i '/pattern/ a “插入字符串”' filename
★ 国务院命令范文
★ 命令格式优秀
★ 任职命令范文
★ 提干命令范文
★ 授衔命令范文
Linux curl命令参数详解(合集9篇)




