本节学习的命令: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. 淘金(bzoj 3131)

    Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块.    一阵风吹 ...

  2. hdu 4951

    Multiplication table Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  3. hdu 5037 Frog 贪心 dp

    哎,注意细节啊,,,,,,,思维的严密性..... 11699193 2014-09-22 08:46:42 Accepted 5037 796MS 1864K 2204 B G++ czy Frog ...

  4. 标准C程序设计七---04

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  5. HUNAN -11566 Graduation Examination(找规律)

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11566&courseid=0 输入n,求出第n个fi ...

  6. 快速掌握RabbitMQ(四)——两种消费模式和QOS的C#实现

    本篇介绍一下RabbitMQ中的消费模式,在前边的所有栗子中我们采用的消费者都是EventingBasicConsumer,其实RabbitMQ中还有其他两种消费模式:BasicGet和QueueBa ...

  7. [bzoj1018][SHOI2008]堵塞的交通traffic_线段树

    bzoj-1018 SHOI-2008 堵塞的交通traffic 参考博客:https://www.cnblogs.com/MashiroSky/p/5973686.html 题目大意:有一天,由于某 ...

  8. jquery 实现鼠标点击div盒子移动功能

    // Start 窗口的拖动 var _move=false; //移动标记 var _x,_y; //鼠标离控件左上角的相对位置 $(document).ready(function(){ $(&q ...

  9. 修复OS X的Finder中文档 打开方式中重复程序的问题

    如上图,OS X在使用一段时间后,有些软件就会重复注册打开方式,对于有洁癖的人,这是难以接受的事. 不过有个命令可以很简单的把重复项给去掉. /System/Library/Frameworks/Co ...

  10. android 打开浏览器指定网页

    <?xml version="1.0" encoding="utf-8"?> <!-- 定义当前布局的基本LinearLayout --> ...