博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux命令
阅读量:6348 次
发布时间:2019-06-22

本文共 7120 字,大约阅读时间需要 23 分钟。

网络命令

ifcfg家庭

ifconfig命令

   ifconfig [interface]

        #   ifconfig -a

        #   ifconfig IFACE [up|down]

    ifconfig interface [aftype]  options  |  address  ...

        #   ifconfig  IFACE   IP/mask  [up]

        #   ifconfig  IFACE IP netmask MASK

        ifconfig命令立即生效

        启用混杂模式:[-]promisc

route路由管理命令

       查看:route -n

       添加:route add

                route add [-net|-host]   target  [netmask Nm]  [gw  GW]  [[dev]  If ]

               目标:192.168.1.3   网关:192.168.0.1

               route add -host 192.168.1.3/24 gw 192.168.0.1 dev eth0

               目标:192.168.0.0  网关:192.168.0.1

               route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0

               route add -net 192.168.0.0/24  gw  192.168.0.1 dev eth0

               默认路由,网关:192.168.0.1

               route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.1

               route add default gw 192.168.0.1

        删除:route del

                 route del [-net|-host] target [gw GW] [netmask Nm] [[dev] If]

                 目标:192.168.1.3  网关:192.168.0.1

                 route del  -host 192.168.1.3

                目标:192.168.0.0   网关:192.168.0.1

                 route del   -net  192.168.0.0 netmask 255.255.255.0

netstat显示网络连接命令

                netstat   [--tcp|-t]    [--udp|-u]    [--raw|-w]    [--listening|-l]     [--all|-a]    

                  [--numeric|-n]    [--extend|-e[--extend|-e]]    [--program|-p]

                    -t   tcp相关协议

                    -u   udp相关协议

                    -w  socker相关

                    -l    显示Listen状态

                    -a   显示状态

                    -n  以数字显示IP和端口

                    -e  扩展格式

                    -p  显示相关进程及PID

                    常用组合:-tan,-uan,-tnl,unl

           显示路由表:

                     netstat  [--route|-r]   [--numeric|-n]

                             -r:    显示内核路由表

                             -n:   数字格式       

          显示接口统计数据:

                  netstat  {--interfaces|-I|-i}  [iface]   [--all|-a]   [--extend|-e]    [--program|-p]   [--numeric|-n]   

                       #  netstat -i

                       #  netstat -I IFACE

          ifup/ifdown

ip家庭

     ip  [ OPTIONS ] OBJECT { COMMAND | help }

           OBJECT :={  link|   addr  | route }

          link OBJECT:

                  ip   link   -  network   device configuration

                         set

                              dev IFACE

                               可设置属性

                                      up  and   down:激活或禁用指定接口;

                           show 

                                 [ dev  IFACE]:指定接口

                                 [up]:仅显示处于激活状态的接口

                        ip addr

                             ip addr  { add| del } IFADDR  dev  STRING

                                  [label  LABEL]:添加地址时指明网卡别名

                                  [scope  {   global  |  link  |  host }]:指明作用域

                                                global:全局可用:

                                                 link:仅链接可用:

                                                 host:本机可用

                                    [broadcast  ADDRESS]: 指明广播地址

                              ip address  show  -look  at  protocol  addresses

                                     [dev  DEVICE]

                                     [label   PATTERN]

                                     [ primary  and  secondary ]

                                ip  address  flush   -  flush   protocol   addresses

                                         使用格式同show

                     ip route  -   routing  table  management 

                                  ip   route add 

                                            添加路由:ip route add  TARGET via  GW  dev  IFACE  src   SOURCE_IP

                                                     TARGET:

                                                               主机路由:IP

                                                                网络路由:NETWORK/MASK

                                                   添加网关:ip  route  add defalt via  GW  dev  IFACE

                                 ip  route  delete

                                             删除路由:ip route del TARGET

                                   ip  route  show

                                    ip route  flush

                                           [dev IFACE]:

                                           [via PREFIX]

           注意:需要永久生效,需要修改配置文件

                      /etc/sysconfig/network-scripts/IFACE

                      /etc/sysconfig/network-scripts/route-IFACE

                             两种风格:

                                    1、TARGE  via  GW

                                    2、每三行定义一条路由

                                          ADDRESS#=TARGET

                                          NETMAKSK#=MASK

                                          GATEWAY#=GW

 hostname命令

      hostname  [HOSTNAME]

      /etc/sysconfig/network

网卡接口识别并命名相关的udev配置文件

         /etc/udev/rules.d/70-persistent-net.rules

ss命令:

          格式:ss  [ OPTION ] ...  [FILTER]

                      选项:

                          -t:tcp协议相关

                          -u:udp协议相关

                          -w:裸套接字相关

                          -x:unix   sock相关

                          -l:listen状态的连接

                          -a:所有

                         -n:数字格式

                         -p:相关程序及PID

                          -e:扩展的信息

                          -m:内存用量

                          -o:计时器信息

                            FILTER = [ state  TCP-STATE ] [ EXPRESSION]

                           EXPRESSION:

                                  dport =

                                 sport =

                                    示例:'( dport = :ssh  or  sport = :ssh )'

                           常用组合:

                                        -tan,-tanl,tanlp,-uan

