视频链接:http://www.bilibili.com/video/av10094012/

  本章目录:

1. Bash shell
1.1 什么是 shell ?          (我们通过shell与Kernel核心沟通,使Kernel操控硬件)
1.2 系统的 shell 与 /etc/shells 功能  (cat /etc/shells一下,可以看到当前电脑的shell)
1.3 Bash shell 的功能          (1.命令编修能力,就是记忆你写的命令按上下键切换。2.命令与档案补全功能,就是tab键补全。3.命令别名(alias)设定功能alias命令。下面还有一些介绍)
1.4 Bash shell 的内建命令: type   (用type命令可以看你的命令是bash内部的还是外部的,亦或者是重命名的)
1.5 指令的下达                     (有一个\键,就是命令太长的话可以用这个换行)
2. Shell 的变量功能        (这里拿/var/spool/mail/jim和/home/jim来讲解)  
2.1 变量的取用与设定: echo, 变量设定规则, unset    (echo读变量。变量设定直接变量=值。unset取消变量)
2.2 变数的用途?          (1.文件夹名字太长用变量代替。2.scripts里面的存储路径设为变量)
2.3 环境变量的功能: env, 一些重要的环境变量, set, export       (env是环境变量,set是其他变量。export是为了让变量在子bash里面也能用)
2.4 语系档案的变量 (locale)                            (locale -a看自己的Linux支持多少的语系)
2.5 变量的有效范围:
2.6 变量键盘读取、数组与宣告: read, declare, array    (read -pt要接收来自键盘的输入就read test 然后输入。只打declare和set是一样的,declare -aixr。array  var[1]="sdsd"  echo "${var[1]}")
2.7 与档案系统及程序的限制关系: ulimit    (限制使用者的系统资源 ulimit -f 1024  -f的单位是k)
2.8 其它额外变量功能                                 (# %  /)

3. 命令别名与历史命令:
3.1 命令别名设定: alias, unalias         (alial ll='ls -al'   / unalias ll)
3.2 历史命令: history, HISTSIZE   (history列出已经打过的命令history -c/n/rwa 还有!! !n !vi这样的快捷方式)
4. Bash shell 使用环境:    
4.1 绝对路径与相对路径
4.2 登录讯息显示数据: /etc/issue, /etc/motd    (tty1~6里面的提示语,/etc/issue /n /l 。/etc/motd用vim编译可以提醒其他登陆用户)
4.3 环境设定档: bashrc, ~/.bashrc, ~/.profile, profile...,/etc/inputrc, source   ()
4.4 终端机的环境设定: stty, set    (stty -a)
4.5 万用字符与特殊符号:           (* ? [] 最常用。举例 ls test* ls test?/???)
5. 数据流重导向 (redirecte)
5.1 何谓数据流重导向?    (list -al > list.txt 或list -al / >> list.txt,第一个覆盖,第二个添加)
5.2 命令执行的判断依据: ; , &&, ||      (sync;sync;shutdown -t   &&是前一个不行后一个就不行ls /jim&&touch /jim/jj  ||是前一个不行就后一个行)
6. 管线命令 (pipe):       (数据经过几道手续才能显示,就要用到管道了)
6.1 撷取命令-: cut, grep     (cut -d '分隔字符' -f number)
6.2 排序命令: sort, wc, uniq    (sort排序默认按照字母顺序,wc -lwm 行字字符,uniq重复的资料列出显示)
6.3 双向重导向: tee        (tee就是一边重导向一边显示在屏幕上)
6.4 字符转换命令: tr, col, join, paste, expand  (tr -ds删除或者替换  cat vae.c tr -d '#')
6.5 分割命令: split      (split -bl  b是按照大小分单位b,k,m l是按照行来分   split -b 300k /etc/termcap)
6.6 参数代换: xargs
6.7 关于减号 - 的用途

shell

Bash的优点

type

变量设定时的规则:

read

declare

array数组 (难道不需要事先声明?)

ulimit 档案系统及程序的限制关系

额外的变量设定功能

history历史命令

stty终端机的环境设定

ctrl+c中止,back删除,del删除这些命令就是stty设定的

set

万用字符与特殊符号:

数据流重导向

命令判断依据 ; , && ||

上图,如果没有tmp这个文件夹那就不会向下执行的哦,那你说我想第一个错了就执行第二个怎么办?按照下图,没有就创建呗

来个例题

管线命令 pipe

因为less只能读取文档,所以像这样目录下面的文件只能用管道 | 来解决

cut

grep

sort排序命令

uniq

wc

tee

tr删除或者替换

col

join

鸟哥的Linux私房菜——第十四章:Bash Shell的更多相关文章

  1. 鸟哥的Linux私房菜笔记第四章

    前言 对着<鸟哥的Linux私房菜-基础版>做了简化笔记.不想让自己知其然而不知其所然.所以写个博客让自己好好巩固一下,当然不可能把书中的内容全部写下来.在这里就简化一点把命令写下来. 让 ...

  2. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)

    第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...

  3. 鸟哥的linux私房菜——第十二章学习(Shell Scripts)

    第十二章  Shell Scripts 1.0).什么是shell scripts? script 是"脚本.剧本"的意思.整句话是说, shell script 是针对 shel ...

  4. 鸟哥的Linux私房菜——第十九章:例行命令的建立

    视频链接:http://www.bilibili.com/video/av11008859/ 1. 什么是例行性命令 (分为两种,一种是周期性的,一种是突发性的)1.1 Linux 工作排程的种类: ...

  5. 鸟哥的Linux私房菜——第十二章:档案的压缩与打包

    视频链接: 土豆:http://www.tudou.com/programs/view/GncwT0FJKsQ B站(推荐):http://www.bilibili.com/video/av98857 ...

  6. 鸟哥的Linux私房菜——第十六章:学习Shell Scripts

    视频链接:http://www.bilibili.com/video/av10565321/ 1. 什么是 Shell Script       (shell写的脚本)1.1 干嘛学习 shell s ...

  7. 鸟哥的Linux私房菜——第十五章:正规表示法

    视频链接 B站:http://www.bilibili.com/video/av10364761/ 目录如下 1. 前言:2. 基础正规表示法:2.1 以 grep 撷取字符串 (grep -iv   ...

  8. 鸟哥的Linux私房菜笔记第六章(二)

    文件内容查询 直接查询文件内容 查阅一个文件的内容可以使用指令cat/tac/nl. # [cat|tac|nl] 文件 区别: 1.cat是直接把文件内容输出到屏幕上,并且从第一行开始输出到末行 2 ...

  9. 鸟哥的Linux私房菜 第十八章、认识系统服务 (daemons)

    什么是 daemon 与服务 (service) Linux Daemon (守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些事件.它不需要用户输入就能运行 ...

随机推荐

  1. 洛咕 P4491 [HAOI2018]染色

    显然颜色数量不会超过\(lim=\min(m,n/S)\) 考虑容斥,计算恰好出现了\(S\)次的颜色有至少\(i\)种的方案数\(f[i]\),钦定\(i\)种颜色正好放\(S\)种 有\(m\)种 ...

  2. AngularJS 的异步服务测试与Mocking

    测试 AngularJS 的异步服务 最近,在做项目时掉进了 AngularJS 异步调用 $q 测试的坑中,直接躺枪了.折腾了许久日子,终于想通了其中的道道,但并不确定是最佳的解决方案,最后还是决定 ...

  3. python + selenium webdriver 自动化测试 之 环境异常处理 (持续更新)

    1.webdriver版本与浏览器版本不匹配,在执行的时候会抛出如下错误提示 selenium.common.exceptions.WebDriverException: Message: unkno ...

  4. VMware在Centos7上配置静态IP的方法

    使用NAT模式 在这里记下192.168.161.2 进入系统,为系统自动分配一个ip 记录下 192.168.161.129 进入网络管理器配置文件目录 cd /etc/sysconfig/netw ...

  5. p4语言编程环境安装

    p4语言主要是用来模拟交换机的交互,是新一代的SDN解决方案,可以让数据转发平面也具有可编程能力,让软件能够真正定义网络和网络设备.详细介绍 主要流程是:安装vmware.安装Ubuntu.下载Git ...

  6. mysql学习(1)

    开始我们基础的mysql学习 第一部分:补充知识 1. 昨天讲到的mysql初始化密码为空,今天又get到一种新的方法 Mysql安装后需要做的 Mysql安装成功后,默认的root用户密码为空,你可 ...

  7. PAT甲题题解-1002. A+B for Polynomials (25)-多项式相加

    注意两点:1.系数也有可能加起来为负!!!一开始我if里面判断为>0导致有样例没过...2.如果最后所有指数的系数都为0,输出一个0即可,原本以为是输出 1 0 0.0... #include ...

  8. jqGrid属性中文详细说明

    jqGrid属性中文详细说明 jqGrid的属性很多,其实很大部分的属性,使用其默认值就可以了.但是详细了解一下属性的含义以及作用,对我们定制自己的grid是有帮助的. 以下内容描述格式是:属性名称 ...

  9. 计算机启动出现 Invalid Partition Table

    计算机启动出现 Invalid Partition Table 解决办法 使用大白菜启动盘进入临时系统,打开程序DiskGenius 如果系统盘(一般为 C 盘)非活动状态,先激活 如果装系统的硬盘不 ...

  10. 软件工程之四则运算--Github

    由于现在配置问题,然后借用同学电脑将代码上传至Github,网址为:https://github.com/be821/RealFour 参考相关Github文档: 1. http://my.oschi ...