本节学习的命令:history,alias,ualias,\CMD

本节学习的技能:

         bash的特性
      光标跳转
      查看命令历史
      命令历史的使用技巧
      给命令起别名
      命令替换
      文件名通配符

shell: 外壳

  GUI:Gnome, KDE, Xfce

  CLI: sh, csh, ksh, bash, tcsh, zsh

  进程:在每个进程看来,当前主机上只存在内核和当前进程

  进程是程序的副本,进程是程序执行实例

用户工作环境

bash:

#:管理员命令提示符

$:普通用户命令提示符

bash的特性:

  1、命令历史、命令补全

  2、管道、重定向

  3、命令别名

  4、命令行编辑

  5、命令行展开

  6、文件名通配

  7、变量

  8、编程

命令行编辑

光标跳转

Ctrl+a:跳到命令行首

Ctrl+e:跳到命令行尾

Ctrl+u: 删除光标至命令行首的内容

Ctrl+k: 删除光标至命令行尾的内容

  Ctrl+l: 清屏

命令历史

  history:查看命令历史

   -c:清空命令历史

    -d OFFSET [n]: 删除指定位置的命令

    -w:保存命令历史至历史文件中

环境变量

  PATH:命令搜索路径

  HISTSIZE: 命令历史缓冲区大小(可以用‘echo $HISTSIZE’查看)

命令历史的使用技巧

  !n:执行命令历史中的第n条命令;

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

  !!: 执行上一条命令;

  !string:执行命令历史中最近一个以指定字符串开头的命令

  !$:引用前一个命令的最后一个参数,或使用“Esc + .” ;

文本相关的命令

  查看:cat, tac, more, less, head, tail

  统计:wc

  处理:tr, cut, join

  排序:sort

  Uniq

命令补全,路径补全

  命令补全:搜索PATH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件,如果多于一个,两次tab,可以给出列表;否则将直接补全;

  路径补全:搜索我们给出的起始路径下的每个文件名,并试图补全;

命令起别名

  alias CMDALIAS='COMMAND [options] [arguments]'

  在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;

  alias :显示当前所有起别名的命令

  ualias CMDALIAS :撤销命令别名

  type COMMAND:查看命令是不是绑定附加参数

  \CMD:使用有参数命令的原有属性

命令替换: $(COMMAND), 反引号:`COMMAND`

  把命令中某个子命令替换为其执行结果的过程

bash支持的引号

  ``: 命令替换

  "": 弱引用,可以实现变量替换

  '': 强引用,不完成变量替换

文件名通配, globbing

  *: 任意长度的任意字符

  ?:任意单个字符

  []:匹配指定范围内的任意单个字符

[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]

     [:space:]:空白字符

     [:punct:]:标点符号

      [:lower:]:小写字母

      [:upper:]: 大写字母

      [:alpha:]: 大小写字母

      [:digit:]: 数字

      [:alnum:]: 数字和大小写字母

     获取这些列表的方法: man 7 glob(我没成功)

  [^]: 匹配指定范围之外的任意单个字符

  [[:alpha:]]*[[:space:]]*[[:alpha:]]:获取以字母开头,字母结尾,中间有空格的文件

  [[:alpha:]]*[[:space:]]*[^[:alpha:]]:获取以字母开头,非字母结尾,中间有空格的文件

练习:

1、创建a123, cd6, c78m, c1 my, m.z, k 67, 8yu, 789等文件;注意,以上文件是以逗号隔开的,其它符号都是文件名的组成部分;

2、显示所有以a或m开头的文件;

  ls [am]*

3、显示所有文件名中包含了数字的文件;

  ls *[0-9]*

  ls *[[:digit:]]*

4、显示所有以数字结尾且文件名中不包含空白的文件;

  ls *[^[:space:]]*[0-9]   ?????????

5、显示文件名中包含了非字母或数字的特殊符号的文件;

  ls *[^[:alnum:]]*

