一、系统监控

1、free命令使用

  • free命令简介
    free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存
  • free命令语法

    1. 语法:free [param]
    2. 1

    param可以为:

  • -b:以Byte为单位显示内存使用情况;

  • -k:以KB为单位显示内存使用情况;
  • -m:以MB为单位显示内存使用情况;
  • -o:不显示缓冲区调节列;
  • -s<间隔秒数>:持续观察内存使用状况;
  • -t:显示内存总和列;
  • -V:显示版本信息。
  • free命令使用
    linux基础知识 - 图1
    Mem:表示物理内存统计
  • total:表示物理内存总数(total=used+free)
  • used:表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)
  • free:表示未分配的物理内存总数
  • shared:表示共享内存
  • buffers:系统分配但未被使用的buffers 数量。
  • cached:系统分配但未被使用的cache 数量。

-/+ buffers/cache:表示物理内存的缓存统计

  • (-buffers/cache) 内存数: (指的第一部分Mem行中的used – buffers – cached)
  • (+buffers/cache) 内存数: (指的第一部分Mem行中的free + buffers + cached)

(-buffers/cache)表示真正使用的内存数, (+buffers/cache) 表示真正未使用的内存数
Swap:表示硬盘上交换分区的使用情况

2、ulimit命令使用

ulimit用于显示系统资源限制的信息
语法:ulimit [param]
param参数可以为:

  • -a  显示目前资源限制的设定。
  • -c  设定core文件的最大值,单位为区块。
  • -d <数据节区大小>  程序数据节区的最大值,单位为KB。
  • -f <文件大小>  shell所能建立的最大文件,单位为区块。
  • -H  设定资源的硬性限制,也就是管理员所设下的限制。
  • -m <内存大小>  指定可使用内存的上限,单位为KB。
  • -n <文件数目>  指定同一时间最多可开启的文件数。
  • -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
  • -s <堆叠大小>  指定堆叠的上限,单位为KB。
  • -S  设定资源的弹性限制。
  • -t  指定CPU使用时间的上限,单位为秒。
  • -u <程序数目>  用户最多可开启的程序数目。
  • -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB

linux基础知识 - 图2

3、top命令使用

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具,TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,有点像window系统的任务管理器

语法:top [param]
• 1

param为:

  • -b:以批处理模式操作;
  • -c:显示完整的治命令;
  • -d:屏幕刷新间隔时间;
  • -I:忽略失效过程;
  • -s:保密模式;
  • -S:累积模式;
  • -u [用户名]:指定用户名;
  • -p [进程号]:指定进程;
  • -n [次数]:循环显示的次数。

top命令分为上下两个部分:

  • 系统统计信息
  • 系统进程信息
    linux基础知识 - 图3
    系统统计信息

    top - 11:38:01 up 231 days,  2:06,  1 user,  load average: 0.88, 0.22, 0.18
    Tasks: 170 total,   1 running, 169 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 38.7 us,  3.5 sy,  0.0 ni, 42.0 id, 15.5 wa,  0.0 hi,  0.3 si,  0.0 st
    KiB Mem :  8010580 total,   927820 free,  2411572 used,  4671188 buff/cache
    KiB Swap:  4063228 total,  2933688 free,  1129540 used.  5153128 avail Mem 
    • 1
    • 2
    • 3
    • 4
    • 5
    
  • row1:任务队列信息,同 uptime 命令的执行结果top - 11:38:01 up 231 days, 2:06, 1 user, load average: 0.88, 0.22, 0.18

    • 11:38:01 (当前系统时间)
    • up 231 days, 2:06(系统运行时间)
    • 1 user (当前登录用户数)
    • load average: 0.88, 0.22, 0.18 (系统的平均负载数,表示 1分钟、5分钟、15分钟到现在的平均数)
  • row2:进程统计信息Tasks: 170 total, 1 running, 169 sleeping, 0 stopped, 0 zombie
    • 170 total(系统当前总进程总数)
    • 1 running (正在运行的进程数)
    • 169 sleeping(睡眠进程数)
    • 0 stopped (停止进程数)
    • 0 zombie (僵尸进程数)
  • row3:CPU 统计信息%Cpu(s): 38.7 us, 3.5 sy, 0.0 ni, 42.0 id, 15.5 wa, 0.0 hi, 0.3 si, 0.0 st
    • 38.7 us, (用户空间CPU占用率)
    • 3.5 sy (内核空间CPU占用率)
    • 0.0 ni (用户进程空间改变过优先级的进程CPU的占用率)
    • 42.0 id(空闲CPU占有率)
    • 15.5 wa (等待输入输出的CPU时间百分比)
    • 0.0%hi (硬件中断请求)
    • 0.3%si (软件中断请求)
    • 0.0%st (分配给运行在其它虚拟机上的任务的实际 CPU时间)
  • row4:内存状态KiB Mem : 8010580 4671188 , 927820 free, 2411572 used, 4671188 buff/cache
    • 4671188 total (物理内存总量 )
    • 2411572 used (已使用的内存 )
    • 927820 free (空闲内存 )
    • 4671188 buffers (内核缓存使用)
      ps:以k为单位
  • row5:swap交换分区信息KiB Swap: 4063228 total, 2933688 free, 1129540 used. 5153128 avail Mem
    • 4063228 total (交换分区总量 )
    • 1129540 used (已使用交换分区内存 )
    • 2933688 free (空闲交换分区 )
    • 5153128 cached (缓冲交换区 )

