内容目录

什么是Bash Shell

  • bash shell是一个命令解释器,是用户的翻译官,可以通过bash shell命令让用户直接与内核交互,并将内核处理后的结果输出至屏幕
    1. 用户通过bash窗口输入ls命令;
    2. ls命令会通过bash窗口翻译为计算机硬件能识别的语言,然后传递给操作系统内核程序
    3. 内核程序驱动硬件
    4. 硬件执行后将结果返回给内核,内核再返回给bash再翻译回给用户

file

  • 我们如何打开bash shell呢?
    • 当我们使用远程连接工具连接linux服务,系统则会打开一个默认的shell
    • 我们可在这个界面执行命令,比如获取系统当前时间,创建一个用户等等;

Bash Shell能干什么

  • 使用shell实现对linux系统的大部分管理,例如:
    1. 文件管理
    2. 权限管理
    3. 用户管理
    4. 磁盘管理
    5. 网络管理
    6. 软件管理
    7. 服务管理
    8. 等等

如何使用bash shell

  • 单条命令-->效率低-->适合少量的工作
  • shell脚本-->效率高-->适合重复性的工作
  • 例如:创建100个用户,单纯输入命令需要执行100次,而如果使用shell脚本则可以轻松解决
    #!usr/bin/bash
    #批量创建脚本
    for i in{1..100}
    do
    useradd alice-$i
    echo "alice-$i" is create ok..
    done

Bash Shell提示符

当我们打开或者登录到一个终端的时候都会显示一长串提示符,[root@jumpserver ~]#
提示符一般包含当前登录的用户名,主机名,以及当前工作路径等
file

Bash Shell基础语法

bash shell命令行,为用户提供命令输入,然后将执行结果返回给用户

命令 选项 参数
command option parameters

ls # list directory contents:其功能是显示目录中的文件及其属性信息。
常用选项:

选项 含义
-a 显示所有文件及目录
-d 显示目录自身的属性信息
-i 显示文件的inode属性信息
-l 显示文件的详细属性信息
-m 以逗号为间隔符,水平显示文件信息
-r 依据首字母将文件以反序显示
-R 递归显示所有子文件
-S 依据内容大小将文件排序显示
-t 依据最后修改时间将文件排序显示
-X 依据扩展名将文件排序显示

命令示例如下:

-a,--all(do not ignore entries starting with .)
-l use a long listing format
ls           #命令
ls -a        #命令+选项
ls -a /home  #命令+选项+参数
du -sh * | sort -h  #按文件大小排序
  • 命令:整条shell命令的主体功能
  • 选项:用于调节命令的具体功能
    • -引导短格式选项(单个字符),例如-a
    • --引导长格式选项(多个字符),例如--all
    • 多个短格式选项可以写在一起,只用一个-,例如-al
  • 参数:命令操作的对象,如文件、目录名等
  • 注意:命令必须开头,选项和参数位置可以发生变化

Bash Shell基本特性

补全功能tab

    1. 命令补全:当忘记命令时,可以使用tab进行补全
    1. 目录补全:当需要查找目录层级比较多时,可以使用tab快速补全,减少出错

命令唯一时按下tab键会自动补全
命令不唯一时按一下tab键没有反应,按两下tab键列出所有的命令
如果命令或路径出错是没有办法补全的

常用快捷键ctrl

  • 命令快捷键,快捷键可以帮助我们大大提升工作效率
    • ctrl+a:光标跳转至正在输入的命令行的首部
    • ctrl+e:光标跳转至正在输入的命令行的尾部
    • ctrl+c:终止前台运行的程序
    • ctrl+d:在shell中,表示退出当前shell
    • ctrl+z:将任务暂停,挂至后台
    • ctrl+l:清屏,和clear命令等效
    • ctrl+k:删除从光标到行末的所有字符
    • ctrl+u:删除从光标到行首的所有字符
    • ctrl+r:搜索历史命令,利用关键字;可以按下ctrl+r来继续搜索下一个匹配项

历史记录history

  1. 使用!!可执行上一条执行过的命令
  2. 输入!6执行history命令历史中第6行命令
  3. 使用!cat调用history命令历史最近一次执行过的cat命令
  4. 历史命令保存在~/.bash_history文件

常用参数:

选项 含义
-c 清空命令记录
-d 删除指定序号的命令记录
5 显示最近执行过的5条命令
  • history命令显示时间
    编辑~/.bash_profile,在最后增加
    export HISTTIMEFORMAT="%F %T "
    %F 代表完整的日期(相当于 %Y-%m-%d),%T 代表时间(相当于 %H:%M:%S
    最后,运行 source ~/.bash_profile 以应用更改

命令别名alias

命令别名将用户经常使用的复杂命令简单化,可以用alias别名名称='命令'创建属于自己的别名,若要取消一个别名,则是用 unalias别名名称
必须使用单引号将原来的命令引起来,且alias命令的作用只局限于该次登入的操作。

  1. 定义临时别名
    alias wk='ifconfig'
  2. 可以定义命令本身
    alias ifconfig='ifconfig eth0'
    绝对路径执行,调用命令本身
    /sbin/config
    通过 \ 转义字符,调用命令本身
    \ifconfig
  3. 取消别名
    unalias wk
  4. 永久生效
    vim .bashrc添加相关alias命令;或者/etc/bashrc
  5. -p 显示系统中已有的命令别名

帮助手册help

  1. 命令--help帮助
    ls --help
  2. 命令man手册
    man ls #查看ls命令的手册
最后修改日期: 2024年9月29日

留言

hello word

回复 匿名 取消回复

发布留言必须填写的电子邮件地址不会公开。