shell 命令解释器 是用来解释用户对系统的操作 使用 cat /etc/shells 可以查看 系统安装的shell

Linux 启动过程: BIOS -> MBR -> BootLoader(grub) -> kernel -> systemd -> 系统初始化 -> shell

  BIOS 基本输入输出系统 选择U盘启动还是硬盘启动;MBR 硬盘里可引导的部分;BootLoader(grub) 启动内核工具 选择启动的内核;

  kernel 启动内核;systemd 1号进程 其余所有进程派生于它;然后才是系统初始化 启动shell

执行脚本的四种方式

  1 bash ./filename.sh   2 ./filename.sh 

  3souce ./filename.sh  4 . ./filename.sh

  1和2 执行脚本时 会创建一个新的进程来执行 3和4执行脚本时会用当前进程来执行(环境变量是当前系统的环境变量) (不产生新进程执行的命令叫做内建命令

  1 3 4 执行脚本时脚本可以不拥有执行权限 2 执行脚本时必须有可执行权限

管道 '|' 两个进程之间的通信 第一个进程的输出当作第二个进程的输入  a|b|c a的输出当作b的输入 b的输出当作c的输入 (管道应该规避内建命令

重定向 更改标准输入和标准输出为文件 利用文件代替键盘的输入 保存至文件代替终端的输出

  < 输入 wc -l < /etc/passwd  将<右侧的内容代替键盘输入

  > 输出 覆盖输出  >> 追加输出

  2>> 错误输出重定向 2 为标准错误流重定向

  &>> 正确或错误都重定向输出

变量 shell脚本中可以有变量 变量名由字母 数字 下划线组成 数字不能在变量名开始处

  shell 变量为弱类型 不区分类型 区分大小写

  使用方式 1name=value 等号左右不能有空格   2  read name 从用户处读入变量 交互式输入 3 name=ls 变量的值还可以是命令

    4 name=$(ls /etc/) 变量的值还可以是命令的字符串 $() 可以用``反引号代替 5let a=2 let关键字也可赋值 6 变量的值有特殊字符时应该用" 或者'包起来 这时候不应该使用let

变量引用 ${} 大括号{}可以省略 当使用字符串拼接时 也就是要把变量的值加上其他字符串 这时候{}不能省略

  变量作用范围  默认作用于当前执行的shell本身 若想让作用于子shell 时 需要用export 导出一个变量  变量不再使用时 可以用unset删除变量

环境变量 环境变量是当前用户统一配置的 当前用户下每个shell都可以得到的变量  使用env set可以查看当前环境变量

  常用环境变量  $PATH 为命令搜索路径   $USER 用户名   $UID 用户id    $PSI 配置终端提示显示

  预定义变量   $? 保存上一条命令运行结果 0为正确 1为错误   $$ 当前进程PID  $0当前进程名

  位置变量   $0 $1 ... $9 执行脚本时的参数 不存在为空  (${2-_}  如果$2为空代表_  不空代表$2

环境变量配置文件   /etc/profile  /etc/bashrc  ~/.bashrc  ~/.bash_bashrc  /etc/profile.d/

  /etc/目录下对所有用户生效 ~/目录下对当前用户生效

  执行 su - root 时 配置文件执行顺序  /etc/profile  ~/.bash_bashrc  ~/.bashrc  /etc/bashrc 有相同变量名时后面会覆盖前面的

  执行su root 时 执行~/.bashrc 和 /etc/bashrc

数组的使用

  IPTS=(1 2 3)  定义数组   值之间用空格分开IPTS=(1 2 3)

  echo ${IPTS[@]} 显示所有元素

  echo ${#IPTS[@]} 显示元素个数

  echo ${IPTS[0]} 显示第0个元素

Linux shell脚本笔记的更多相关文章

  1. Linux Shell脚本攻略 读书笔记

    Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...

  2. 读书笔记--Linux Shell脚本攻略

    总结的来说,这本书很实践性和实用性强,都是给的具体的例子,直接可以在终端操作实践,比单纯只看不动手务实多了,另外就是,这本书涵盖的内容也比较广,从文本操作到服务器管理到远程ssh等等,都给出来作者挑选 ...

  3. linux shell脚本攻略笔记

    前一阵子系统学习了下<linux shell脚本攻略>这本书.在此记录下自己的学习笔记 1. 输出颜色字符  echo -e "\e[1:41m" 1表示背景色   2 ...

  4. 【链接】LINUX SHELL脚本攻略笔记[速查]

    LINUX SHELL脚本攻略笔记[速查]

  5. LINUX SHELL脚本攻略笔记[速查]

    Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...

  6. 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程

    Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/

  7. Linux Shell脚本攻略

    -Linux Shell脚本攻略 总结的来说,这本书很实践性和实用性强,都是给的具体的例子,直接可以在终端操作实践,比单纯只看不动手务实多了,另外就是,这本书涵盖的内容也比较广,从文本操作到服务器管理 ...

  8. linux shell 脚本攻略学习20--awk命令入门详解

    awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...

  9. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

随机推荐

  1. 03 jvm的组成

    声明:本博客仅仅是一个初学者的学习记录.心得总结,其中肯定有许多错误,不具有参考价值,欢迎大佬指正,谢谢!想和我交流.一起学习.一起进步的朋友可以加我微信Liu__66666666 这是简单学习一遍之 ...

  2. charles 访问控制设置

    本文参考:charles 访问控制设置 charles 访问控制设置 access control settings 访问账户设置: 这里可以配置连接到charles时的一些配置: 这个访问控制确定谁 ...

  3. 【linux】【jenkins】自动化运维五 整合邮件提醒

    1.安装插件 Email Extension Template Plugin 安装教程参考:https://www.cnblogs.com/jxd283465/p/11542680.html 2.系统 ...

  4. vue-router路由元信息及keep-alive组件级缓存

    路由元信息?(黑人问号脸???)是不是这么官方的解释很多人都会一脸懵?那么我们说meta,是不是很多人恍然大悟,因为在项目中用到或者看到过呢? 是的,路由元信息就是我们定义路由时配置的meta字段:那 ...

  5. Python学习笔记整理总结【MySQL】

    一. 数据库介绍 1.什么是数据库?数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将 ...

  6. java-整型数值 用 16进制转换、2进制转换-Integer.toHexString

    负数为什么要用补码表示 可以将符号位和其它位统一处理 减法也可按加法来处理 另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃 正数:原码.反码.补码相同. 负数:反码符号位不变 ...

  7. DocumentFormat.OpenXml read excel file

    这里向大家介绍一种读取excel 数据的方法,用的是DoucmentFormat.OpenXml.dll 废话不多说,向大家展示一下在项目中处理过的方法,如果有任何疑问,随时联系我. using Do ...

  8. Ubuntu 搭建Zookeeper服务

    1.下载安装包 官方下载地址http://apache.fayea.com/zookeeper/ 2.安装 安装前确保系统已安装过JDK,JDK安装过程可参照 2.1 解压下载好的tar.gz安装包到 ...

  9. phaser学习总结之phaser入门教程

    前言 最近公司做项目的时候正好使用到phaser,在这里做一下自己整理出来的一些心得,方便大家参考,phaser这一个游戏引擎通常是做2d游戏的,入门也非常简单,只需你会一点的javascript,但 ...

  10. [Abp vNext 源码分析] - 9. 接口参数的验证

    一.简要说明 ABP vNext 当中的审计模块早在 依赖注入与拦截器一文中有所提及,但没有详细的对其进行分析. 审计模块是 ABP vNext 框架的一个基本组件,它能够提供一些实用日志记录.不过这 ...