linux基础知识 - 图4
系统进程信息

  • PID :进程id
  • USER :进程所有者的用户名
  • PR :进程优先级
  • NI :nice值。负值表示高优先级,正值表示低优先级
  • VIRT :进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR :共享内存大小,单位kb
  • S :进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU :上次更新到现在的CPU时间占用百分比
  • %MEM :进程使用的物理内存百分比
  • TIME+ :进程使用的CPU时间总计,单位1/100秒
  • COMMAND :进程名称[命令名/命令行]

linux基础知识 - 图5
按“1”键,可打开或关闭显示详细CPU统计信息:
linux基础知识 - 图6
按字母“B”键,可打开或关闭当前进程的显示效果
linux基础知识 - 图7

4、df命令使用

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法:df(选项)(参数)
选项:

-a或–all:包含全部的文件系统; –block-size=<区块大小>:以指定的区块大小来显示区块数目; -h或–human-readable:以可读性较高的方式来显示信息; -H或–si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes; -i或–inodes:显示inode的信息; -k或–kilobytes:指定区块大小为1024字节; -l或–local:仅显示本地端的文件系统; -m或–megabytes:指定区块大小为1048576字节; –no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值; -P或–portability:使用POSIX的输出格式; –sync:在取得磁盘使用信息前,先执行sync指令; -t<文件系统类型>或–type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息; -T或–print-type:显示文件系统的类型; -x<文件系统类型>或–exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息; –help:显示帮助; –version:显示版本信息。

参数:

文件:指定文件系统上的文件。

比较常用的有:

  • df -a 查看全部的文件系统
  • df -h查看磁盘使用情况
  • df -i 查看inode使用情况

linux基础知识 - 图8

5、ps命令使用

ps命令用于查看进程统计信息
常用参数:

  • a:显示当前终端下的所有进程信息,包括其他用户的进程。
  • u:使用以用户为主的格式输出进程信息。
  • x:显示当前用户在所有终端下的进程。
  • -e:显示系统内的所有进程信息。
  • -l:使用长(long)格式显示进程信息。
  • -f:使用完整的(full)格式显示进程信息。

在使用中可以加上grep命令一起使用,也可以单独使用

# ps命令单独使用的情况
ps -elf tomcat
#结合管道操作和grep命令进行过滤,用于查询某一个进程的信息
ps -elf | grep tomcat
• 1
• 2
• 3
• 4

6、crontab 命令

crontab 命令,用于定时程序的命令
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

二、文件操作

1、tail查看文件

tail 命令可用于查看文件的内容,语法为

tail [param] [filename]
• 1

