• Linux基础之基本命令cat less more sort uniq alias 命令行 bash简单描述(三)


    获取Linux当前最新的内核版本号
    经常关注www.kernel.org

    目录管理:
    ls cd pwd mkdir rmdir tree

    文件管理:
    touch stat file rm cp mv nano

    日期时间:

    data clock hwclock cal

    查看文本:
    cat tac more less head tail


    cat
    -n:显示的顺序

    分屏显示:
    more less
    more:支持向后翻
    空格,b,回车

    less:和man类似
    k / ?

    空格 b 回车

    q:退出

    G:跳到文件最后

    head,tail

    -n:默认是10,可以指定

    head -n /etc/inittab
    head -n 2 /etc/inittab
    head -2 /etc/inittab

    tail -f /etc/inittab 默认是后十行,不退出,等待显示后续追加至此文件的新内容





    文本处理:
    cut,sed,awk,grep,sort,uniq,head,tail,more,less

    cut -d : -f1 /etc/passwd
    -d:指定分隔符,默认是一个空格
    -f:指定要显示的字段
        -f 1,3 显示第一个和第三个字段
        -f 1-3    显示第一个到第三个字段




    文本排序:sort
    -n:数值排序
    -r:降序
    -t:字段分隔符
    -k:以哪个字段为关键字进行排序
    -u:排序后相同的行只显示一次。
    -f:排序时忽略字符大小写
    sort -nr test.txt 降序排列
    sort -t: -k3 /etc/passwd

    uniq
    -d:显示重复的行
    -c:显示文件中行重复的次数

    cat /etc/fstab
    sort /etc/fstab

    cat test.txt
    456
    67
    111
    231
    sort test.txt
    111
    231
    456
    67
    sort -n test.txt
    67
    111
    231
    456

    uniq -c

    文本统计:wc -l

    tr 转换或者删除字符
    tr [OPTION]...SET1 [SET2]
    -d:删除出现在字符集中的所有字符
    tr 'ab' 'AB' < /etc/passwd       将/etc/passwd中的a和b换成A和B
    tr 'a-z' 'A-Z' < /etc/passwd     换成大写


    在命令行编辑
    光标跳转
    Ctrl+a:光标跳转 命令行首
    Ctrl+e:光标跳转 命令行尾
    Ctrl+u:删除光标至命令行首的内容
    Ctrl+k:删除光标至命令行尾的内容
    Ctrl+l:清屏


    命令历史:
    查看命令历史:history
        -c:清空命令历史
        -d:删除指定位置的命令
        从510开始删除3个  history -d 510 3
        -w:保存命令历史至历史文件中

    环境变量
    PATH:命令搜索路径
    HISTSIZE:命令历史缓存区大小
    echo $HISTSIZE

    命令历史的使用技巧:
    !n:        执行命令历史中的第n条命令
    !-n:        执行命令历史中的倒数第n条命令
    !!:            执行上一条命令
    !string:    执行命令历史中最近一个以指定字符串开始的命令
    !$:        引用前一个命令的最后一个参数
    Esc松开加.:    这个经常使用

    命令别名
    alias
    alias CMDALIAS='COMMAND [options] [arguments]'
    在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围仅为当前shell进程

    alias xxx=命令  定义xxx
    unalias xxx 解除命令


    命令替换: $(command) 反引号:`command`
    把命令中某个子命令替换成其执行结果的过程
    touch ./file-$(data +%F-%H-%M-%S).txt

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


    文件名通配
    *:任意长度的任意字符
    ? :任意单个字符
    []:匹配指定范围内的单个字符
    [a-z],[A-Z],[0-9],[a-zA-Z],[a-zA-Z0-9]
    [:space:]:空白字符
    [:punct:]:标点符号
    [:lower:]:小写字母
    [:upper:]:大写字母
    [:alpha:]:大小写字母
    [:digit:]:数字
    [:alnum:]:数字和大小写字母

    [^]:匹配指定范围外的单个字符


    [[:alpha:]]*[[:space:]]*[^[:alpha:]]
    查看以字母为开头,不以字母为结尾,中间有空格的文件
    例子:
    touch a123 abc ab123 xyz x23 xyz123 y123 helloy123
    ls
    ls a*
    ls a*3
    ls *y*
    ls ?y*


    练习:
    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:]]*


  • 相关阅读:
    Java基础——原码, 反码, 补码 详解
    为什么Java byte 类型的取值范围是-128~127
    JAVA 各种数值类型最大值和最小值 Int, short, char, long, float,&nbs
    JDK config
    为什么要设置Java环境变量(详解)
    什么是JAR包?
    如何用python将一个时间序列转化成有监督学习
    ImportError: numpy.core.multiarray failed to import
    搭建SDN网络——mininet
    回溯法解决最大团问题
  • 原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8717365.html
Copyright © 2020-2023  润新知