19. shell基础

shell是一个命令解释器,提供用户和机器以前的交互shell

  1. 命令历史
    按向上的方向键一个个出现以前命令历史
    history 查看以前的命令
    19. shell基础
    命令历史存在文件.bash_history
    19. shell基础
    文件最大行数由变量HISTSIZE决定,默认1000
    19. shell基础
    变量HISTSIZE可在/etc/profile中修改
    HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
    设置时间显示,非永久有效,若要一直有效,须要在/etc/profile中增长
    19. shell基础
    chattr +a ~/.bash_history 永久保存命令(chattr +a只能增长不能删除)
    !! 上一条命令
    ![char] 最近char开头的命令
    !n 前第n条命令bash

  2. 命令补全
    当命令开头打出一部分,如'mk',tab键补全命令和文件目录名,若结果不惟一,须要连续按两下,会列出全部以mk开头的命令ide

  3. 通配符
    * 任意数量任意字符
    ? 1个任意字符
    [0-9] 任意一个数字 [2345] 2345任一
    [a-z] a-z任意一个
    [A-Z] A-Z任意一个
    [0-9a-zA-Z]任一数字或字母
    {1,3,t,y,H} 枚举式选一个,中间用逗号隔开.net

  4. 输入输出重定向
    [contents or cmd] > [file] 将左边内容(正确)重定向到右边文件,覆盖文件原有内容
    [contents or cmd] >> [file] 将左边内容(正确)重定向到右边文件,不覆盖文件原有内容,追加
    [contents or cmd] 2> [file] 将左边内容(错误)重定向到右边文件,覆盖文件原有内容
    [contents or cmd] 2>> [file] 将左边内容(错误)重定向到右边文件,不覆盖文件原有内容,追加
    [contents or cmd] &> [file] 将左边全部内容重定向到右边文件,覆盖文件原有内容
    [contents or cmd] &>> [file] 将左边全部内容重定向到右边文件,不覆盖文件原有内容,追加
    [contents or cmd] > [file1] 2>[file2] 正确和错误内容分别输出到不一样文件
    [cmd] < [file] 将文件内容输入到命令里(左边不能是文件)3d

  5. 管道符
    管道符: [cmd] | [cmd] 将左边命令结果输出到右边
    cut 截取字符
    -d '[xx]' 以xx为分隔符
    -f n,m 截取第n和m位
    -c 指定第几个字符
    19. shell基础
    sort 排序
    -n 以数字排序(其余符号识别为0)
    -r 逆序
    19. shell基础
    wc 统计字符
    -l 行数
    -m 字符数
    -w 词数(根据空格来分隔,不是真的认单词)
    19. shell基础
    uniq 去重(要先排序使相同行相邻才能去重)
    -c 统计重复次数
    19. shell基础
    tee 至关于>,可是要加上|管道符,以及会显示出来
    -a 追加
    19. shell基础
    tr 替换字符
    19. shell基础
    split 切割
    -b 大小(默认单位字节)
    -l 行数blog

  6. 做业控制
    ctrl + z 暂停任务
    fg n 回到(第n个)暂停命令
    jobs 查看中止或后台运行的任务
    bg 把任务放到后台运行(暂停后能够用)
    命令后加' &' 直接把命令放到后台运行排序

  7. 变量
    env 查看系统变量
    19. shell基础
    自定义变量,c未定义,所以无内容
    19. shell基础
    unset [变量名] 撤销变量定义
    变量命名:由数字、字母、下划线组成,首位不能是数字
    变量值中有特殊符号时,要用单引号括起来
    19. shell基础
    单引号、双引号和反引号的区别,在另外一块看到的http://blog.csdn.net/iamlaosong/article/details/54728393字符串

    bash 进入子shell
    19. shell基础
    进入子shell后 exit退出此shell
    通常定义变量不跨shell
    export [变量名]=[变量值] 此定义能够用在当前shell的子shellcmd

    环境变量配置文件
    /etc/profile 登陆后加载
    /etc/bashrc执行shell加载
    用户目录下的是:
    ~/.bashrc
    ~/.bash_profile
    ~/.bash_history
    ~/.bash_logout 定义用户退出时要进行的操做
    变量PS1,在/etc/profile中定义,表示命令前字符串格式
    19. shell基础
    W的大小写对应当前路径显示完整与否
    19. shell基础it

  8. 特殊符号$ 变量前缀; 多条命令写在一行用分号分隔~ 用户家目录& 放在命令后面,表示把命令放到后台[] 指定字符中的一个|| 两条命令间,第一条命令执行失败,才执行后面命令&& 两条命令间,第一条命令执行成功,才执行后面命令
相关文章
相关标签/搜索