zoukankan      html  css  js  c++  java
  • 鸟哥的Linux私房菜——第十四章:Bash Shell

      视频链接: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

  • 相关阅读:
    用Azure VM + Azure Database for MySQL搭建Web服务
    Azure镜像的跨区域复制—Shared Image Gallery(共享映像库)初探
    Azure上几种常见的VM复制操作
    Exchange 2016与国内版O365混合部署(6):混合后的操作和验证
    Exchange 2016与国内版O365混合部署(5):运行AAD Connect及混合部署向导
    Exchange 2016与国内版O365混合部署(4):配置Exchange 公网证书
    Exchange 2016与国内版O365混合部署(3):安装Exchange2016并配置邮件的外网收发
    Exchange 2016与国内版O365混合部署(2):搭建域环境
    Exchange 2016与国内版O365混合部署(1):过程总览
    Cross-Tanant 步骤
  • 原文地址:https://www.cnblogs.com/yunquan/p/6725354.html
Copyright © 2011-2022 走看看