笔记

1、晨考

  1. 1、用两种方法,实现将文件中的以# 开头的行把# 去掉
  2. sed -r 's/^#//g' /etc/fstab
  3. cat /etc/fstab | tr -d '^#'
  4. 2、将文件中的Hello World 替换成 World Hello
  5. sed -r 's/Hello World/World Hello/g' 7.txt
  6. awk '{print $2,$1}' 7.txt
  7. 3、删除一个文本中所有的数字
  8. sed -r 's/[0-9]+//g' 8.txt
  9. cat 8.txt | tr -d '[0-9]+'

2、昨日问题

  1. 1sed包含几个部分
  2. sed [参数] [匹配规则] [操作对象]
  3. 1、定位
  4. 2、编辑模式

3、今日内容

  1. 1、磁盘管理
  2. 2awk
  3. 1、参数
  4. 2、匹配规则
  5. BEGIN
  6. {}
  7. //
  8. END{}
  9. FS
  10. NR
  11. NF
  12. if
  13. for
  14. 自定义变量

4、磁盘管理

  1. Linux系统中磁盘管理就是将硬盘通过挂载的方式挂载到linux文件系统中。
  2. 1、挂载磁盘的步骤
  3. 1、磁盘分区
  4. 2、挂载
  5. 2、磁盘分区
  6. fdisk:分区2TB以下的磁盘,最多可以分4个分区
  7. gdisk:分区2TB以上的磁盘,最多可以分128个分区
  8. 3、添加一块磁盘
  9. lsblk 查看本机的磁盘
  10. df -h : 查看本机的分区
  11. 4、磁盘分区
  12. n : 新建一个分区
  13. p : 打印分区表
  14. w : 写入磁盘并退出
  15. q : 退出
  16. d : 删除一个分区
  17. 5、挂载磁盘分区
  18. 1、格式化文件系统
  19. mkfs.xfs /dev/sdb1
  20. 6、总结
  21. 1、关机
  22. 2、添加硬盘
  23. 3、创建分区
  24. fdisk /dev/sdb

  25. gdisk /dev/sdb
  26. 4、格式化文件系统
  27. mkfs.xfs /dev/sdb1
  28. 5、挂载
  29. mount /dev/sdb1 /mnt