linux初级学习笔记五:bash特性详解!(视频序号:03_2,3)的更多相关文章

  1. Linux命令学习笔记- vmstat命令实战详解

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...

  2. IP2——IP地址和子网划分学习笔记之《子网掩码详解》

    2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...

  3. linux初级学习笔记八:linux权限管理及权限管理命令详解!(视频序号:04_2)

    本节学习的命令:chown,chgrp,chmod,openssl,umask 本节学习的技能: 文件权限详解及对其的操作 生成随机密码命令 用遮罩码对用户权限进行修改 站在用户登陆的角度来说SHEL ...

  4. linux初级学习笔记六:linux用户及权限详解!(视频序号:03_4)

    本节学习的命令:/etc/passwd,/etc/shadow,/etc/group文件详解 本节学习的技能: 安全上下文 文件与目录的权限管理 影子命令 用户,用户组类别详解 /etc/passwd ...

  5. 3-2 bash 特性详解

    根据马哥Linux初级 3-2,3-3,编写 1. 文字排序 不影响源文件,只是显示根据ASCII码字符升序 nano的用法, 其实这个是生成一个文本,然后就可以在里面编辑. Ctrl + o, 后回 ...

  6. [读书笔记]C#学习笔记三: C#类型详解..

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

  7. C#学习笔记二: C#类型详解

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

  8. CDN学习笔记二(技术详解)

    一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同 ...

  9. ubuntu学习笔记-tar 解压缩命令详解(转)

    tar 解压缩命令详解 -c: 建立压缩档案 -x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能 ...

随机推荐

  1. 【BZOJ1208】宠物收养所(splay)

    题意:见题面 思路:因为每个时刻要么全是人要么全是宠物,所以可以一棵splay解决 维护单点插入,单点删除,求前驱,求后继即可 ..,..]of longint; num,fa:..]of longi ...

  2. 降雨量 BZOJ 1067

    降雨量 [问题描述] 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,20 ...

  3. 关于代码调试de那些事

    原文出处:http://www.wklken.me/posts/2014/11/23/how-to-debug.html 关于代码调试de那些事 1.你得明白你在做什么, 保持清醒 2.想清楚了再写代 ...

  4. Eclipse 语言文件下载地址

    http://www.eclipse.org/babel/downloads.php 更改配色: 安装新软件: http://eclipse-color-theme.github.com/update

  5. WEB学习-CSS盒模型

    盒子的区域 一个盒子中主要的属性就5个:width.height.padding.border.margin. width是“宽度”的意思,CSS中width指的是内容的宽度,而不是盒子的宽度. he ...

  6. codeforces #463

    D(树上倍增) 题意: 刚开始有一个点1,权值为0. 接下来有q个操作,每个操作有两种: 1 R W:新加一个点,这个点的权值为W,这个点的父亲是R 2 R X:在从点R到1的路径上,取出从R开始的不 ...

  7. 使用uilabel重新自调整高度后显示横线和竖线问题

    这个使用uilabel自调节高度发现的问题,代码如下: //content label                        NSString *contentValue = ((Messag ...

  8. 学习日记之抽象工厂模式和Effective C++

    抽象工厂模式(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口.而无需制定他们详细的类. (1),工厂方法模式是定义一个用于创建对象的接口.让子类决定实例化哪一个类. ...

  9. Solidworks如何绘制文字

    1 新建草图,并点击工具-草图绘制实体,文本   2 在弹出的窗口中输入文字,并设置文字的字体和样式   3 画好之后效果如下图所示   4 使用拉伸或者拉升切除来得到凸面的文字或者凹面的文字.   ...

  10. Java之基于Eclipse搭建SSH框架(下)

    在上篇博客里,我简介了Tomcat滴配置与Struts2滴搭建,假设对这个还不会滴童鞋去看一下我滴上篇博客<Java之基于Eclipse搭建SSH框架(上)>.今天我们接着上篇博客滴内容. ...