[关闭]
@zhangyy 2017-10-17T16:20:18.000000Z 字数 1957 阅读 145

第二章: bash shell的特点

运维基础系列



bash的基础特性:

一、 命令历史:

  1. history
  2. 环境变量:
  3. HISTSIZE: 命令历史记录条数
  4. HISTFILE: ~/.bash_history:
  5. HISTFILESIZE:命令历史文件记录历史的条数
  6. history -d OFFSET (删除第几条)
  7. history -c (清空历史)
  8. history # (显示历史中最近的 # 条命令)
  9. history -a 手动最近当前会话缓冲区的命令历史至历史文件中
  10. 调用历史中的命令:
  11. !#: 重复执行第#条指令
  12. !!: 上一条命令
  13. string:执行以 string 的命令
  14. 调用上调命令的最后一个参数
  15. $
  16. ESC,.
  17. Alt+.
  18. 控制命令历史的记录方式:
  19. 环境变量: HISTCONTROL
  20. ignoredups 忽略连续重复
  21. ignorespace 忽略空格
  22. ignoreboth 两个都记录
  23. export HISTCONTROL = "ignorespace" 忽略所有以空白字符开头的命令
  24. 修改环境变量值的方式: export 变量名 = "值"
  25. 变量赋值: 把赋值符号后面的数据存储与变量名执行内存空间

二、 命令补全:

  1. bash shell 具备 命令补全的功能
  2. bash 执行命令:
  3. 内部命令:
  4. 外部命令: bash 根据PATH 环境定义的路径,自左往右在没个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令:
  5. 直接补全: Tab: 用户给定的字符串只有一条唯一对应的命令:
  6. 以用户给定的字符串对应的命令不唯一,则Tab 会显示所有的命令

三、路径补全:

  1. 把用户给出的字符串当作路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件:
  2. 如果唯一: 则直接补全
  3. 否则给出路径列表

四: 命令行展开

  1. ~: 自动展开为用户的主目录
  2. ~USERNAME: 展开为指定用户的主目录
  3. {}: 可承载以一个逗号分隔的列表,并将其展开为多个路径
  4. /tmp/{a,b} = /tmp/a ,/tmp/b
  5. /tmp/{tom,jerry}/hi = /tmp/tom/hi , /tmp/jerry/hi

五: 命令的执行结过状况

  1. 成功
  2. 失败
  3. bash 使用特殊变量$?保存最近一条命令的执行状态结过:
  4. 0 成功
  5. 1-255:失败
  6. 一个命令获取结过:
  7. echo $?
  8. 程序执行有两类结过:
  9. 程序的返回值:
  10. 程序的执行状态结果:

目录管理类命令:

  1. cd , pwd , ls
  2. mkdir , rmdir tree
  3. mkdir 新建目录
  4. [options] /path/to/somewhere
  5. -p : 存在于不报错,且可自动创建所需要的各个目录
  6. -v : 显示创建信息
  7. -m : 创建目录给定权限
  8. rmdir : 删除空目录
  9. [options]...DIRECTORY...
  10. -v : 显示过程:
  11. -p : 删除递归 保留最上级目录
  12. tree : 显示目录的层级目录
  13. -d : 只显示目录
  14. -L : level :指定目录的层级数目
  15. -P pattern: 只显示有指定pattern匹配到的路径

文本文件查看命令:

  1. cat ,tac
  2. more ,less ,tail, head
  3. more :
  4. more [options] ..file ...
  5. -d : 显示翻页提示
  6. less :
  7. less [OPTIONS....]FILE....
  8. head : 获取文件的前多少行
  9. head [OPTIONS....]FILE....
  10. -n # : 获取文件的前 # 行
  11. -c # : 获取前#字节
  12. tail : 获取文件的前多少行
  13. tail [OPTIONS....]FILE....
  14. -n # : 获取文件的后 # 行
  15. -c # : 获取后#字节
  16. -f : 跟踪文件新追加的内容
  17. 退出 ctrl +c

文件的时间管理工具:

  1. touch
  2. 文件: metadata,data
  3. 查看文件系统状态: stat
  4. 三个时间
  5. access time : 访问时间 atime,读取文件内容
  6. modify time : 修改时间 mtime 改变文件内容 (数据)
  7. change time : 改变时间 ctime
  8. touch 命令:
  9. touch [options]...FILE
  10. -a : only time
  11. -m : only mtime
  12. -t STAMP:
  13. [[CC]YY]MMDDhhmm[.ss]
  14. touch -m -t 201508152201.35 install.log
  15. -c: 如果文件不存,则不予以创建

总结:

  1. 文件系统,bash 的基础特性,目录管理及文件查看
  2. 文件系统:
  3. bootbin,sbin,lib,lib64,dev,home,root,mnt,media,etc,proc,sys
  4. usr
  5. var
  6. bash 的基础特性
  7. 命令补全
  8. 路径补全
  9. 命令历史
  10. 命令行展开:
  11. ~,{}
  12. 命令的状态结果
  13. 成功:0
  14. 失败:1-255
  15. 目录管理: mkdir ,rmdir
  16. 文件查看: more ,less ,tail,head
  17. 时间管理: touch
  18. -a ,-m ,-t , -c
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注