5、awk

  1. awk主要是用来格式化文本。
  2. 1awk的语法
  3. awk [参数] [处理规则] [操作对象]
  4. 2、参数
  5. -F : 指定文本分隔符(默认是以空格作为分隔符)
  6. awk -F'f' '{print $NF}' 9.txt
  7. 案例:打印系统所有用户的解析器
  8. awk -F: '{print $NF}' /etc/passwd
  9. 3awk的生命周期
  10. grepsedawk都是读一行处理一行,直至处理完成。
  11. 1、接收一行作为输入
  12. 2、把刚刚读入进来得到文本进行分解
  13. 3、使用处理规则处理文本
  14. 4、输入一行,赋值给$0,直至处理完成
  15. 5、把处理完成之后的所有的数据交给END{}来再次处理
  16. 4awk中的预定义变量
  17. $0 : 代表当前行
  18. [root@localhost ~]# awk -F: '{print $0, "---"}' /etc/passwd
  19. $n :代表第n
  20. [root@localhost ~]# awk -F: '{print $1}' /etc/passwd
  21. NF :记录当前行的字段数
  22. [root@localhost ~]# awk -F: '{print NF}' /etc/passwd
  23. [root@localhost ~]# awk -F: '{print $NF}' /etc/passwd
  24. NR :用来记录行号
  25. [root@localhost ~]# awk -F: '{print NR}' /etc/passwd
  26. FS :指定文本内容分隔符(默认是空格)
  27. [root@localhost ~]# awk 'BEGIN{FS=":"}{print $NF, $1}' /etc/passwd
  28. FS 的优先级要高于 -F
  29. OFS :指定打印分隔符(默认空格)
  30. [root@localhost ~]# awk -F: 'BEGIN{OFS=" >>> "}{print $NF, $1}' /etc/passwd
  31. 5awk处理规则的执行流程
  32. BEGIN{}
  33. //
  34. {}
  35. END{}
  36. 6awk中的函数
  37. print : 打印
  38. printf :格式化打印
  39. %s : 字符串
  40. %d :数字
  41. - :左对齐
  42. + :右对齐
  43. 15 : 至少占用15字符
  44. [root@localhost ~]# awk -F: 'BEGIN{OFS=" | "}{printf "|%+15s|%-15s|\n", $NF,$1}' /etc/passwd
  45. 7awk中的定位
  46. 1、正则表达式
  47. [root@localhost ~]# awk -F: '/root/{print $0}' /etc/passwd
  48. [root@localhost ~]# awk -F: '/^root/{print $0}' /etc/passwd
  49. 2、比较表达式
  50. >
  51. <
  52. >=
  53. <=
  54. ~ 正则匹配
  55. !~ 正则匹配(取反)
  56. 案例:要求打印属组ID大于属主ID的行
  57. [root@localhost ~]# awk -F: '$4 > $3{print $0}' /etc/passwd
  58. 案例:结尾包含bash
  59. [root@localhost ~]# awk -F: '$NF ~ /bash/{print $0}' /etc/passwd
  60. 案例:结尾不包含bash
  61. [root@localhost ~]# awk -F: '$NF !~ /bash/{print $0}' /etc/passwd
  62. 3、逻辑表达式
  63. && : 逻辑与
  64. || :逻辑或
  65. ! :逻辑非
  66. [root@localhost ~]# awk -F: '$3 + $4 > 2000 && $3 * $4 > 2000{print $0}' /etc/passwd
  67. [root@localhost ~]# awk -F: '$3 + $4 > 2000 || $3 * $4 > 2000{print $0}' /etc/passwd
  68. [root@localhost ~]# awk -F: '!($3 + $4 > 2000){print $0}' /etc/passwd
  69. 4、算术表达式
  70. +
  71. -
  72. *
  73. /
  74. %
  75. 案例:要求属组 + 属主的ID 大于 2000
  76. [root@localhost ~]# awk -F: '$3 + $4 > 2000{print $0}' /etc/passwd
  77. 案例:要求属组 * 属主的ID 大于 2000
  78. [root@localhost ~]# awk -F: '$3 * $4 > 2000{print $0}' /etc/passwd
  79. 案例:要求打印偶数行
  80. [root@localhost ~]# awk -F: 'NR % 2 == 0{print $0}' /etc/passwd
  81. 案例:要求打印奇数行
  82. [root@localhost ~]# awk -F: 'NR % 2 == 1{print $0}' /etc/passwd
  83. 5、条件表达式
  84. ==
  85. >
  86. <
  87. >=
  88. <=
  89. 案例:要求打印第三行
  90. [root@localhost ~]# awk -F: 'NR == 3{print $0}' /etc/passwd
  91. 6、范围表达式
  92. [root@localhost ~]# awk -F: '/^root/,/^ftp/{print $0}' /etc/passwd
  93. 8、流程控制
  94. 只存在循环之中。
  95. if
  96. [root@localhost ~]# awk -F: '{if($3>$4){print "大于"}else{print "小于或等于"}}' /etc/passwd
  97. if(){}
  98. if(){}else{}
  99. if(){}else if(){}else{}
  100. for
  101. [root@localhost ~]# awk -F: '{for(i=10;i>0;i--){print $0}}' /etc/passwd
  102. for(i="初始值";条件判断;游标){}
  103. while
  104. [root@localhost ~]# awk -F: '{i=1; while(i<10){print $0, i++}}' /etc/passwd
  105. while(条件判断){}
  106. 每隔5行,打印一行横线
  107. -------------------------------------------------------------------------
  108. [root@localhost ~]# awk -F: '{if(NR%5==0){print "----------------"}print $0}' /etc/passwd

