Linux第六天笔记(markdown格式)

文本处理三剑客

grep:grep,egrep,fgrep

pattern:模式,类型

sed

awk

通用技术:正则表达式

blank和space的区别:

  `[:blank:]' Blank characters: space and tab.
  
  [:space:]'
         Space characters: in theC' locale, this is tab, newline, vertical tab, form feed, carriage return, and space.

grep

  
  grep -q 
  不做任何显示,但会有一个返回的结果,叫$?
  grep -nA3 root /etc/passwd
  root后面的后3行
  grep -nB3 root /etc/passwd
  
  grep -nC3 root /etc/passwd
  既包含前3行,也包含后3行
  _不算单词的分隔符,-算单词的分隔符

Perl非常擅长做正则表达式

元字符分类:字符匹配,匹配次数,位置锚定,分组

man 7 regex

  
  echo abc | grep a.c //.表示一个字符 

转义:加转义符之后,表示字符原来的含义

  
  echo abcdef | grep "a" 
  echo abcdef | grep "a[xyz]c" 

x*表示 *前面的x出现的次数是不确定的

.*表示任意长度的任意字符串

遇到正则表达式写法最好加上双引号

*贪婪

+贪婪

\?懒惰模式

在[]里面写.表示.本身,不需要转义符

不懂!

  
  [a-z.]

正则表达式匹配IP地址

  
  [0-9]\{1,3\}.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}

在学习的时候,方法是不断更新和改进的

查看硬盘的利用率

  
  df | grep "/dev/sd" | grep -o "[0-9]\{1,3\}%" | grep -o "[0-9]"

行首^,写在最前

行尾$,写在最后

查看非注释与非空行

  
  grep -v "^#" /etc/fstab | grep -v "^$"  
  
  过滤空行
  grep -v "^[[:space:]]*$" f1

以root为单词词首开始的行

  
  grep "\<root" /etc/passwd //   注意 \< 

以root为单词词尾结束的行

  
  grep "root\>" /etc/passwd 

包含以root为单词的行

  
  grep "\<root\>" /etc/passwd 
  grep -w "root" /etc/passwd

包含wang三次

  
  echo wangwangwang | grep "\(wang\)\{3\}"

做计算机的最忌讳的是重复

分组是重点!

  
  搜寻头尾相同
  grep "^\(.*\):.*/\1$" /etc/passwd
取centos的版本数字
  
  cat /etc/centos-release | grep -o "[[:digit:]].*[[:digit:]]\>"

取文件或者文件夹的基名

  
  echo /etc/rc.d/init.d/ | egrep -o "[^/]*/?$"

sed一般适合大量文件

vi/vim

vim是基于模式的,有ex模式,有insert模式,还有普通/一般模式

:r 将其他文件的输出追加到当前文件夹

点加空格表示一句

(上一句

)下一句

空行算一个段落

{上一段

}下一段

x–>p 实现了两个字母的对调位置

J删除当前行后的换行符

dG 删除光标之后的所有内容

26个寄存器(a-z)

Shell编程

程序:指令+数据

程序编程风格:

  
  过程式:以指令为中心,数据服务于指令
  
  对象式:以数据为中心,指令服务于数据
  
  大工程一般是面向对象的

shell程序:提供了编程能力,解释执行

python,java,go

低级:汇编

高级:编译:高级语言–>编译器–》目标代码(Java,C#

​ 解释:高级语言–》解释器–》机器代码(Shell,perl,python

shell脚本就是命令的集合,按照自己的次序写出来

编程逻辑处理方式:

1.顺序执行

2.循环执行

3.选择执行

shell编程:过程式,解释执行

编程语言的基本结构:

各种系统命令的组合

数据存储:变量,数组

表达式:a+b

语句:if

shell编程相对而言不是很安全,如果给用户用,用户只能使用二进制

给用户用,编译性的语言更加安全

shell,perl,python都是源码,都是文本

shell:各种系统命令的组合

数据存储:变量,数组

不同shell的语法是不同的

shebang机制:sharp+bang

自动化运维使用shell,建议写成shell脚本

加bash的时候,即使这个文件没有可执行权限,依然能够通过bash命令执行

  
  cat hello.sh | bash
  bash hello.sh
  
  curl http://192.168.30.128/hello.sh

把一个脚本放在很多人都能够访问的主机上,那么这个程序就能够很容易地被很多人调用

脚本代码开头约定:

1.第一行shebang,即使打字也不要使用汉字

2.程序名,避免更改文件名为无法找到正确的shell

3.版本号

4.更改后的时间

…………..

附加知识点:

SUID,SGID,STICKY和token有联系

ACL可能和token没有联系

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95534

(0)
思定思定
上一篇 2018-04-08 20:46
下一篇 2018-04-08 21:08

相关推荐

  • 计算机的组成及功能

    1. 计算机是由硬件系统及软件系统组成 1.1 硬件系统:CPU、存储器、输入及输出设备; CPU:包括运算器及控制器;运算器完成算数及逻辑运算,而控制器则实现取指令和分析指令。 存储器:包括内存、外存;内存主要负责存储缓存数据,外村主要负责存储本地数据。 输入设备:键盘、鼠标等标准输入设备。 输出设备:显示器、打印机等。 1.2 软件系统:系统软件及应用软…

    Linux笔记 2018-05-12
  • 第十周博客作业

    1、Centos系统下实现httpd-2.2的安装,并分别实现prefork、worker、event等几种工作方式
    2、简述request报文请求方法和状态响应码
    3、详细描述httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例

    2018-05-26
  • shell脚本基础及编程练习

    shell基础语法

    Linux笔记 2018-04-15
  • 实现cobbler自动安装(基于网络)

    本节索引: 一、cobbler简介 二、实验:模拟搭建cobbler服务器,实现cobbler自动化安装系统 三、实验:实现基于web的cobbler   一、cobbler简介: cobbler 功能:用来快速建立 Linux 网络安装环境 特性: 1.基于PXE的二次封装,将多种安装参数封装到一个菜单,更加方便,自动化 2.Python编写 3…

    Linux笔记 2018-05-27
  • 在CentOS 7.3中创建本地yum源

    1.挂载系统光盘 1.1创建挂载文件 [root@centos7 ~]# mkdir /mnt/cdrom                          #创建文件 1.2挂载光驱 [root@centos7 ~]# mount /dev/cdrom /mnt/cdrom/              #挂载光驱  mount: /dev/sr0 is w…

    Linux笔记 2017-05-18
  • Linux程序包管理

    Linux程序包管理 rpm rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序 语法 rpm(选项)(参数) rpm {-i|–install} [install-options] PACKAGE_FILE … rpm {-U|–upgrade} [install-options] …

    Linux笔记 2018-04-03