其中param可为:

  • -f :循环读取
  • -q :不显示处理信息
  • -v :显示详细的处理信息
  • -c [数目]: 显示的字节数
  • -n [行数]: 显示文件的尾部 n 行内容
  • –pid=PID :与-f合用,表示在进程ID,PID死掉之后结束
  • -q, —quiet, —silent :从不输出给出文件名的首部
  • -s, —sleep-interval=S :与-f合用,表示在每次反复的间隔休眠S秒

    2、查看文件情况

    ll -ah命令,可以用于查看文件情况

    ll -ah
    • 1
    

    3、文件权限设置

    Linux的文件基本权限有9个,分别是owenr、group、others三种身份各自有自己的r、w和x,比如“rwxrwxrwx”,就表示owener具有r(read 读)、w(write 写)、x(execute 访问)权限,同样group和others同样具有r、w、x权限,可以用xftp查看文件权限
    linux基础知识 - 图9
    可以使用数字表示权限:
    r->4
    w->2
    x->1
    当文件权限为“rwxrwxrwx”时,分数是:
    owner->4+2+1=7
    group->4+2+1=7
    others->4+2+1=1
    此时文件的权限数字就是777
    然后要给文件file赋权的话,就可以使用Linux命令:

    chmod 777 file
    • 1
    

    owner、group和others三种身份各自的三个权限,用u、g、o代表三种身份,用a(all)代表所有身份,所以还有下面的Linux命令

    chmod u|g|o|a  =(设置权限)|+(添加权限)|-(减少权限)  r|w|x  文件或者目录
    • 1
    

    eg:给文件file赋值权限

    chmod u=rwx file
    • 1
    

    4、文件上传下载

    在不使用xftp等linux工具的情况,可以通过linux命令,sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。

  • 下载文件
    sz命令发送文件到本地:

    sz filename
    • 1
    

    linux基础知识 - 图10
    敲命令之后,直接弹出下载保存窗口页面

  • 上传文件

    rz
    • 1
    

    敲命令之后,直接弹出上传窗口页面
    linux基础知识 - 图11
    rz、sz命令需要有如下条件:

  • linux系统

  • root权限
  • lrzsz安装包

lrzsz安装步骤:

// 编译安装
//root 账号登陆后,依次执行以下命令:
tar zxvf lrzsz-0.12.20.tar.gz
cd lrzsz-0.12.20
./configure
make
make install
//上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
• 1
• 2
• 3
• 4
• 5
• 6
• 7
• 8
• 9
• 10
• 11

Centos可以直接这样安装

yum install lrzsz -y
• 1

5、压缩文件解压

linux解压zip压缩文件可以用umzip命令,如果没安装,可以先安装

yum install -y unzip zip
• 1

语法一般为:unzip [选项] [压缩文件名]

  • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
  • -f 更新现有的文件。
  • -l 显示压缩文件内所包含的文件。
  • -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
  • -t 检查压缩文件是否正确。
  • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 执行是时显示详细的信息。
  • -z 仅显示压缩文件的备注文字。
  • -a 对文本文件进行必要的字符转换。
  • -b 不要对文本文件进行字符转换。
  • -C 压缩文件中的文件名称区分大小写。
  • -j 不处理压缩文件中原有的目录路径。
  • -L 将压缩文件中的全部文件名改为小写。
  • -M 将输出结果送到more程序处理。
  • -n 解压缩时不要覆盖原有的文件。
  • -o 不必先询问用户,unzip执行后覆盖原有文件。
  • -P<密码> 使用zip的密码选项。
  • -q 执行时不显示任何信息。
  • -s 将文件名中的空白字符转换为底线字符。
  • -V 保留VMS的文件版本信息。
  • -X 解压缩时同时回存文件原来的UID/GID。
  • [.zip文件] 指定.zip压缩文件。
  • [文件] 指定要处理.zip压缩文件中的哪些文件。
  • -d<目录> 指定文件解压缩后所要存储的目录。
  • -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
  • -Z unzip -Z等于执行zipinfo指令。

6、查看文件夹大小

du [选项][文件]
• 1

-a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 -k或–kilobytes 以KB(1024bytes)为单位输出。 -m或–megabytes 以MB为单位输出。 -s或–summarize 仅显示总计,只列出最后加总的值。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -L<符号链接>或–dereference<符号链接> 显示选项中所指定符号链接的源文件大小。 -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。 -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。 –exclude=<目录或文件> 略过指定的目录或文件。 -D或–dereference-args 显示指定符号链接的源文件大小。 -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。 -l或–count-links 重复计算硬件链接的文件。

常用命令:

du -sh /opt
• 1

三、网络通信

1、netstat监控命令

netstat命令是用于监控进出网络的包和网络接口统计的命令行工具

