• linux-bash特性


    Linux的行结束符是:[$]

    Windows的行结束符是:[$+回车]

    目录管理:
    ls、cd、pwd、mkdir、rmdir、tree

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

    日期时间:
    date、clock、hwclock、cal

    查看文本:
    cat、tac、more、less、head、tail

    (21)
    cat:连接并显示
    -n :在显示时,对每一行编号
    -E :显示结束符。
    例:cat /etc/issue
    cat -n /etc/issue

    (22)
    分屏显示:
    more、less

    more: 向后翻
    less: 向前翻

    (23)
    head:查看前n行
    tail:查看后n行
    -n :默认值为10.
    其实-n 可以直接用 -2等数字代替。

    tail -f: 查看文件尾部,不退出,等待显示后续追加至此文件的新内容;(非常有用的命令)
    解释:如果另一个程序在文件末尾追加了内容,会直接在当前程序显示。

    (24)
    文本处理:
    cut、join、sed、awk
    (sed awk grep号称文本处理三大利器)

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

    (25)
    文本排序:sort 默认按照ascii码表顺序排序。
    -n:数值排序
    -r: 降序
    -t: 字段分隔符
    -k: 以哪个字段为关键字进行排序
    -u: 排序后相同的行只显示一次
    -f: 排序时忽略字符大小写

    (26) 

    uniq:
    -c: 显示文件中行重复的次数
    -d: 只显示重复的行
    例:uniq -c test.txt

    (27)文本统计:wc (word count)
    -l :只显示行数
    -w :只显示单词数
    -c :只显示 字节数
    -L :最长的一行,包含多少个字符。

    (28)字符处理命令:tr —— 转换或删除字符
    tr [OPTION]... SET1 [SET2]
    -d: 删除出现在字符集中的所有字符
    例:
    tr 'ab' 'AB' //替换输入的两个字符串中a 替换为A;b替换为B。
    tr 'ab' 'AB' < /etc/passwd //对文件/etc/passwd执行字符替换。
    tr 'a-z' 'A-Z' //把所有小写字符换成大写字符。

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

    (30) 命令历史:
    查看命令历史:history
    -c:清空命令历史
    -d OFFSET [n]: 删除指定位置的命令
    -w:保存命令历史至历史文件中
    例:
    history -d 100 10 //删除第100个命令开始10个历史命令。

    (31)环境变量
    PATH:命令搜索路径
    HISTSIZE: 命令历史缓冲区大小(即:可以表示的命令历史的条目数,默认是1000.)

    (32)命令历史的使用技巧:
    !n:执行命令历史中的第n条命令;
    !-n: 执行命令历史中的倒数第n条命令;
    !!: 执行上一条命令;
    !string:执行命令历史中最近一个以指定字符串开头的命令

    引用前一个命令的最后一个参数:有以下三个方法:
    ① !$: 引用前一个命令的最后一个参数;
    ② Esc, . //按下esc 松开再按.
    ③ Alt+. //按下Alt再按.

    (33)命令别名
    alias CMDALIAS='COMMAND [options] [arguments]'
    在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;
    例:alias clear=cls

    撤销别名:ualias cls
    显示命令自身:CMD
    例如系统自建别名:ls = ls -i, 可以使用:ls


    (34)命令替换:

    $(COMMAND), 或者反引号:`COMMAND`
    把命令中某个子命令替换为其执行结果的过程.
    例如:创建当前时间的文件
    touch ./file-$(date+%F-%H-%M-%S).txt
    file-2013-02-28-14-53-31.txt
    

      

    (35)bash支持的引号种类:
    反引号 `` : 命令替换
    双引号 "" : 弱引用,可以实现变量替换
    单引号 '' : 强引用,不完成变量替换

    (36)文件名通配, globbing
    通配符不能表达所有情况,有时需要借助正则表达式。
    *: 任意长度的任意字符
    ?:任意单个字符
    []:匹配指定范围内的任意单个字符
    [abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]
    [:space:]:空白字符 //使用时需要再加一层中括号[]
    [:punct:]:标点符号 //使用时需要再加一层中括号[]
    [:lower:]:小写字母 //使用时需要再加一层中括号[]
    [:upper:]: 大写字母 //使用时需要再加一层中括号[]
    [:alpha:]: 大小写字母 //使用时需要再加一层中括号[]
    [:digit:]: 数字 //使用时需要再加一层中括号[]
    [:alnum:]: 数字和大小写字母 //使用时需要再加一层中括号[]

    获取上面这些特殊表示方式的帮助:
    # man 7 glob

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

    例:字母开头,中间有空格,非字母结尾:
    [[:alpha:]]*[[:space:]]*[^[:alpha:]]

    ------山的那一边
  • 相关阅读:
    【动态规划】合唱团
    【动态规划】抄近路
    【动态规划】机器人军团
    【贪心】赶作业
    【贪心】时空定位I
    【贪心】雷达问题
    【贪心】监测点
    【贪心】闭区间问题
    设计与实现
    Hello World
  • 原文地址:https://www.cnblogs.com/mountain2011/p/9261246.html
Copyright © 2020-2023  润新知