一通配符

* 零个,所有字符

? 有且仅有单个字符

[0-9] 匹配单个  0-9

[abc] 匹配abc任意个字符

[^abc]  除abc的字符

[[:lower:]] 匹配单个小写字母 upper 大写   digit 数字

二变量      $ 调用变量 引用变量

unset D 取消变量

本地变量 仅在当前终端有用

/etc/profile 定义全局环境变量  登陆时候默认读取该文件  对所有用户有效

用户环境变量  ~/.bash_profile 只对当前用户有效,如有用户定义了,以用户为主,他会覆盖了全局变量

PATH变量   命令存放路录  命令执行只会搜索执行当前目录          /bin/bash 命令解释器

三shell脚本 运维 管理 .sh结尾

#!/bin/bash      声明用bash shell    开头

四 重定向  管道

命令 重定向符号 文件

> 输出重定向  覆盖原文件

>> 追加   

管道符 |

命令1 | 命令2  | ...

命令1结果作为命令2的输入

五文本处理工具

cat    |grep 过滤     查看文件内容

ls -IR 文件 |more  分页显示 

head -n  5 文件  显示文件的前5行  默认显示前10行

tail -n 5 文件   显示文件的后5行    默认后10行

grep 选项 关键字 

grep 关键字 文件 过滤关键字 -w  word  单词  -i  忽略大小写 -iw  -A after后多少行  -B 前多少行 before

|grep /bin/bash$ 过滤 以$什么结尾的 

|grep -v ^';' |grep -v ^# |grep -v '#'   过滤掉以; # 开头的行 ,包含#  

-v 反向选择  ^#过滤以#开头  ^$空行

|awk  '{print $5}’ 以列为过滤单位 第五列 -F: 紧跟分割符号:,分割、

|sed 's/%//'   sed 查找替换    s搜索 % 替换为空

/var/log 日志 追加方式 定位文件

tail -f /var/log/*    实时查看文件后10行

tail -f /var/log/* |grep -iE -A3 -B3 '(warn|err)' 排错

需求:

1. 截取系统中可以登录的用户,将这些用户导出到/root/userlist.txt文件中

cat /etc/passwd |grep /bin/bash$ |awk -F: '{print $1}' >> /root/userlist.txt

2. 过滤/etc/samba/smb.conf中,所有非注释行,非空行,导出至/root/smb.conf文件中

cat /etc/samba/smb.conf |grep -v ^';' |grep -v '#' |grep -v ^$ > /root/smb.conf

cat /etc/samba/smb.conf |grep -vE '(^;|#|^$)' >> /root/smb.conf


©著作权归作者所有:来自51CTO博客作者我在东湖边的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 从一份定义文件详解ELK中Logstash插件结构
  2. Redhat 7 LVM xfs文件系统修复
  3. 熔断器 Hystrix 源码解析 —— 命令合并执行
  4. 熔断器 Hystrix 源码解析 —— 命令执行(一)之正常执行逻辑
  5. git命令备忘系列(一):基础命令
  6. 熔断器 Hystrix 源码解析 —— 命令执行(三)之执行超时
  7. 熔断器 Hystrix 源码解析 —— 命令执行(二)之执行隔离策略
  8. 老大甩给我 30G 文件,让小黑哥几天内全部导入到数据库
  9. Ansible 之 配置文件解析

随机推荐

  1. RxJava使用(一)基本使用
  2. Android动画
  3. 布局(1、线性布局)
  4. ListPreference
  5. 不停地切换两张图片ViewFlipper
  6. 2.6.2 Notification的功能与用法
  7. Android中的时间日期选择器
  8. Android(安卓)添加系统服务的方法
  9. 2.5.2 使用alertdialog 创建列表对话框
  10. ViewFlipper+GestureDetector实现不循环