操作系统组成作用shell是离用户最近的程序

shell:外壳

  两类  

    GUI:Gnome,KDE,Xfce

    CLI:sh, csh,ksh,bash(都是程序,就是功能支持的不同而已)

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

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

  

  不同的用户,登陆系统的时候可以使用同一个shell,也可以使用不同的shell  

  同个用户,多次登陆系统也可以使用不同的shell

  用户工作环境时可以各不相同

 bash:

  1.命令历史

  2.管道,重定向

  3.命令别名

  4.命令行展开

  5.命令行编辑

    光标跳转

      ctrl+a:跳到命令行首

      ctrl+e:跳到命令行尾

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

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

      ctrl+l:清屏

    命令历史:

      history

        -c:删除缓存区中的历史命令

        -d:删除第500个 history -d 500

                 history -d 500 10 从第500个开始删除10个

        -w:将缓存去的命令写入文件

    环境变量:

      PATH:命令搜索路径

      HISTSIZE:命令历史大小,缓存去大小

    命令历史命令的使用技巧

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

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

      !!:执行上一条命令

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

定义别名

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

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

取消别名

  unlias CMDALIS

命令替换

  $(COMMAND),反引号 `COMMAND`

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

  echo "The current directory is $(pwd))"

  touch ./file-$(date +%F-%H-%M-%S).txt

bash支持的引号

  ``:反引号,命令替换

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

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

文件名通配:

  man 7 glob

  globbing

  *:任意长度的任意字符

  ?:匹配任意单个字符

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

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

    [^0-9]*:所有非数字开头的文件

    [0-9a-zA-Z]:表示以数字或者大写字母或者小写字母开头的文件

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

    [:space:]:表示所有的空白字符

    [:punct:]:标点符号

    [:lower:]:小写字符

    [:upper:]:大写字母

    [:alpha:]:大小写字母

    [:digit:]:数字

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

    [[:alpha:]]*[[:space:]]*[[:alpha:]]:字母开头,字母结尾,中间有空白字符

  6.文件名通配

  7.变量

  8.编程

linux的学习之路--(五)bash及其特性的更多相关文章

  1. 嵌入式Linux驱动学习之路(五)u-boot启动流程分析

    这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程.这一过程可以分为两个过程,各个阶段的功能如下. 第一阶段的功能: 硬件设备初始化. 加 ...

  2. Linux内核学习之路

    每当学习到一定阶段自己觉得还行时,就会搜一些别人的文章. 这篇文章是原作者14年3月写的.转过来与自己共勉.学习累了就换着学也挺好 原文: 现在回首看看,接触Linux已经很长时间了. 在大三的时候开 ...

  3. 嵌入式Linux驱动学习之路(二十五)虚拟网卡驱动程序

    一.协议栈层次对比 设备无关层到驱动层的体系结构 1).网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过 ...

  4. 嵌入式Linux驱动学习之路(十五)按键驱动-定时器防抖

    在之前的定时器驱动程序中,我们发现在连续按下按键的时候,正常情况下应该是一次按下对应一次松开.而程序有时候会显示是两次按下,一次松开.这个问题是因为在按下的时候,因为是机械按键,所以电压信号会产生一定 ...

  5. Linux学习之路2 Bash的基本操作

    一.SHELL的介绍 shell分为两种:CLI(command Line Interface)和GUI(Graphical User Interface) 操作系统中的shell: GUI:GNOM ...

  6. 嵌入式linux的学习之路[转]

    我认为的一条学习嵌入式Linux的路: 1)学习 Linux系统安装. 常用命令.应用程序安装. 2) 学习 Linux 下的 C 编程.这本书必学<UNIX 环境高级编程>.<UN ...

  7. Linux的学习之路

    linux的安装配置.常用命令: 基本上学习任务: 1.在VMware(9)虚拟机上安装Linux操作系统(安装CentOs操作系统) 2.了解Linux操作系统 3.通过XShell工具操作Linu ...

  8. MongoDB学习之路(五)

    MongoDB $type 操作符 类型 数字 备注 Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 已废弃 Object i ...

  9. 嵌入式Linux驱动学习之路(二十七)字符设备驱动的另一种写法

    之前讲的字符设备驱动程序,只要有一个主设备号,那么次设备号无论是什么都会和同一个 struct file_operations 结构体对应. 而本节课讲的是如何在设备号相同的情况下,让不同的次设备号对 ...

随机推荐

  1. UVA - 1631 Locker 记忆化搜索

    题意:给定两个密码串,每次可以让1~3个相邻的密码向上或者向下滚动,每个密码是 ,问最少需要多少次滚动可以让原串成为目标串? 思路:假设当前要让第i位密码还原,我们可以同时转动,不同的转动方式会影响后 ...

  2. uva225 回溯剪枝

    这道题要剪枝,不然会超时,还有就是每次参加过的城市下次不能再参观,不然会WA. 对于障碍物的坐标我用了两种方法,第一种就是直接用STL里面的set,对于判断是否访问过直接用的count,用时960ms ...

  3. AWS EC2 通过Linux终端:使用ssh连接到Linux实例

    AWS的ubuntu主机登录用户是ubuntu 只能通过秘钥的方式登录 如果在linux终端通过ssh远程登录步骤如下: 假如申请EC2主机的时候下载的key名称叫my-key.pem,并保存在本地l ...

  4. 网络基础Cisco路由交换二

    三层交换技术 作用: 使用三层交换技术实现VLAN间通信. 三层交换=二层交换+三层转发 基于CEF的快速转发 主要包含两个转发用的信息表: 转发信息库(FIB):FIB类似于路由表,包含路由表中转发 ...

  5. 重温.NET下Assembly的加载过程

    最近在工作中牵涉到了.NET下的一个古老的问题:Assembly的加载过程.虽然网上有很多文章介绍这部分内容,很多文章也是很久以前就已经出现了,但阅读之后发现,并没能解决我的问题,有些点写的不是特别详 ...

  6. 微信 Tinker 的一切都在这里,包括源码

    最近半年以来,Android热补丁技术热潮继续爆发,各大公司相继推出自己的开源框架.Tinker在最近也顺利完成了公司的审核,并非常荣幸的成为github.com/Tencent上第一个正式公开的项目 ...

  7. R语言︱关联规则+时间因素=序贯关联规则

    序贯模型=关联规则+时间因素. 了解这个模型可以参考李明老师的<R语言与网站分析 [李明著][机械工业出版社][2014.04][446页]>,第九章,第二节的"序列模型关联分析 ...

  8. Eviews 8.0&9.0界面新功能介绍

    Eviews 8.0&9.0界面新功能介绍 本文其中一些是自己的整理,也有一些是经管之家论坛中一位热心.好学坛友的整理,其中只是简单介绍一下这两个新版本的部分特性,分享出来,有兴趣的看客可以一 ...

  9. 【mongodb系统学习之十】mongodb查询(三)

    6).特殊类型的查询: A).查询键为null的文档:查询时,如果按常规的key:null的方式做条 件,不仅会匹配到值为null的,还会匹配到不存在这个键的:如果只是要值为null的文档,就必须使用 ...

  10. 安装STS报错(三)

    安装STS报错 1.具体报错如下 Failure to transfer org.codehaus.plexus:plexus-archiver:jar:1.2 from http://repo.ma ...