Linux运维第3天:Linux文本处理及bash

查看文本:
    cat,tac,more,less,head,tail
    
cat:
    -n: number
    -A:显示特殊字符
    -E:显示行尾
    
tac:
    反向显示
    
more:
    到文件尾后就退出
    b:向前一屏
    space:向后一屏
    ENTER:向下一行
    
less:
    到文件尾后后不退出
    b:向前一屏
    space:向后一屏
    ENTER:向下一行
    
head:查看前n行
tail:查看后n行
    -n 2:查看前2行
    -f  :持续查看,等待更新,后续追加
    
文本处理:
    cut,join,sed,awk,sort,uniq,grep,paste
    
cut:
    -d:指定分隔符,默认是空格,可以加空格也可以不加
    -f:指定要显示的字段
        -f 1,3
        -f 1-3
sort:
    -n:数值排序
    -r:降序
    -t:分隔符
    -k:指定排序字段
    -u:unique(去重)
    -f:忽略大小写


uniq:
    必须相邻的重复的才会去重
    -d:只显示重复的行
    -D:重复行全部都显示
    -c:统计每行重复的次数


文本统计
wc:
    -w:word
    -c:character(看不到特殊字符也计算在内)
    -l:line
    -L:最长的一行包含多少字符


字符处理
tr:
    转换,删除字符,使用标准输入
    tr 'a-z' 'A-Z' < /etc/passwd
    -d:删除字符集中的所在字符
    
进程:是程序的副本,在每个进程看来,当前主机上只存在内核和当前进程,是程序执行的实例


export LANG=en
    
bash及其特性:
shell:外壳
GUI:Gnome,KDE,Xface
CLI:sh,csh,ksh,bash,tcsh,zsh 
    
用户工作环境:
bash:
    shell,子shell
    #pstree


bash:
    1.命令历史
    2.管道,重定向
    3.命令别名
    4.命令行编辑
    5.命令行展开
    6.文件名通配
    7.变量
    8.编程
    
命令行编辑:
    光标跳转:
    Ctrl+a:跳到命令行首
    Ctrl+e:跳到命令行尾
    Ctrl+u:删除光标至行首的内容
    Ctrl+k:删除光标至行尾的内容
    Ctrl+左右方向键可以一次跳一个单词
    Ctrl+l:清屏


命令历史:
    查看命令历史:history
    -c:清空命令历史
    -d:从指定位置删除指定个命令历史 OFFSET [n]
    -w:保存命令历史至历史文件~/.bash_hostory
    HISTSIZE:命令历史缓冲区大小


命令历史使用技巧:
    !n:执行命令历史中第n条命令
    !-n:执行命令历史中倒数第n条命令
    !!:执行上一条命令
    !str:执行开头匹配str的最近一个命令
    !$:引用上一个命令的最后一个参数
    esc,.:引用上一个命令的最后一个参数
    Alt+.:引用上一个命令的最后一个参数(远程终端不支持)
    
命令补全:
    搜索PATH当唯一时自动补全,当不唯一时敲击两次tab会列出所有命令,如果命令太多会询问是否显示


路径补全:
    同上


命令别名:
    alias commandstr='command'
    unalias commandstr
    只在当前shell中有效
    
命令替换:
    把命令中某个子命令替换为其执行结果的过程
    $(command)
    `command`(反引号)


bash支持的引号:
    ``:命令替换
    "":弱引用,可以实现变量的替换
    '':强引用,不完成变量的替换


文件名通配,globbing
    *:任意长度的任意字符
    ?:单个任意字符
    []:匹配指定范围内的任意单个字符 [abc] [a-m] [0-9] [0-9a-z]
    [^]:匹配指定范围之外的任意单个字符
    [:space:]:空白字符
    [:punct:]:标点符号
    [:lower:]:小写字母
    [:upper:]:大小字母
    [:alpha:]:字母
    [:digit:]:数字
    [:alnum:]:数字和大小写母
    用的时候要再一层[]:即 [[:space:]]  [^[:sapce:]]


练习:
    1.创建a123, cd6, c78m, c1 my, m.z, k 67, 8yu, 789等文件;注意,以上文件是以逗号隔开的,其它符号都是文件名的组成部分;
    2.显示所有以a或m开头的文件;
    ls [am]*
    3.显示所有文件名中包含了数字的文件;
    ls *[0-9]* 
    ls *[[:digit:]]*
    4.显示所有以数字结尾且文件名中不包含空白的文件;
    ls *[^[:space:]]*[0-9]   ?????????
    5.显示文件名中包含了非字母或数字的特殊符号的文件;
    ls *[^[:alnum:]]*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值