马哥Linux学习笔记3-2bash基础特性及基础命令

  • bash的基础特性:
    1、命令历史history
    环境变量:HISTSIZE:命令历史记录的条数
    HISTFILE:~/.bash_history
    HISTFILESIZE:命令历史文件记录历史的条数

  • history -d OFFSET 偏移量,即第几条
    -c清空
    history #:显示历史中最近的#条命令
    -a:手动追加当前会话缓区去的命令历史至历史文件中。

  • 调用历史中的命令:
    !#:重复执行第几条命令
    !!:执行上一条
    !string:最近一个以指定字符串开头的命令

  • 调用上一条命令的最后一个参数:
    !$
    ESC,.两个分开按
    Alt+.两个同时按,这第三种方式不是所有终端都适用

  • 控制命令历史的记录方式:
    环境变量:HISTCONTROL
    ignoredups:忽略重复的命令,连续且完全相同为重复
    ignorespace:忽略所有以空白开头的命令
    ignoreboth:ignoredups,ignorespace
    修改环境变量值得方法:export 变量名=“值”
    变量赋值:把赋值符号后面的数据存储于变量名指向的内存空间

  • 2命令补全
    bash执行命令:
    内部命令
    外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令
    直接补全:tab,用户给定的字符串只有唯一对应的命令。
    以用户给定的字符串为开头对应的命令不唯一,则再次tab会给出列表

  • 3路径补全
    把用户给出的字符串当做路径的开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
    如果唯一,则直接补全
    否则再次tab给出列表

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

  • 5命令的执行结果状态
    bash使用特殊变量$?保存最近一条命令的执行状态结果
    0:成功
    1~255:失败
    程序执行有两类结果:
    程序的返回值
    程序的执行状态结果

  • 目录管理类命令:cd,pwd,ls,mkdir,rmdir
    mkdir [option] /path/to/somewhere
    -p:创建已存在的目录不显示错误,且可自动创建各目录
    -v:显示详细信息
    -m MODE:创建目录时直接指定权限

  • rmdir:只能删除空目录
    -p:递归删除空目录
    -v:显示过程

  • tree:显示层级目录
    -d:只显示目录
    -l:指定显示的层级目录level
    -p:只显示由指定pattern匹配到的路径

  • 文本文件查看类命令:
    cat,tac,more,less,tail,head
    more -d:显示翻页及退出提示
    less,man就是使用less
    head -c #:指定获取前#个字节
    head -n #或-#:指定获取前#行
    tail -c #:指定获取后#字节
    -n #或-#:指定获取后#行
    -f :跟踪显示文件新追加的内容

  • 文件的时间戳管理工具
    touch
    文件:metadata,data
    查看文件状态:stat
    三个时间戳:
    access time:访问时间,简写atime,读取文件内容
    modify time:修改时间,mtime,改变文件内容(数据)
    change time:改变时间,ctime,元数据发生改变
    touch -a :only atime
    -m:only mtime
    -t:stamp
    -c:如果文件不存在不予创建

猜你喜欢

转载自blog.csdn.net/weixin_43024834/article/details/87438422