grep(文本过滤)

     -E   支持扩展

     -P   Perl正则

     -e   多个模式

    -f   从文件的每个行获取匹配

   -i    忽略大小写

   -w  模式匹配整个单词

   -x   模式匹配整行

  -v    显示没用匹配到的

 -m   显示输出num结果的

 -n    显示行号

  -H  打印每个匹配的文件名

  -h   不输出文件名

  -o 匹配的内容

  -q  不输出正常信息

   -s  不输出错误信息

   -r   递归目录

   -c   只打印每个文件的行数

   -B   打印匹配的前几行

   -A   打印匹配的后几行

   -C   打印匹配的前后几行

   --color    匹配的字体颜色

 

sed (流编辑器)

     -n :不输出模式空间的内容至屏幕

     -e:多点编辑

     -f :/PATH/TO/SCRIPT_FILE:从指定文件中读取编辑脚本

    -i :修改文件

   地址定界

     1、不给地址:对全文进行处理

      2、单地址

             #:指定的行

             /pattern/:被此处模式所能够匹配到到的第一行

    3、地址范围

           #,#

           #,+#

           /pat1/,/pat2/

            #,/pat1/

 编辑命令

          d:删除

          p:显示模式空间中的内容

          a  \text:  在行后面追加文本

         i    \text     插入文本

         c   \text     替换行为单行多行文本

         w   /path/to/somefile:保存模式空间匹配到的行至指定文件

         r   /path/to/somefile:读取指定文件的文本流至模式空间中匹配到的行的行后

        =   为模式空间中的行打印行号

        !  取反条件

         s///:支持使用其它分隔符,s@@@, s###

              替换标记:

                  g: 行内全局替换

                  p: 显示替换成功的行

                  w:  /PATH/TO/SOMEFILE:将替换成功的结果保存至指定 文件中

     保持空间:

            h: 把模式空间中的内容覆盖至保持空间

            H:把模式空间中的内容追加至保持空间

            g:从保持空间取出数据覆盖至模式空间

            G:从保持空间取出内容追加至模式空间

             x:把模式空间中的内容 与保持空间中的内容进行换行

             n:读取匹配到的行的下一行至模式空间

             N:追加匹配到的行的下 一行至模式空间

            d :  删除模式空间中的行

             D: 删除多行模式空间中的所有行

awk --  gawk 

       选项:

            -F:指明输入时用到的字段分割符

           -v   var=value: 自定义变量

1、print 

       print  item1,item2,...

       要点:

           1、逗号分割符;

           2、输出的各item可以字符串,也可以是数字:当前记录的字段、变量或awk的表达式

          3、如省略item、相当于print   $0;

 2、变量

        2.1  内建变量

             FS:  input  field seperator,默认为空白字符

             OFS:output   field   seperator,默认为空白字符

             RS:input  record  seperator,输入时的换行符

            OFS:output  record  seperator:输出时的换行符

 

          NF:number of  field   字段数量

                  (print NF),(print $NF)

          NR:number of record 行数

           FNR:各文件分别计数;行数

 

           FILENAME :   当前文件名

           ARGC:    命令行参数的个数

           ARGV:     数组,保存的是命令行所给定的各参数

 

      自定义变量

             1、-v  var=value

                  变量名区分字符大小写

              2、program中直接定义

3 printf命令

 

      格式化输出:print   FORMAT ,item1,item2,....

   

         1、FORMAT必须给出

          2、不会自动换行,需要显式给出换行控制符

           3、FORMAT中需要分别为重于后面的每个item指定一个格式化符号

          格式符:

                 %c:显示字符的ASCII码

                %d,%i:显示十进制整数

                 %e:,%E:科学计数法数值显示

                  %g,%G:以科学计数法或浮点形式显示数值

                  %s:显示字符串

                 %u:无符号整数

                %%:显示%自身

         修饰符:

              #[.#]:  第一个数字控制显示的宽度:第二个小数点后的精度

                        %3,1f

                        -:左对齐

                         +:显示数值的符号

5、操作符

       算术操作符:

                x+y,x-y,x*y,x/y,x%y

                -x

                +x:转换为数值

     字符串操作符:没用符号的操作符,字符串连接

      赋值操作符:

             =,+=,-=,*=,/w,  ^m

             ++,--

      比较操作符:

           ~:是否匹配

           !~:是否不匹配

        逻辑操作符

            &&

            | |

             !

函数调用:

         function_name(arpu1,argu2,....)

条件表达式:

             selector?if-true-expression:if-false-expression

