Linux操作系统基本符号

系统特殊符号
  1. 基础符号系列
	   美元符号:$		//取变量内容、配合awk去列、普通用户提示符、
	   叹号符号: !  	//取反、强制
	   竖线符号: | 		//前一个命令执行结果交给后面命令处理
           xargs: 		将信息进行分组显示
  1. 引号符号
    ' ' 输出的信息,写什么显示什么
    " " 和单引号功能类似 但对特殊信息会做解析
    ` ` | $($()) 将反引号中的命令先执行,将执行结果交给引号外面的命令进行处理

    没有引号 和双引号功能类似 但是可以直接识别通配符信息,如:# echo {01…09}

  2. 重定向输出符号:

	   \>  1>    标准输出重定向符号
	   2>      错误输出重定向符号
	   \>>  1>>   标准输出追加重定向符号
	   2>>     错误输出追加重定向符号
	   &>		正确错误重定向输出
	   <    标准输入重定向符号
		   \# passwd --stdin zhangsan < pass.txt
	   <<   标准输入追加重定向符号
		   cat >>/abc123.txt<<\EOF
		   XXX
		   XXX
		   EOF
  1. 路径信息系列
	   ../  上一级目录
	   ./   当前路径
	   ~    返回到家目录
	   \-    两个目录之间进行快速切换
  1. 逻辑符号系列
	   &&  与逻辑符号  前一个命令执行成功, 再执行后面的命令
	   ||  或逻辑符号  前一个命令执行失败, 再执行后面的命令
系统通配符
\*  模糊匹配所有内容
	find / -name "a\*b"		//0个或多个字符

{} 生成序列信息 (生成一行序列)
	生成连续序列
	   echo {1..10}
	生成不连续序列
	   echo {1..10..2}  奇数序列
	生成组合序列
		\# echo {A,B}{01,02}
		A01 A02 B01 B02

常用的文件备份操作:
	# cp /etc/passwd /etc/passwd.back
	# cp /etc/passwd{,.back}

操作系统正则符号

正则符号
1. 利用正则符号匹配文件内容信息
2. 正则符号经常出现在各种开发语言中, python java php shell
3. 正则符号经常被三剑客命令使用
基础正则符号: basic
  1. 尖角符号:
    以什么开头的信息
    # ll /etc | grep "^d"

  2. 美元符号:$
    以什么结尾的信息
    # ll -F /etc/ | grep "/$"

  3. 将全部内容显示,但不要显示空行

	^$  -- 空行
	# grep -v "^$" 文件中过滤 
  1. 点符号 .
    匹配任意一个字符,且只有一个字符 
    # grep "." ~/test.txt
    显示匹配过程:# grep "." ~/test.txt -o
  1. 星符号 *
	 匹配前一个字符连续出现了0次或者多次
	 # grep "0*" ~/test.txt
  1. 点和星结合:.*匹配任意所有信息 .* == *
    # grep "^o.\*m$" ~/test.txt //必须加.表示以.为参照匹配所有内容

贪婪匹配问题:指定具体信息阻止贪婪匹配

  1. 转义符号: \
	 \作用:
	   01. 将有特殊意义符号,转义成普通信息进行识别
		将文件中的以 . 结尾的信息进行过滤:
		# grep ".$" ~/test.txt 		//该命令无法真正过滤出以.结尾的行
		# grep "\.$" ~/test.txt		//使用转义符号
	   02. 将没有意义的信息转义为有特殊意义的信息
	       \n   换行符号
	       \t   制表符号

# echo -e "\\e\[1;31m This is red text \\e\[0m"
	//e为字体上色,\\e\[0m,为将颜色重置为默认颜色.否则之后所输出的所有信息都将是31号颜色:格式化

在这里插入图片描述
8) 括号符号:[ ]
有包含a、b、c的行
# grep "\[abc]" test.txt

  1. 括号和尖号组合 [^]
    排除符号,除了a、b、c外,匹配包含其他字符的行:
    # grep -v "\[abc]" test.txt
    # grep "\[^abc]" test.txt
扩展正则符号
默认 grep sed不能直接识别
grep 提升自己  -- egrep/grep -E 
sed  提升自己  -- sed -r 
  1. +号符号:
    匹配前一个字符连续出现了1次或者多次 . * +
    # grep "0*" test.txt
    # egrep "0+" test.txt -o

  2. 竖线符号:|
    或者符号|,用于匹配多个信息
    # grep -E "my|0" test.txt
    只查找当前系统中张三和root的用户信息:
    # grep -E "^zhangsan|^root" /etc/passwd

  3. 括号符号: ()
    作用:

    1. 指定信息进行整体匹配
      # grep -E "(my)" test.txt
    2. 进行后项引用前项使用: sed命令替换功能

实例:

批量创建用户 test01..test10
	第一种方式:
	# echo test{11..12} | xargs -n1 useradd
	第二种方式:
	# echo test{01..10}|xargs -n1|sed -r 's#(.\*)#useradd \\1#g' | bash
	并设置密码:
	# echo test{01..10}|xargs -n1|sed -r 's#(.\*)#useradd \\1#g && passwd \\1 test.txt' | bash
()符号扩展:
转换为 <12><34><56>进行显示
# cat test03.txt | sed -r "s#(..)(..)(..)#<\1><\2><\3>#g"
  1. 括号符号:{}

    可以指定字符连续匹配的次数
    第一种情况:x{n,m} 表示前一个字符至少连续出现n次,最多出现m次
    # grep -E "0{2,3}" test.txt
    第二种情况: x{n} 表示前一个字符正好连续出现了n次
    # grep -E "0{2}" test.txt
    第三种情况: x{n,} 表示前一个字符至少连续出现n次,最多出现多少次不限
    # grep -E "0{2,}" test.txt
    第四种情况: x{,m} 表示前一个字符至少连续出现0次,最多出现m次
    # grep -E "0{,2}" test.txt

  2. 问号符号 ?
    定义匹配前一个字符出现0或者1次 . * + ?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值