课堂笔记(6)

笔记

1.fgrep 不支持正则表达式搜索
2.grep abc   接受标准输入,表示可以接受管道来对输出进行处理
3.grep [file] 可有可无  可以没有文件意味着接受标准输入
  Usage: grep [OPTION]… PATTERN [FILE]…
  Usage: cat [OPTION]… [FILE]…
4.grep “$USER” /etc/passwd       grep也可以使用变量作为pattern来查找
5.grep `whoami` /etc/passwd   grep也可以使用命令替换做为pattern来查找
6.cat -n /etc/passwd | grep root 有行号   通过cat -n 的带行号内容的输出再进行grep搜索
7.grep -q 做是否包含判断  -q 选项为静默输出,不输出任何内容,可通过echo $?来判断是否命令是否执行成功
8.nmap -v -sP 172.20.20.0/24 扫网段存活主机
9.grep -e ‘cat’ -e ‘bash’ /etc/passwd 多个或者关系的pattern可以使用-e 来连接
10.grep中的单词是由数字、下划线、字母组成的,不是通过空格分隔
11.grep -f file 中的匹配字符是或者关系  类似-e
12.通配符(pattern)是匹配文件名的内容,在有些命令使用中会有pattern的支持,正则表达式处理文本中特定的字符串(REGEXP)
13.正则表达式软件模块(PCRE:Perl Compatible Regular Expressions),依赖正则表达式的需要安装该软件包
14.单个汉字也算一个字符,所以可以通过.号来匹配
15.ls |  grep … ls管道输出的是内容,不在是文件名,所以可以使用grep来处理
16.echo abb | grep “ax*b” 符合匹配,因为abc前的ab匹配a*b
   echo abab |grep -E “(ab)*” 匹配ab组合零次或多次
17.grep -o 只显示匹配的内容(常用),常用于取值做判断
   df |grep ‘/dev/sda’ |grep -o ” [[:digit:]]\{1,3\}%” | grep -o “[0-9]\+”|sort -nr |head -1
18.默认贪婪匹配 echo abccdd |grep “a[a-z]c”   匹配结果abcc
19.\? 出现次数为0次或1次,使用egrep(grep -E 选项可以直接使用?而不需要\来转义)
20. .放在中括号中只是.字符不是需要匹配的单个字符,不需要\线转译,如:echo “1.” |grep “[a-z.]\+” 匹配
21.Ctrl + k从光标处删除至命令行尾
22.ifconfig ens33|grep -o  “[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}”  |head -1
23.grep 的模式(pattern)注意要加引号,否则容易有问题
24.grep  -v “^[[:space:]]*$” f1  [[:space:]]表示有tab键或有空格
25.grep “root\>” /etc/passwd     锚定词尾
26.grep “\broot\b” /etc/passwd 锚定整个单词(与grep -w 查找单词相同)
27.grep wangwangwang |grep “\(wang\)\{3\}” 匹配整体  注意要使用转译字符
28.后向引用grep wangwangwangxxxxwangwangwang |grep “\(wang\)\{3\}.*\1
\1匹配的是结果,而非模式本身
29.grep “^bash.*bash$” /etc/passwd    查找出以bash开头同时也是bash结尾的行
30.grep ‘^\(.*\):.*/\1$’ /etc/passwd  查找首尾相同的行
31.grep “^\(a\|b\).*” /etc/passwd    查找出以a开头或者以b开头的行
32.echo axy |grep “\(a\|b\)xy”       查找出存在axy或者bxy的行
33.grep -o “[0-9]\+” /etc/redhat-release |head -n1  找出文本中的主版本号
34.扩展正则表达式即去掉了正则表达式中的转义字符\,除了单词锚定的为/<和/>  如egrep (grep -E)
35.grep -Ewo “[0-9]{2,3}” /etc/passwd 查找出文件中存在二位到三位的数字
36.grep -E = egrep
37.echo “/etc/rc.d/init.d/functions” |grep -Eo “[^/]*/?$”    取输出内容的基名
38.vim -d file1 file2  -d选项用于比较两个文件不同之处
39.vi编辑器 I键直接跳到行首,A 直接跳到行尾
40.vi 另存为 :w  another file
41. !表示强制 q键可以直接退出,修改文件后需要q!
42.r file 读文件, 可以r!command 读入命令输出
43.vi +/pattern file pattern 为正则表达式
44.%s/\(haha\)/\1er/  vim编辑器中只支持基本的正则表达式
45.%s/^UUID/#&/
46.ctrl +r 取消撤销
47.:set ff=unix  将window文件格式的内容修改成unix文件的格式
48.vimtutor  查看vim的编辑器帮助
48.cat hellp.sh | bash    可用来远程调用
49.curl http://192.168.30.128/hello.sh |bash 远程调用执行
50.ls 不指定文件文件夹的情况下使用-d选项是显示当前路径的文件或目录而不递归目录
51.vim寄存器  3″ayy 表示复制三行到t寄存器
              “ap  表示将t寄存器的内容粘贴,最多可以有26个寄存器即a-z