12、Linux基础--挂载磁盘步骤、流处理工具awk(正则 比较 逻辑 算数表达式 流程控制)的更多相关文章

  1. 阿里云(百度云)Linux系统挂载磁盘

    阿里云(百度云)Linux系统挂载磁盘

  2. Linux mount挂载磁盘报错 mount: wrong fs type, bad option, bad superblock on /dev/vdb

    Linux mount挂载磁盘报错  mount: wrong fs type, bad option, bad superblock on /dev/vdb Linux挂载磁盘报如下错误: moun ...

  3. linux系统挂载磁盘

    linux系统挂载磁盘 ## 将硬盘挂载到/mnt/disk1下 # 检查磁盘状态,确认分区 fdisk -l # 格式化磁盘(分区) mkfs.ext4 /dev/sda #根据机器上的命名 以sd ...

  4. Window10 Linux子系统挂载磁盘

    默认情况下, Linux子系统将当前winodws磁盘的盘全部挂载到/mnt/<disk_label>, 但一些新增的盘就需要手动做下了.. 官方参考文档 挂载磁盘 -- DrvFs 挂载 ...

  5. Linux基础-正则表达式整理---------------grep、sed、awk

    目录:    Ⅰ:正则表达式    Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在lin ...

  6. linux基础之磁盘管理与文件系统

    上面一篇文章(https://www.cnblogs.com/ckh2014/p/7224851.html)介绍了硬盘的基本结构,那么一块磁盘如何应用取存储数据呢? 它的步骤是这样的: 识别硬盘 -- ...

  7. Linux重新挂载磁盘

    Linux下磁盘和目录的概念与WIN不同:比如,分了一个系统分区默认挂载了根(/)目录,根下还有其它目录,比如/user /lib等.如果系统分区不够用,可以再分出分支,把根下其它目录分别挂载出来,例 ...

  8. linux下挂载磁盘

    1.使用fdisk 查看硬盘信息 [root@localhost ~]# fdisk -l Disk /dev/sdb: 107.4 GB, 107374182400 bytes 255 heads, ...

  9. Linux基础: 挂载镜像文件(Mount & ISO)

    ISO/Ghost 镜像文件概念(裸机安装,无光驱安装,跨平台安装) ISO是镜像文件:所谓镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例 ...

随机推荐

  1. android 解决报错 installation failed with message Failed to finalize session : INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed parse during installPackageLI: Failed to read manifest from /xx/xx/xx.apk

    新工程启动报错 怎么办? 解决: 将这个选项去掉勾选后点击ok即可

  2. icmpsh之icmp反弹shell

    一,技术原理 向ping www.baidu.com时,本机会先向百度的服务器发送ICMP请求包,如果请求成功了,则百度服务器会回应ICMP的响应包 引用百度百科: ICMP(Internet Con ...

  3. 使用Spring容器动态注册和获取Bean

    有时候需要在运行时动态注册Bean到Spring容器,并根据名称获取注册的Bean.比如我们自己的SAAS架构的系统需要调用ThingsBoard API和Thingsboard交互,就可以通过Thi ...

  4. 《剑指offer》面试题41. 数据流中的中位数

    问题描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 例 ...

  5. Solon Web 开发,九、跨域处理

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  6. 巧用 CSS 实现动态线条 Loading 动画

    有群友问我,使用 CSS 如何实现如下 Loading 效果: 这是一个非常有意思的问题. 我们知道,使用 CSS,我们可以非常轻松的实现这样一个动画效果: <div></div&g ...

  7. sql 语句实现实现特殊查询 总结

    统计某一字段不为空 select count(*) from 表名 where 字段名 is not null 统计某一字段为空 select count(*) from 表名 where 字段名 i ...

  8. 【算法】nSum问题

    LeetCode中出现了2sum, 3sum, 4sum的问题,文章给出了一种通用的解法,想法是将n_sum问题转换为(n-1)_sum问题,具体步骤如下: 定义函数sum(n, target),表示 ...

  9. jQuery ajax get与post后台交互中的奥秘

    这两天在做关注功能模块(类似于Instagram).多处页面都需要通过一个"关注"按钮进行关注或者取消该好友的操作.一个页面对应的放一个按钮,进行操作.效率低维护性差.因此想通过j ...

  10. python操作MySQL--实例

    有一段时间,没更新,但这都不是自己懒惰的借口,希望自己能坚持下去: python可以操作MySQL 数据库,需要安装的是MySQL-python,并且实现读入excel表及生成excel 表,则需要x ...