zoukankan      html  css  js  c++  java
  • Day3(2)bash的特性

    bash的基础特性:

    (1)命令历史
    history
    环境变量:
    HISTSIZE:命令零食记录的条数;
    HISTFILE:~/.bash_history;
    HISFILESIZE:命令历史文件记录历史的条数;

    history -d OFFSET
    -c
    history #:显示历史中最近的#条命令;
    -a:手动追加当前会话缓冲区的命令历史至历史文件中;

    调用历史中的命令:
    !#:重复执行第#条指令;
    !!:
    !string:

    调用上一条命令的最后一个参数:
    !$:
    ESC,.
    Alt+.

    控制命令历史的记录方式:
    环境变量:HISTCONTROL
    ignoredups:忽略重复的命令;连续且相同方为“重复”;
    ignorespace:忽略所有以空白开头的命令;
    ignoreboth:ignoredups,ignorespace;

    修改环境变量的方式:export 变量名=“值”
    变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;
    (2)命令补全
    bash执行命令:
    内部命令:
    外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令;

    直接补全:Tab,用户给定的字符串只有一个唯一对应命令;
    (3)路径补全:同Tab

    (4)命令行展开
    ~:展开为用户的主目录
    ~USERNAME:展开为指定用户的主目录
    {}:可承载一个以逗号分隔的列表,并将其展开为多个路径
    /tmp/{a,b} = /tmp/a,/tmp/b
    /tmp/{tom,jerry}/hi = /tmp/tom/hi,/tmp/jerry/hi

    (5)命令的执行结果状态
    成功
    失败

    bash使用特殊变量$?保存最近一条命令的执行状态结果:
    0:成功
    1-255:失败


    目录管理类命令:
    cd,pwd,ls

    mkdir,rmdir

    mkdir [option] /path/to/somewhere
    -p 递归创建
    -v 显示详细信息
    -m MODE:创建目录是直接指定权限;

    tree:
    -d:只显示目录
    -L level:指定显示的层级数目
    -P pattern:只显示由指定pattern匹配到的路径;

    rmdir :删除空目录
    rmdir [option]...DIRECTORY...
    -v:显示过程

    练习:(1)如何创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2/a,
    /tmp/x/y2/b
    mkdir /tmp/x/{y1,y2}/{a,b}

    (2)如何创建x_m,y_m,x_n,y_n
    mkdir {x,y}_{m,n}

    (3)如何创建/tmp/bin/,/tmp/sbin,/tmp/usr,/tmp/usr/bin,/tmp/usr/sbin
    mkdir -p /tmp/{bin,sbin.usr/{sbin,bin}}

    文本文件查看类命令:
    cat,tac
    more,lee,tail,head

    more
    more [OPTIONS...] FILE...
    -d:显示翻页及退出提示

    less
    less [OPTIONS...]... FILE...

    head
    head [OPTION]...[FILE]...
    -c #:指定获取后#字节
    -n #: 指定获取后#行
    -#:

    tail
    tail [OPTION]...[FILE]...
    -c #:指定获取后#字节
    -n #: 指定获取后#行
    -#:
    -f :跟踪显示文件新追加的内容;

    文件的时间戳管理工具:
    touch

    文件:metadate,date
    查看文件状态:stat

    三个时间戳:
    access time: 访问时间---atime,读取文件内容
    modify time: 修改时间---mtime,改变文件内容(数据)
    change time: 改变时间---ctime,元数据发生改变

    touch命令:
    touch [OPTION]...[FILE]...
    -a:only atime
    -m: only mtime
    -t STAMP:
    [[CC]YY]MMDDhhmm[.ss]
    -c:如果文件不存在,则不予创建

  • 相关阅读:
    jenkins与gitlab集成,分支提交代码后自动构建任务(六)
    MySQL配置参数sync_binlog说明
    jenkins部署java项目(五)
    Mac OS X 中安装JDK 7
    centos 使用pip安装mysql-python
    CentOS6.4下安装TeamViewer8
    adb & adb shell 相关命令
    mac下限速
    mac 下 word 2011 使用笔记
    python twisted启动定时服务
  • 原文地址:https://www.cnblogs.com/bldly1989/p/6970160.html
Copyright © 2011-2022 走看看