本节学习的命令: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. Java学习:一 开篇

    呃 工作中要用到Android开发,呃 不巧的是,关于Java关于Android,当初也只是浅浅的了解了一下.....真是书到用时方恨少了.. 趁现在工作不是太忙,还是花点时间来学习一下吧. 写写博客 ...

  2. ci框架——修改分页的显示样式

    修改ci框架分页的显示样式 用过ci框架的都知道,ci框架自带的分页样式是1,2下一页,在最开始刷新页面现实的时候如果页面不够多的话,那么首页和末页是不显的,这是ci框架的一个缺点, 这个时候需要我们 ...

  3. openSUSE Leap 15.0 初始配置

    添加源: # 禁用原有软件源 sudo zypper mr -da # 添加阿里镜像源 sudo zypper ar -fc https://mirrors.aliyun.com/opensuse/d ...

  4. asp.net core系列 65 正反案例介绍SOLID原则

    一.概述 SOLID五大原则使我们能够管理解决大多数软件设计问题.由Robert C. Martin在20世纪90年代编写了这些原则.这些原则为我们提供了从紧耦合的代码和少量封装转变为适当松耦合和封装 ...

  5. 非旋转Treap:用运行时间换调试时间的有效手段

    非旋转Treap:用运行时间换调试时间的有效手段   Hello大家好,我们今天来聊一聊非旋转Treap. 相信各位或多或少都做过些序列上的问题.如果水题我们考虑暴力:不强制在线我们可能用过莫队和待修 ...

  6. [Bzoj3675][Apio2014]序列分割(斜率优化)

    3675: [Apio2014]序列分割 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 4021  Solved: 1569[Submit][Stat ...

  7. 算法笔记字符串处理问题H:编排字符串(2064)

    题目描述 请输入字符串,最多输入4 个字符串,要求后输入的字符串排在前面,例如 输入:EricZ 输出:1=EricZ 输入:David 输出:1=David 2=EricZ 输入:Peter 输出: ...

  8. 【chrome错误】Cross origin requests are only supported for protocol schemes: http, data,chrome-extension, https, chrome-extension-reso

    使用ajax请求本地文件,chrome会报跨域错误. XMLHttpRequest cannot loadfile:///C:/Users/Li/Desktop/images/alist.json.C ...

  9. JAVA获取前一个月的第一天和最后一天

    package com.date; import java.text.SimpleDateFormat; import java.util.Calendar; /** * 默认显示前一个月的第一天和最 ...

  10. 远程唤醒UP Board

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的图片.链接,请访问我的博客: http://www.cnblogs.co ...