语法:netstat [param]
• 1

param参数可以为:

  • -h : 查看帮助
  • -r : 显示路由表
  • -i : 查看网络接口

    2、linux重启网络

    设置了linux网络,需要重启网络,可以用命令:

    service network restart 
    • 1
    

    3、SELinux简介

    SELinux全称是 Security-Enhanced Linux,它是由美国国家安全局(NSA)贡献的,它为 Linux 内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。详情可以参考SELinux 入门SELINUX工作原理
    其实SELinux的功能也就是类似于防火墙的功能,不过安全相对比较好,ok,所以本博客介绍一下SELinux的使用命令
    查看selinux状态

    getenforce
    • 1
    

    临时禁用SELINUX(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    setenforce
    • 1
    

    永久禁用SELINUX(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    # 将SELINUX=enforce改成SELINUX=disabled
    vi /etc/selinux/config
    • 1
    • 2
    

    4、防火墙设置

    查询linux系统防火墙开启状态

    firewall-cmd --state
    • 1
    

    临时关闭防火墙(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    systemctl stop firewalld.service
    • 1
    

    永久关闭防火墙(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    systemctl disable firewalld.service
    • 1
    

    5、CURL命令使用

    curl命令是一个利用URL规则在shell终端命令行下工作的文件传输工具;curl命令作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;
    linux基础知识 - 图12
    语法:语法格式:curl [参数] [网址]

    5.1 查看curl帮助

  • 查看命令参数
    curl的参数很多,可以用命令curl --help查看:

    [root@localhost ~]# curl --help
    • 1
    

    国内翻译过来的curl文档:curl参数介绍

    5.2 查看curl手册

  • 查看详细使用
    也可以使用curl --manual查看基本用法例子:
    linux基础知识 - 图13

    5.3 提取指定网页

  • 查看网页源码
    语法:curl uri

    [root@localhost ~]# curl www.baidu.com
    <!DOCTYPE html>
    <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
    • 1
    • 2
    • 3
    • 4
    
  • 显示头信息

    curl -i https://www.baidu.com
    • 1
    

    打印信息:

    [root@localhost ~]# curl -i https://www.baiud.com
    curl: (7) Failed connect to www.baiud.com:443; Connection refused
    [root@localhost ~]# curl -i https://www.baidu.com
    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    Connection: keep-alive
    Content-Length: 2443
    Content-Type: text/html
    Date: Mon, 13 Jul 2020 07:22:02 GMT
    Etag: "588603eb-98b"
    Last-Modified: Mon, 23 Jan 2017 13:23:55 GMT
    Pragma: no-cache
    Server: bfe/1.0.8.18
    Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    ...    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    
  • 显示通信过程

    curl -v www.baidu.com
    • 1
    

    ``` curl -v www.baidu.com

  • About to connect() to www.baidu.com port 80 (#0)
  • Trying 182.61.200.7…
  • Connected to www.baidu.com (182.61.200.7) port 80 (#0)

    GET / HTTP/1.1 User-Agent: curl/7.29.0 Host: www.baidu.com Accept: /

    < HTTP/1.1 200 OK < Accept-Ranges: bytes < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform < Connection: keep-alive < Content-Length: 2381 < Content-Type: text/html < Date: Mon, 13 Jul 2020 07:24:46 GMT < Etag: “588604c8-94d” < Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT < Pragma: no-cache < Server: bfe/1.0.8.18 < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/ < <!DOCTYPE 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 ```

  • 查看议定书

    [root@localhost ~]# curl --trace-ascii output.txt https://www.baidu.com
    • 1
    • 2
    

    linux基础知识 - 图14
    linux基础知识 - 图15

  • 查看时间

    curl --trace-ascii output.txt --trace-time https://www.baidu.com
    • 1
    

    linux基础知识 - 图16

    5.4 用curl进行认证

  • referer设置
    referer参数描述了一个网页的来源,可以按F12调试模式,查看:
    linux基础知识 - 图17
    访问百度时候,加上referer为csdn:

    [root@localhost ~]# curl --referer https://blog.csdn.net https://www.baidu.com
    • 1
    
  • 用户代理设置
    用户代理常被用于兼容ie,有时,您会看到获取带有curl的页面不会返回与使用浏览器获取页面时看到的页面相同的页面,这时候可以设置用户代理:

    curl www.baidu.com --user-agent "Mozilla/5.0"
    curl www.baidu.com -A "Mozilla/5.0"
    • 1
    • 2
    

    5.5 curl文件操作

  • 保存文件
    语法:curl -o filename uri

    [root@localhost ~]# curl -o baidu.html www.baidu.com
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
    100  2381  100  2381    0     0  22761      0 --:--:-- --:--:-- --:--:-- 22894
    • 1
    • 2
    • 3
    • 4
    • 5
    

    linux基础知识 - 图18

  • 文件下载语法:curl uri filename --silent|progress

    • –silent:不显示进度条
    • –progress:显示进度条
      [root@localhost ~]# curl https://avatar.csdnimg.cn/3/5/E/1_meituantech_1564971608.jpg -omeituan.jpg --progress
      ######################################################################## 100.0%
      • 1
      • 2
      • 3
      
      linux基础知识 - 图19
  • 上传文件
    语法:$ curl --form upload=@localfilename --form press=OK [URL]

    [root@localhost ~]# curl --form upload=@baidu.html --form press=OK url
    • 1
    • 2
    

    5.6 设置cookie

    设置cookie,可以用命令--cookie
    -c cookie-file可以保存服务器返回的cookie到文件,-b cookie-file可以使用这个文件作为cookie信息,进行后续的请求。

    $ curl -c cookies http://example.com
    $ curl -b cookies http://example.com
    • 1
    • 2
    
    [root@localhost ~]# curl -c "name=cookiename" www.baidu.com
    • 1
    • 2
    

    linux基础知识 - 图20
    也可以用–cookie-jar指定cookie文件

    [root@localhost ~]# curl www.baidu.com --cookie-jar cookie_file
    • 1
    • 2
    

    linux基础知识 - 图21
    指定可下载的最大文件大小,可以用命令–limit-rate

    [root@localhost ~]# curl www.baidu.com --limit-rate 50k
    • 1
    • 2
    

    5.7 RESTFul API

    ps:-H指定请求header,-d指定参数

  • CURL POST:

    [root@localhost ~]# curl -H "Content-Type:application/json" -X POST localhost:9200/company/employees/1 -d '{"id" :1,"name":"admin","password":"123"}'
    • 1
    • 2
    
  • CURL GET:

    [root@localhost ~]# curl -X GET localhost:9200/company/employees/1?pretty=true
    • 1
    
  • CURL DELETE:

    [root@localhost ~]# curl -X DELETE localhost:9200/company/employees/1
    • 1
    
  • CURL PUT:

    curl -H "Content-Type:application/json" -X PUT localhost:9200/company/employees/1 -d '{"id" :1,"name":"admin","password":"111"}'
    • 1
    

    curl默认是GET方式请求url的,要调POST等接口,必须加上-X参数指定
    比较详细的可以参考:

  • CURL 官网教程:https://curl.haxx.se/docs/httpscripting.html

  • 阮一峰老师教程:http://www.ruanyifeng.com/blog/2011/09/curl.html

    四、系统管理

    1、查看内核版本

    uname命令用于查看内核版本
    linux基础知识 - 图22

    2、查看linux系统ip

    查看linux的ip地址:可以用命令

    ip addr
    • 1
    

    3、查看ip是否被占用

    lsof -i:8080
    • 1
    

    4、uptime命令使用

    uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
    用help参数参数

    [shared@localhost~]$ uptime --help
    Usage:
    uptime [options]
    Options:
    -p, --pretty   show uptime in pretty format 
    -h, --help     display this help and exit 
    -s, --since    system up since 
    -V, --version  output version information and exit
    For more details see uptime(1).
    [shared@localhost~]$ uptime -V
    uptime from procps-ng 3.3.10
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    

    Options:

  • -p, —pretty show uptime in pretty format //比较美观的打印

  • -h, —help display this help and exit // 查看参数帮助
  • -s, —since system up since // 查看系统当前时间
  • -V, —version output version information and exit // 查看版本

linux基础知识 - 图23

5、telnet命令使用

不管在window还是linux系统要校验某台服务器是否可以ping通,都可以使用命令,如果要加上断口的,linux可以使用telnet命令
语法:telnet ip port

telnet 127.0.0.1 8080