52.vim编辑器中使用ctrl +r 可以重做最后的撤销更改,使用U撤销光标落在这行后的所有的此行的更改
53.vim编辑器中使用的选择替换使用的是基本的正则表达式,所以在使用匹配次数?和+ 号需要使用转义字符,即 \? 和\+

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

(0)
涤生涤生
上一篇 2018-04-08 14:15
下一篇 2018-04-08 14:24

相关推荐

  • 在CentOS7上编译安装apache 2.4源码包,并启动此服务

    1 关闭firwalld systemctl stop firewalld systemctl disable firewalld 2 关闭SElinux setenforce 0 vim /etc/selinux/config 找到以SELINUX开头的那行,修改成SELINUX=disabled 以下就是脚本里的内容,执行就OK了 yum groupin…

    Linux笔记 2018-04-22
  • 内核空间与用户空间,进程与线程以及上下文

    个人理解,比较啰嗦,逻辑性也不强。如果有疑问可以讨论,或者有大佬提点也是可以的。

    2018-03-30
  • 第六周

    总结

    Linux笔记 2018-05-06
  • 第三周作业

    1 列出当前系统上所有已经登陆的用户的用户名,注意:同一个用户名登陆多次,则只显示一次。
    2 取出最后登陆到当前系统的用户的相关信息。
    3 取出当前系统上被用户当作其默认shell的最多的那个shell.
    4 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5 取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6 列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字装换为大写后保存至/tmp/etc.conf文件中。
    7 显示/var目录下一级子目录或文件的总个数。
    8 取出/etc/group文件中第三个字符段数值最小的10个组的名字。
    9 将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10. 请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)创建组distro, 其GID为2016
    (2)创建用户mandriva, 其ID号为1005,基本组为distro
    (3)创建用户mageia, 其ID号为1100,家目录为/home/linux
    (4)给用户mageia添加密码,密码为mageedu
    (5)删除mandriva, 但保留其家目录
    (6)创建用户slackware, 其ID号为2002, 基本组为distro, 附加组为peguin
    (7)修改slackware的默认shell为/bin/tcsh
    (8)为用户slackware的新增附加组admins

    2018-06-05
  • centos 7.4 上源码安装 mysql 数据库

    实验: centos 7.4 上源码安装 mysql 数据库   检查相应的坏境 查看下防火墙iptables和selinux 是否关闭,没关闭先关闭。 再查看下原来主机上是否已有 mariadb 数据库,如果有先卸载在进行安装。   装包 yum install bison bison-devel zlib-devel libcurl-devel liba…

    Linux笔记 2018-06-05
  • DNS搭建

    DNS:domain name service ,协议(c/s,53/udp,53/tcp dns协议的实现 udp:user datagram protocol,无连接协议 top level domain:顶级域名(tld) 主dns服务器:维护负责解析的域内解析库服务器:解析库有管理员维护 从dns服务器:从主dns服务器或者其它dns服务器上复制(区…

    2018-06-11