5、PATTERN

      1、empty:空模式,匹配第一行

       2、/regular expression/:仅处理能够被此处的模式匹配到的行

      3、relational  expression:关系表达式:结果有“真”有"假":结果为”真“才会被处理

             真:结果为非0值,非空字符串;

      4 、line  ranges;行范围

             startline,endline:/pat1/,/pat2/

             注意:不支持直接给出数字的格式

                     awk -F :  '(NR>=2&&NR<=10){print $1}' /etc/passwd

      5 、BEGIN/END模式

              BEGIN{}:仅在开始处理的文本为之前执行一次

              END{} :仅在文本处理完成之后执行一次

 

7控制语句

    if(condition) {statments}
    if(condition) {statments} else {statements}
    while(condition) {statments}
    do {statements} while(condition)
    for(expr1;expr2;expr3) {statements}
    break
    continue
    delete array[index]
    delete array
    exit
    { statements}
7.1  if-else
         语法:  if(condition) statement  [else statement]
         awk -F : '{if($3>500) {printf "comm user:%s\n",$1} else{printf "Sys User: %s\n",$1}}'
7.2   while 循环
         语法:while(condition) statement
               条件“真”,进入循环,条件“假”,退出循环
      awk '/^[[:space:]]*linux16/{i=1;while(i<=NF) {print $i,length($i);i++}}' /etc/grub2.cfg
7.3  do-while循环
        语法:do statement while(condition)
           意义:至少执行一次循环体
7.4   for循环
         语法:for(expr1;expr2;expr3) statement
           
               for(variable assignment;condition;iteration process) {for-body}
         awk '/^[[:space:]]*linux16/{for(i=1;i<=NF;i++) {print $i,length($i)}}' /etc/grub2.cfg               
        
    特殊用法:
         能够遍历数组中的元素:
              语法:for(var in array) {for-body}
7.5 switch语句
       语法:switch(expression) {case VALUE1 or /REGEXP/:statement;case VALUE2 or /REGEXP2/:statement;...;
               default:statement}
7.6  break和continue
        break [n]
        continue
7.7  next
     提前结束对本行的处理而直接进入下一行
         awk '{if($3%2!=0) next;print $1,$3}' /etc/passwd
8、array
       关联数组:array[index-expression]
       
             index-expression:
               1、可使用任意字符串:字符串要使用双引号:
               2、如果某数组元素事先不存在,在引用时,awk会自动创建此元素,并将其值初始化为“空串”
               
               若要判断数组中是否存在某些元素,要使用“index in array”格式进行
               weekdays[mon]='Monday'
               
               若要遍历数组中的每个元素,要使用for循环
                  for(var in array) {for-body}
               
               awk 'BEGIN{weekdays["mon"]="Monday";weekdays["tue"]="Tuesday";for(i in weekdays) {print weekdays[i]}}'
             注意:var会遍历array的每个索引;
             state["LISTEN"]++
             state["ESTABLISHED"]++
             netstat -tan | awk '/^tcp\>/{state[$NF]++}END{for(i in state) {print i,state[i]}}'
            
             awk '{ip[$1]++}END{for(i in ip) {print i,ip[i]}}' /var/log/httpd/access_log
            
             练习2:统计指定文件中每个单词出现的次数:
                awk '{for(i=1;i<=NF;i++){count[$i]++}}END{for(i in count) {print i,count[i]}}'/etc/fstab
9、函数
          9.1内置函数
              数值处理:
                 rand():返回0和1之间一个随机数;
                
                
              字符串处理:
                  length([s]):返回指定字符串的长度
                  sub(r,s,[t]):以r表示的模式来查找t所表示的字符中的匹配的内容,并将其第一次出现替换为s所表示的内容
                  gsub(r,s,[t]):以r表示的模式来查找t所表示的字符中的匹配的内容,并将其所有出线均替换为s所表示的内容
                  
                  split(s,a[,r]):以r为分隔符切割字符s,并将切割后的结果保持至a所表示的数字中
                    netstat -tan | awk '/^tcp\>/{split($5,ip,":");count[ip[i]++]}END{for (i in count) {print i,count[i]}}'
              9.2  自定义函数

转载于:https://www.cnblogs.com/xiaohanhan/p/9277846.html

你可能感兴趣的文章
Matplotlib绘图与可视化
查看>>
openstack ocata版(脚本)控制节点安装
查看>>
【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
查看>>
在开发中处理海量数据的方法 思路
查看>>
datatable 获取最大值
查看>>
sqlserver2012一直显示正在还原(Restoring)和从单用户转换成多用户模式(单用户连接中)...
查看>>
spark复习总结02
查看>>
李瑞红201771010111《第九周学习总结》
查看>>
[译]ZOOKEEPER RECIPES-Barriers
查看>>
navicat下载安装和激活一分钟完成
查看>>
6_5 一些有用网址
查看>>
NFC 鏈表操作
查看>>
pymongo模块
查看>>
第0次作业
查看>>
思维导图五个关键秘诀
查看>>
Ubuntu里设置python默认版本为python3(转载)
查看>>
快排+折半查找
查看>>
c# GC 新典型
查看>>
ssh bash 通配符
查看>>
seajs在jquery多个版本下引用jquery的插件的方案
查看>>