【Linux系列】【基础版】第三章 Shell基础知识

前端之家收集整理的这篇文章主要介绍了【Linux系列】【基础版】第三章 Shell基础知识前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 3.Shell基础知识
  2. 3.1Shell的由来
  3. 3.1.1BourneAginShell
  4. 3.1.2其他的shell,有zsh,ksh
  5. 3.2查看有没有shell
  6. 3.2.1yumlist|grepzsh
  7. 3.2.2ls/root/.bash_history
  8. 3.2.3echo$HISTSIZE->vi/etc/profile修改HISTSIZE的值->source/etc/profile
  9. 3.2.4history-c//清空命令历史(内存中的)
  10. 3.2.5HISTTIMEFORMAT="%Y/%m/%d%H:%M:%S"
  11. 3.2.6vi/etc/profile
  12. 3.2.7chattr+a~/.bash_history//只能被追加,不会被删除
  13. 3.2.8!!//最后一条命令;!n//!words//
  14. 3.3安装参数补全源
  15. 3.3.1yuminstall-ybash-completion//安装参数补全源后需要重启电脑(reboot)才生效
  16. 3.3.2systemctlrestartnetwork.service//重启网络服务
  17. 3.3.3rpm-qabash-completion
  18. 3.4alias配置文件
  19. 3.4.1vi.bashre//alias的配置文件(一部分)
  20. 3.4.2cd/etc/profile.d///alias其他的一部分配置文件
  21. 3.4.3Tab键:
  22. 3.4.3.1按一下匹配命令和参数
  23. 3.4.3.2按两下显示匹配信息供选择
  24. 3.5通配
  25. 3.5.1*匹配所有字符ls*.txt
  26. 3.5.2?匹配一个字符ls?.txt
  27. 3.5.3ls[0-9].txt
  28. 3.5.4ls{1,2}.txt
  29. 3.5.5重定向cat1.txt>2.txt
  30. 3.5.6追加重定向cat1.txt>>2.txt
  31. 3.5.7错误重定向lsaaa2>a.txt
  32. 3.5.8追加错误重定向lsaaa2>>a.txt
  33. 3.5.9wc-l<1.txt//输入重定向,wc-l查看文本行数;左边需要是命令
  34. 3.5.10ls[12].txtaaa.txt&>a.txt//&>为正确错误重定向
  35. 3.5.11ls[12].txtaaa.txt>1.txt2>a.txt//将正确的和错误的区分开
  36. 3.6管道符和作业控制
  37. 3.6.1cat1.txt|wc-l
  38. 3.6.2cat1.txt|grep'aaa'
  39. 3.6.3ctrl+z//暂停一个任务
  40. 3.6.4df-h//查看磁盘使用量
  41. 3.6.5fg//前台frontGround
  42. 3.6.5.1fgIDNumber
  43. 3.6.6jobs//查看后台或已停止的任务
  44. 3.6.7bg//后台background
  45. 3.6.7.1bgIDNumber
  46. 3.6.8vmstate1//动态的显示系统状态
  47. 3.6.9sleep100//暂停100秒
  48. 3.6.9.1sleep100&//把命令放到后台运行
  49. 3.6.9.2psaux|grepsleep//查看进程
  50.  
  51. 3.7shell变量
  52. 3.7.1env//查看系统的环境变量
  53. 3.7.2set命令
  54. 3.7.2.1set|grep111//查找111
  55. 3.7.2.2set命令包含了很多变量,并且包含用户自定义的变量
  56. 3.7.2.3a=111//自定义变量
  57. 3.7.2.4set用来显示本地变量,env用来显示环境变量,export用来显示和设置环境变量
  58. 3.7.3export全局变量
  59. 3.7.3.1exportaming=linux
  60. 3.7.3.2echo$aming
  61. 3.7.3.3bash//进入子bash
  62. 3.7.3.4echo$aming
  63. 3.7.3.5unsetaming//取消环境变量
  64.  
  65. 3.8环境变量的配置文件
  66. 3.8.1系统层次的
  67. 3.8.1.1/etc/profile用户环境变量,交互,登录时才执行
  68. 3.8.1.2/etc/bashrc用户不用登录,执行shell就失效
  69. 3.8.2系统层次的
  70. 3.8.2.1~/.bashrc
  71. 3.8.2.2~/.bash_profile
  72. 3.8.2.3~/.bash_history
  73. 3.8.2.4~/.bash_logout
  74. 3.8.3PS1变量
  75. 3.8.3.1PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$'
  76. 3.8.3.2a='a$bc'
  77. 3.8.3.3a=a"$b"c
  78. 3.8.3.4..bash_profilesource.bash_profile,此处.和source都是加载使生效的作用
  79. 3.8.3.5[登录用户@主机名-所在的目录(最后的层级)]
  80. 3.8.3.6PS1=''//修改PS1
  81. 3.8.3.7echo$PS1//打印PS1的值
  82. 3.8.4登录用户@主机名-所在的目录(最后的层级)
  83. 3.8.5特殊字符
  84. 3.8.5.1*//任意个任意字符
  85. 3.8.5.2//任意一个字符
  86. 3.8.5.3#//注释
  87. 3.8.5.4\//脱义字符e.g.c=\$a\$behcoc
  88. 3.8.5.5|//管道字符
  89.  
  90. 3.9cutsort命令
  91. 3.9.1cat/etc/passwd|head-2|cut-d":"-f1-3//-d表示分割;-f表示段
  92. 3.9.2cut-d//分隔符;-f//指定段号;-c//指定第几个字符
  93. 3.9.3sort-n//以数字排序(字母认为是0);-r//反序;-t//分隔符-kn1/-kn1,n2
  94.  
  95. 3.10wc,uniqsplittee命令
  96. 3.10.1wc-l//统计行数;wc-m//统计字符数;wc-w//统计
  97. 3.10.2cat-A1.txt//输出行中假设为123$,其中$代表换行符
  98. 3.10.3uniq去重(需要先排序)uniq-c//统计行数
  99. 3.10.3.1sort1.txt|uniq-c
  100. 3.10.4split-b//按字节为单位进行切割split-l//按行数进行切割
  101. 3.10.5LC_ALL=C//为了去除所有本地化的设置,让命令正确的执行
  102. 3.10.6tee重定向,并把之前的结果打印在屏幕上
  103. 3.10.6.1sort1.txt|uniq-c|teea.txt
  104. 3.10.6.2tee-a//表示追加
  105. 3.10.6.3>a.txt//清空a.txt
  106. 3.10.7tr替换字符
  107. 3.10.7.1echo"aminglinux"|tr'[al]''[AL]'
  108. 3.11一些特殊字符
  109. 3.11.1$变量前缀!$表示取前一次执行的命令
  110. 3.11.2;多条命令写到一行,用分号分割
  111. 3.11.3~用户家目录,正则中表示匹配符
  112. 3.11.4&放到命令后面,会把命令丢到后台
  113. 3.11.5>重定向>>追加重定向2>错误重定向2>>追加错误重定向&>将错误的和正确的全部重定向到一个文件
  114. 3.11.6[]指定一个字符中的一个
  115. 3.11.7||或者&&并且
  116. 3.11.8[-daminglinux]||mkdiraminglinux//-d判断是否是一个目录且是否存在

猜你在找的Bash相关文章