Bash入门——Linux学习笔记(五)

Bash入门

Shell变量

能够简单理解为一个盒子,用来存放一些数据,它的特点就是方便修改。

变量的取用和设定
指令用法功能
echoecho $变量输出变量的值
unsetunset $变量取消变量

在设定变量时遵循如下规则:

  1. 变量和内容间用 [ = ] 连接。 eg: a=Bash
  2. 等号量变不可有直接的空格。 反例: a = Ba sh
  3. 变量只能是英文与数字,能以字母开头。
  4. 若有空格可以放在引号中。
    • 双引号内特殊字符,如 $ 等,保持原有特性,即:变量还是变量
    • 单引号内特殊字符为纯文本,即:变量是文本
  5. 可用 \ 转义特殊字符(空格符等)
  6. 使用其他指令信息时,需要将指令放在 KaTeX parse error: Can't use function '\`' in math mode at position 6: () 或 \̲`̲ \` 中。 eg: vers…( uame -r )
  7. 使用 ${变量名} 增加变量内容
  8. 使用 export 使得变量变为环境变量,常见于传递给子程序变量时使用。
环境变量
指令用法功能
envenv查看当前shell下所有环境变量及其内容
setset查看出环境变量外的其他变量

​ PS1 提示符设定

显示结果的语系
指令功能
locale控制系统显示语系

LANG 和 LC_ALL 变量设定好,基本可覆盖其他预习变量。在 tty1~tty6 环境中,一般默认无中文接口的软件,显示中文会乱码。

所有的语系文件保存在 /usr/lib/locale 中,系统默认语系配置保存在 /etc/locale.conf

数据类型与键盘读入数据

Shell中同样可以声明变量的类型。

指令用法功能
declare / typesetdeclare [-aixr] variable声明变量类型
  • -a : 数组类型
  • -i : 整形数字类型
  • -x : 环境变量
  • -r : 只读类型,不可修改也不可unset

命令别名与历史指令

变量别名

变量别名能够见日常使用包含各类参数的指令,再一次重命名成一个新的指令名

指令用法功能
aliasalias commond = ‘commond2 -x’设置别名
aliasunalias commond取消别名
指令历史

使用 bash 登入 Linux主机后,系统默认在当前用户家目录下家里 .bash_history 文件读取获得历史指令,保存大小由 HISTFILESIZE 变量的大小决定。只有在用户退出时,将指令记录写入到这个文件中,当同一账户同时打开多个 bash 时,最后一个 bash 退出才会写入文件。

指令用法功能
historyhistory [n-carw]查询执行过的功能

bash 环境配置文件

login 与 non-login shell
  • login shell : 需要完整的登入流程,读取 /etc/profile 整体环境文件,再依次读取个人配置文件:

    • ~/.bash_profile
    • ~/.bash_login
    • ~/.profile

    随后继续读入 ~/.bashrc , /etc/bashrc (centos特有)

  • non-login shell : 不去要重复登入的流程,会读取 ~/.bashrc 文件,当用户修改过 **~/.bashrc文件后,可以通过 source 指令使得配置生效。
    在这里插入图片描述

指令功能
source重新读入

终端机环境设定

指令功能
stty设置中断变量

以下一些 bash 的默认组合键:

组合执行结果
Ctrl + C终止当前命令
Ctrl + D输入结束(EOF)
Ctrl + M等于Enter
Ctrl + S暂停屏幕输出
Ctrl + Q恢复屏幕输出
Ctrl + U在提示符下,整行删除指令
Ctrl + Z暂停当前指令

通配符与特殊符号

符号意义
*零到无穷多个任意字符
?一定有一个任意字符
[ ]一定有一个括号内的字符,
[-]在编码顺序内的所有字符
[^]若是括号第一个符号,则是反向选择
#批注符号
\跳脱(转移)符号
|管道符号
;命令分隔符
~家目录
$变量前导符
&工作控制,指令变为后台工作
!逻辑非
/路径分隔符
>, >>数据重定向,输出导向,分别是取代和累加
<, <<数据重定向,输入导向
’ ’不具备变量置换的文本
" "具备变量置换的文本
` `两个 `,中间为可先执行指令,同 $()
( )子shell的起始于结束
{ }指令块区

数据流重定向

  • 标准输入 (stdin) : 代码0,使用 < 或 <<
  • 标准输出 (stdout) : 代码1,使用 > 或 >>
  • 标准错误输出 (stderr) : 代码2,使用 2> 或 2>>

此处有一个特殊的输出路径 /dev/null ,通常称为垃圾桶,所有需要忽略的信息都可以输出到这里,内容就被丢弃了。

管道命令

一个指令执行的结果,作为下一个指令的输入,传输的过程就像是有一个管道把两个指令连接起来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值