Linux Shell基础

Linux Shell

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

Linux中标准Shell为Bash,各发行版命令基本通用。

  • 查看当前Linux用的什么Shell
    • echo $SHELL
  • 查看Linux可用的Shell
    • vim /etc/shells
  • 使用别的shell
    • sh
    • bash
  • 退回上一级shell
    • exit

脚本的执行方法

  • 赋予执行权限,直接运行
    • chmod 755 hello.sh
    • ./hello.sh
  • 通过bash调用执行脚本
    • bash hello.sh

Bash的基本功能

命令别名与快捷键

  • 查看系统中的所有命令别名
    • alias
  • 设定命令别名
    • alias 别名 = ‘原命令’
    • 临时生效,重启后重置
  • 别名永久生生效
    • vim ~/.bashrc
    • 写入环境变量配置文件,重启后生效
    • source ~/.bashrc
    • 调用一遍,手动生效
  • 删除别名
    • unalias 别名
    • 临时删除,重启后重置

命令生效顺序

  • 执行绝对路径或相对路径执行的命令
  • 执行别名
  • 执行bash的内部命令
  • 执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

常用快捷键

  • ctrl+c 强制终止当前命令
  • ctrl+l 清屏
  • ctrl+a 光标移动到命令行首
  • ctrl+e 光标移动到命令行尾
  • ctrl+u 从光标所在位置删除到行首
  • ctrl+z 把命令放入后台
  • ctrl+r 在历史命令中搜索
  • ctrl+d 相当于exit

历史命令

  • history [选项] [历史命令保存文件]
    • -c 情况历史命令
    • -w 把缓存中的历史命令写入里面

命令保存文件

  • 历史命令保存文件 ~/.bash_history
  • 不加文件则处理缓存
  • 历史命令默认保存1000条
    • 可在/etc/profile中进行修改
  • 历史命令的调用
    • 上下箭头
    • !n 重复执行第n条命令
    • !! 重复执行上一条命令
    • !字符串 重复执行最后一条以该字符串开头的命令

命令与文件补全

Tab键自动补全,按一次没反映说明有多条补全,连续按两次全部提示

输出重定向

用于记录日志

  • 命令 > 文件
    • 以覆盖方式,把命令的正确输出输出到指定的文件或设备当中
  • 命令 >> 文件
    • 追加,正确输出
  • 错误命令 2> 文件
    • 覆盖,错误输出
  • 错误命令 2>> 文件
    • 追加,错误输出

正确输出和错误输出同时保存

  • 命令 > 文件 2>&1
  • 命令 >> 文件 2>&1
  • 命令 &> 文件
  • 命令 &>> 文件
  • 命令 >> 文件1 2>> 文件2

输入重定向

  • wc [选项] [文件名]

    • -c 统计字节数
    • -w 统计单词数
    • -l 统计行数
  • 命令<文件把文件作为命令的输入

  • 命令<<标识符 … 标识符

    • 把标识符之间的内容当作输入
  • wc < abc.log

    • wc abc.log
    • 统计文件内的数据

管道符

多命令顺序执行

  • ;
    • 命令1;命令2
    • 多个命令顺序执行,命令之间没有任何逻辑联系
  • &&
    • 命令1&&命令2
    • 逻辑与,当命令1正确执行时,命令2才会执行,命令1执行不正确,命令2不执行
  • ||
    • 命令1||命令2
    • 逻辑或,当命令1执行不正确,命令2才会执行,命令1执行正确,命令2不执行

例:命令 && echo yes || echo no
判断命令是否正确执行

管道符

  • 命令1 | 命令2
    • 命令1的正确输出作为命令2的操作对象

  • netstat -an | grep ESTABLISHED
    • 查看服务器连接状态列表
  • netstat -an | grep ESTABLISHED | wc -l
    • 查看服务器连接数目
  • ll | more
    • 分页显示

通配符

  • ?
    • 匹配任意一个字符
  • *
    • 匹配0个或任意多个任意字符
  • []
    • 匹配中括号中任意一个字符,可用-连接,如a-z
  • [^]
    • 匹配不是中括号内的一个字符

bash中其他特色符号

  • ''
    • 单引号
    • 所有特殊符号没有特殊含义
  • ""
    • 双引号
    • $ ` \ 有特殊含义
  • ` “`
    • 反引号
    • 引用系统命令,$变量会调用
  • $()
    • 与反引号功能一样
  • #
    • 注释
  • $
    • 调用变量的值
  • \
    • 转义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值