提问问题的技巧:  1.客气,开门见山

                                      2.什么环境做的,提示什么错误,

                                      3.发截图配图片内文字

                                      4.多找几个人问问

                                      5.发命令或错误提示到群里,变成表情(尴尬)


 提问之后:     1.总结错误---变成自己的

                          2.总结的错误发给你问问题的人

                          3.态度要OK

做运维的要记住一句话:帮你是情分,不帮你是本分

 

 

今天接上一章内容继续了解我们的常用命令:

 

1. 漏斗===重定向符号

     a) >  【标准输出】重定向 : 清空原有内容,添加新内容

     b) >>  【标准输出】追加重定向 : 把内容追加到文件的结尾

            

    注:> >> 前面默认隐藏了数字1   1studout

     a) <  【标准输入】重定向 :告诉命令从哪里获取文件


    一般这样用:

 cb7dd508-f98a-429b-8afe-d7e18d73218c.png

    注:一定要加<,否则找不到文件

     b) <<  【标准输入】追加重定向

    一般这样用:

spacer.gifimage.png

    注:< << 前面默认隐藏了0 0:studin


2. 错误重定向 (指的是命令错了)

     a) 2>>  错误追加重定向(很少单独使用) :把显示错误信息加入文件中


image.png

 但是呢,工作中一般这么用:

image.png

    注:2>&1 (把错误信息和正确信息放在一起)

    注:(2studerr

 

3. 如何防止误删除:

     a) 把危险的参数放到后面,如:  -f

     b) 使用绝对路径删除文件

     c) 删除的命令复杂(find + |xargs

   如:find  /data/  -type  f  -name "kai.txt" |xargs ls -l

   (查找到文件并显示出来)

4. find命令的使用(用来查找文件目录

spacer.gif

    格式:命令字  范围  条件

    注:找出来以.txt”结尾的文件,使用“*”,它表示所有东东

    -type : 表示文件类型 (f文件、d目录)

    -name:表示名字

5. cd的用法

      cd  ..  (表示返回上一级目录)

  注:.. : 表示当前目录的上一级目录

            .  : 表示当前目录

6. 查看文本

      a) grep : 用来过滤文本(三剑客老三,擅长过滤文本)

          grep   "george"    /data/kai.txt  (过滤出带george字符的行)

image.png

          grep   -v  "george"  /data/kai.txt (去除带george的行)


image.png

     b) head   -2 /data/kai.txt  (显示文本的开头2行)


image.png

     c) tail  -2 /data/kai.txt (显示文本的最后2行)

image.png

     d) awk  '/george/'  /data/kai.txt (显示出george的行)(linux三剑客老大   ,擅长取其某一列)

image.png

          awk  '!/george/' /data/kai.txt (显示出排除掉george的行)

image.png

    e) sed  '/george/d' /data/kai.txt (显示出排除掉george的行)(lin ux三剑   客老二,擅长取其某一行)

image.png

7. 创建多层目录

    a) mkdir -pv /data/kai.txt (一次创建多层目录)

        -p : 多层创建    -v :并显示出来

image.png

8. 只查看ett.txt文件(共100行)内第20-30

    先准备测试环境:seq 50 >/data/ett.txt (创建一个50行的目录)

image.png


    方法一 head -30 /data/ett.txt | tail -11 (默认为10

image.png

    注:head 从头开始显示   tail 从尾部开始

    方法二 a) sed  -n  '30p'  /data/ett.txt(只显示第30行)

image.png

    注:p 表示默认输出(会多显示130

                    -n  清楚默认输出 (pn 一般配合使用)

                    -i   修改文件内容

                           b) sed  -n  '20,30p'  /data/ett.txt(显示出20-30行)


    方法三 :  a) awk  'NR==30'  /data/ett.txt(只显示出第30行)

    注:1. 计算机中的=”,就是“==

                    2. NRawk中表示行号(number of record

 


    方法四 a) grep   -A10  "george"  /data/ett.txt (显示出包 含george这个字符的后10行)

                            b)  grep  -B10  "george" /data/ett.txt(显示出包含george字符的前10行)

                            c) grep  -C10  "george"  /data/ett.txt(显示包含george字符的前后10行)


9. find |xargs  ls  /rm  cat  /sed  的配合使用


     a) find  /data/  -type f  -name  "*.sh" |xargs  sed  -i  's#boy#girl#g'(把/data/   目录下名字为.sh结尾的文件中包含oldboy的字符替换成oldgirl

    b) find  /data/  -type f  -name  "*.sh" |xargs  cat(查看/data/目录.sh结尾的文件内容)

    注:|”管道符的作用:将前面命令的输出作为后面命令的操作对象

image.png

    注:|”和|xargs的区别:

                        1.  处理字符串、文本

                        2.  处理文件

 

 学好linux要记住四个字:听话 干活

小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅,更新比51cto慢一些,不过要方便许多

qrcode_for_gh_5ecc48d3d14a_258.jpg

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

qrcode_for_gh_d20dccd1c74b_258.jpg