Bash shell学习_学习笔记

1 bash shell的概述

1.1 什么是bash

bash是Bourne Again Shell的简称,是从unix系统中的sh发展而来,是用户和Linux内核交互的工具,用户通过bash操作内核完成系统的使用和管理。

1.2 shell的种类

  • /bin/sh(已经被/bin/bash替代)
  • /bin/bash(默认的shell)
  • /bin/ksh(源自贝尔实验室,兼容bash)
  • /bin/zsh(源自ksh功能更为强大)
  • /bin/csh(已经被tcsh取代)
  • /bin/tcsh(整合C shell,功能更为强大)

每种shell的功能比较类似,但是语法会稍有不同。

查看Linux系统支付的shell
#cd /bin
#ls -la *sh

1.3 bash的历史和发展

2 bash的配置

2.1 bash shell的变量概述

变量是代表一些值的符号:

  • 可以通过变量来设置shell或者其他程序
  • 变量存在于内存中
  • Linux有自定义变量(local)和环境变量(environment)
  • 自定义变量和环境变量作用范围不同

可以使用以下指令查看所有变量:

  • set可以查看所有变量
  #set
  #set |more
  • env 只能查看环境变量

2.2 bash shell的配置方式

bash shell有以下几种设置方式:

  • 通过自定义变量设置
  • 通过别名(Aliases)设置
  • 通过set指令设置
  • 通过环境变量设置
    • 自定义变量只能在当前的shell环境中有效
    • 环境变量会在整个主机下的shell环境中生效
  通过自定义变量设置
  #KEY1=key
  #KEY2='test now'
  #KEY3="value is $KEY2"
  #KEY4=$KEY3
  查看
  #echo $KEY1
  使用场景
  #mysql=/root/dirs/mysql/bin
  #cd $mysql
  删除变量
  #unset mysql

常见变量
- HISTFILESIZE:记录历史指令保存的最大值
- COLUMNS:终端窗口显示的宽度
- LINES: 终端窗口显示的高度
- PS1:设置提示符号前面的内容样式(\d,\h,\t,\u,\w,!,$,\l)

   通过别名(Aliases)设置
   # alias lss='ls -la'
   # alias cls='clear'
   查看别名描述
   # type cls
   查看所有别名
   # alias
   查看alias值
   # alias cls
   删除别名
   # unalias cls
  通过set指令设置
  设置禁止重定向覆盖已存文件
  # set -o noclobber
  设置整个命令状态就是是VI编辑器
  # set -o vi
  通过环境变量设置
  若自定义变量存在
  # export 变量名
  删除环境变量,只要删掉set变量
  # unset 变量名

常用变量介绍
- HOME:指向当前用户的家目录
- LANG:应用程序使用何种语言来显示界面
- PWD:指向用户当前的工作目录路径

  添加路径到PATH中
  # PATH=$PATH:/root/dirs/mysql/bin

3 shell startup scripts的原理和功能

3.1 shell startup scripts概述

用户登录或其他非登录动作时会自动执行的一些shell脚本:

  • 建立自定义变量或者执行set指令设置shell
  • 建立环境变量,设置其他程序
  • 使用alias,简化后续的操作
  • 登录的时候执行哪些程序
  • 分为login和non-login脚本

3.2 login和non-login shell的学习

login shell:

  • 通过完整的登录流程时运行的shell
  • 首先会读取/etc/profile(PATH/USER/HOSTNAME/HISTSIZE等)
  • 读取/etc/profile.d/*.sh(颜色、语言、指令别名等)
  • ~/.bash_profile、~/.bash_login、~/.profile(只依次读取其中一个)
  • ~/.bash_rc、/etc/bashrc
  • source指令加载脚本的变更

non-login shell:

  • 不需要登录即可运行的shell,如su和原bash下的新bash动作
  • ~/.bash_rc、/etc/bashrc
  • 读取/etc/profile.d/*.sh(颜色、语言、指令别名等)
  • ~/.bash_logout(a.注销用户时会运行该脚本 b.可以执行双备份、缓存和临时文件清理等任务)

4 数据流重定向和管道命令

4.1标准输入输出和错误输出概述

相关概念

  • 标准输入(stdin)是指令数据的输入,代为为0,使用<或者<<,默认是键盘
  • 标准输出(stdout)是指令执行成功返回的结果,代码为1,使用>或者>>,默认屏幕显示
  • 标准错误输出(stderr)是指指令执行失败返回的错误信息,代码为2,使用2>或者2>>,默认是屏幕
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值