Linux——bash的简单使用

bash及其特性:

1、bash实质上是一个可执行的程序,一个用户的工作环境。

2、每一个shell下可以再打开一个shell,新打开的shell称为子shell,每一个shell之间相互独立。

3、可以使用pstree命令查看当前shell下的子shell个数

使用:

1、光标跳转:

  Crtl + a : 跳到命令行行首

  Crtl + e : 跳到命令行行尾

  Crtl + d : 删除光标所在字符

  Crtl + u : 删除光标到命令行行首的字符

  Crtl + k :删除光标到命令行行尾的字符

  Crtl + l : 清屏

  Crtl + "左/右箭头" : 跳过整个单词

2、命令历史

  bash会自动记录过去执行的命令,并缓存进内存。

  查看历史命令: history

  清空历史:-c

  删除从第n个命令开始的m个字符,m默认为1:-d + n m

  保存命令历史到历史文件:-w

  显示并执行第n条命令: !n

  执行历史命令中倒数第n条命令:! -n

  执行上一条命令: !!

  执行命令历史中的最近一个以指定字符串开头的命令:!+"",例如之前有一条命令:source /etc/profile ,想再次执行时只需: ! source 即可。

  引用上一个命令的最后一个参数: !$

  当用户正常退出时,内存中的命令历史会被保存到用户目录中的bash history文件中,这是一个隐藏文件,bash history保存的历史命令数量是有限的,最大为1000条,HISTSIZ 这是一个环境变量,表示命令历史缓存区大小。

3、命令别名

  alias设置命令别名,例如 alias cls= 'clear'

  alias NAME = COMMAND [option] 相当于变量赋值。只能在当前shell声明周期内有效,要想永久生效,需修改root下的.bashrc 文件,vi /root/.bashrc 然后把 alias cls= 'clear' 添加进去,再执行命令 souce /root/.bashrc(是修改立即生效) 即可。

  alias : 查看所有已经定义的命令别名

  ualias : 取消已经定义的命令别名

  如果加一个命令别名与一个命令的名称相同,则使用时shell下运行的是该别名表示的命令,如果想要使用原命令,则使用\COMMAND表示命令本身。

4、命令替换

  将命令中的某个子命令替换为它的执行结果

  表示形式:command $(子命令) ,command `子命令` 此处是单反引号而不是单引号

  bash支持的引号:` ` 反引号,用于命令替换。" " 双引号,弱引用,可以实现变量替换。' ' 单引号,强引用,不能实现变量替换。

5、文件通配   

  * 用于表示任意长度的任意字符串,任意长度包括0
  ? 用于表示任意单个字符
  [] 匹配任意指定范围内的任意单个字符串
  [:space:]表示空白符号
  [:punct:]表示标点符号
  [:lower:]表示小写字母
  [:upper:]表示大写字母
  [:alpha:]表示所有大小写字母
  [:digit:]表示数字
  [:alnum:]表示数字和字母
  [^] 表示匹配任意指定范围外的单个字符

时间

#!/bin/bash
time=$(date "+%Y年%h%d日%H时%M分%S秒")
echo "hello world !开始执行 ${time}"

最新文章

  1. Jenkins 集成打包和上传 App Store 的冲突
  2. 手写json
  3. eyegaze
  4. Eclipse中支持js提示
  5. Linux下ejabberd开机自启(CentOS)
  6. QtCreator 添加第三方头文件库文件路径
  7. Verilog之电平检测
  8. 仿Smarty替换模板标签时遇到的问题
  9. 【BZOJ1004】【HNOI20008】cards
  10. ArcGIS10.3.1于2015年6月发布
  11. [置顶] viewPager控制滑动速度和时间
  12. jsp跳转后台代码页的简易方式~
  13. vb.net 结束进程
  14. 《用Python玩转数据》项目—线性回归分析入门之波士顿房价预测(二)
  15. 面试集——redis
  16. oracle 11 g release 2 安装
  17. 【2017下集美大学软工1412班_助教博客】团队作业7——第二次项目冲刺(Beta阶段)成绩公示
  18. springboot整合freemarker
  19. 【洛谷p1106】删数问题
  20. Android 4.0以上BlurMaskFilter效果无效

热门文章

  1. [安卓基础] 008.Android中的显示单位
  2. 上传应用至Google Play 后被重新签名,怎么获取最新的签名信息
  3. DDD之1微服务设计为什么选择DDD
  4. Linux以指定用户非root用户运行程序、进程
  5. NET-NTLM hash传递
  6. C语言 俄罗斯方块demo
  7. Java实现 LeetCode 828 统计子串中的唯一字符(暴力+转数组)
  8. Java实现 蓝桥杯 算法训练 未名湖边的烦恼
  9. Java实现 蓝桥杯VIP 算法训练 Hankson的趣味题
  10. Java实现 蓝桥杯VIP 算法提高 P0402