01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能

文章目录

  • Shell 基础
    • 1. Shell 概述
      • 1.1 Shell 是什么
      • 1.2 Shell的分类
      • 1.3 Linux支持的 shell
    • 2. Shell 脚本的执行方式
      • 2.1 echo输出命令
      • 2.2 第一个脚本
    • 3. Bash 的基本功能
      • 3.1 历史命令
      • 3.2 命令与文件补全
      • 3.3 命令别名
      • 3.4 Bash 常用快捷键
      • 3.5 输入输出重定向
        • 3.5.1 标准输入输出
        • 3.5.2 输出重定向
        • 3.5.3 输入重定向
      • 3.6 多命令顺序执行
      • 3.7 管道符
      • 3.8 通配符和其他特殊符号
        • 3.8.1 通配符
        • 3.8.2 Bash中其他特殊符号

Shell 基础

1. Shell 概述

1.1 Shell 是什么

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

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第1张图片
Shell命令把敲入的命令翻译为二进制语言。

在Windows中是图形交互界面。

Shell 是一个强大的编程语言,是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

1.2 Shell的分类

分为 Bourne Shell 和 C shell。这两种语法彼此不兼容。 Bourne家族主要包括:sh, ksh, Bash, psh, zsh; C 家族主要都包括:csh, tcsh。

Bash:Bash与sh兼容,现在使用的Linux就是使用bash作为用户的shell

1.3 Linux支持的 shell

/etc/shells

2. Shell 脚本的执行方式

2.1 echo输出命令

[root@localhost ~] #echo [选项][输出内容]
选项:
	-e: 支持反斜线控制的字符转换
echo "Hello World"
echo 'Hello World!'
# 删除左侧字符
echo -e "ab\bc"
> ac
echo -e "a\tb\tc\nd\te\tf"
> a	b	c
> d	e	f
echo -e "\e[1;31m abcd \e[0m"

3
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第2张图片

2.2 第一个脚本

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第3张图片

#!/bin/Bash 
标志,非注释。标志以下写的程序是shell脚本。

良好的注释是编程的基本素养。wq 保存退出。

chmod 755 hello.sh
/root/sh/hello.sh
./hello.sh

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第4张图片
更正:bash hello.sh

yum -y install dos2unix
dos2unix 文件名

3. Bash 的基本功能

3.1 历史命令

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第5张图片
历史命令默认会保存1000条,可以在环境变量配置文件 /etc/profile中进行修改。

历史命令的调用
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第6张图片

3.2 命令与文件补全

在 bash 中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按“Tab"键就会自动进行补全。

3.3 命令别名

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第7张图片
命令执行时顺序

  1. 第一顺位执行用绝对路径或相对路径执行的命令
  2. 第二顺位执行别名
  3. 第三顺位执行Bash的内部命令
  4. 第四顺位执行按照 $PATH 环境变量定义的目录查找顺序找到的第一个命令。

让别名永久生效

写到相应的环境变量中。

vi /root/.bashrc

3.4 Bash 常用快捷键

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第8张图片

3.5 输入输出重定向

3.5.1 标准输入输出

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第9张图片
更改:这里是stdout

3.5.2 输出重定向

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第10张图片

ls > abc
data > abc

将结果写在abc文件中。
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第11张图片

ls &>/dev/null

把输出保存到垃圾箱。

3.5.3 输入重定向

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第12张图片

wc < anaconda-ks.cfg
wc -l < anaconda-ks.cfg

输入重定向用到的不多。

3.6 多命令顺序执行

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第13张图片
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第14张图片
dd 主要用来做磁盘的复制。

3.7 管道符

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第15张图片
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第16张图片
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第17张图片

3.8 通配符和其他特殊符号

3.8.1 通配符

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第18张图片
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第19张图片

rm -rf *
rm -rf /*

通配符的作用:匹配文件名。

3.8.2 Bash中其他特殊符号

01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第20张图片
单引号中所有特殊符号没有特殊含义。
双引号中所有特殊符号有特殊的含义。

单引号与双引号
01_Shell 基础 - 概述 + 脚本执行方式 + Bash 基本功能_第21张图片
单引号 打印出 $name
双引号 打印出 sc

echo ls
echo $(ls)

你可能感兴趣的:(Linux)