Linux(十)——BASH

本文深入解析Bash Shell的特性与功能,包括历史命令记录、命令与文件补全、任务管理及脚本编程,同时介绍了环境变量的作用与管理,以及变量操作技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件sofeware、内核kernel、shell

(bash 是一个为GNU计划编写的Unix shell,命令行模式的shell)

  • 命令在计算机被执行的步骤
    ①用户通过使用者界面(Shell、KDE、应用程序)输入命令
    ②通过shell将输入的命令与操作系统内核(kernel)沟通
    ③kernel控制硬件(hardware)工作
    shell(使用者界面)——kernel(内核)——hardware(硬件)

  • 查看主机中有多少可用的shell
    ①cat /etc/shells
    ②当用户登录时,系统会自动分配一个shell给当前用户工作
    ③Linux系统中默认的shell为 /bin/bash

  • Linux系统为什么默认使用bash
    ①历史命令
    可以记录历史使用过的命令,将其记录在家目录下的.bash_history内,本次使用过的命令被缓存在内存中,成功注销系统后该命令才会被记录在.bash_history
    ②命令与文件补全功能
    Tab 接在第一个字后面 命令补全
    Tab 接在第二个字后面 文件补全
    ③命令别名设置功能
    alias 查看当前或者设置当前命令的别名
    ls -al 查看当前目录下面的所有文件(包含隐藏文件)
    alias lm='ls -al’将命令ls -al替换为命令lm
    ③任务管理、前台、后台控制
    ④程序化脚本
    ⑤通配符

  • 查询命令是否为Bash shell 的内置命令
    通过type查询命令是否为bash的内置命令 type ls

  • 命令的执行与快速编辑按钮
    \在下一行继续输入命令
    ctrl + u 从光标处向前删除命令串
    ctrl + k 从光标处向后删除命令串
    ctrl + a 让光标移动到整个命令串的最前面
    ctrl + e 让光标移动到整个命令串的最后面

  • 变量
    ①使用mail命令读取自己的邮箱时,mail会主动使用MAIL这个变量
    ②显示环境变量 echo $HOME
    ③设置或修改某个变量与变量的内容
    echo $name 显示变量
    name=VBird 修改变量内容
    echo $name 显示变量
    ④变量内容的设置
    1.变量与变量内容用一个=来连接
    2.等号两边不能直接连接空格,当内容中存在空格时可以用“ ”或‘ ’将内容结合起来
    3.取消变量的方法:unset 变量名
    例题:当你有一个常去的工作目录名称很长,如何将目录简化?
    :将目录定义为一个新的变量work1=目录名称
    work1=目录名称
    cd $work 即可进入常访问的目录中

  • 环境变量的功能
    ①功能,比如根目录(主文件夹)的变换、提示字符的显示、执行文件查找的路径等
    ②查看当前shell中有多少个默认的环境变量 env与export
    ③系统中环境变量
    HOME
    代表用户的根目录,可以通过cd ~ 去到自己的根目录
    SHELL
    目前环境使用的shell是哪个程序
    HISTSIZE
    历史命令,曾经执行过的历史命令
    MAIL
    使用mail命令收信时,系统读取的邮箱文件
    PATH
    文件查找
    LANG
    语系数据
    RANDOM
    随机数变量

  • 变量相关的命令
    env 查看系统的环境变量
    set 观察所有变量
    PS1 命令提示符的设置 [dmtsai @study ~]
    echo $$ 查看当前系统的PID
    PID为当前shell的进程号
    export 将自定义变量转换为环境变量
    父进程与子进程
    父进程:登录linux后取得的bash
    子进程:bash下执行的命令
    注:子进程仅会继承父进程的环境变量,不会继承父进程的自定义变量
    变量键盘的读取、数组与声明
    read 读取来自键盘的输入
    read -p “please keyin your name” -t 30
    -p 提示字符 -t 30 后接秒数,在30秒内输入
    数组
    数组定义:var[1]=小明
    读取变量 echo $数组
    限制文件数量、cpu时间、内存数量 ulimit
    变量内容的删除与替换
    从前开始删除
    ①echo ${path #/*local/bin:}
    将path路径中的从前面开始删除最短的一段路径
    一个#表示从前删除且删除最短的一段路径
    /表示从/开始, 星号表示省略中间位置的字符
    ②echo ${path ##/*local/bin:}
    两个##表示从前删除最长的那个路径
    从后开始删除
    ① ${变量%关键词}
    %表示从后开始删除最短的一段路径
    ② ${变量%%关键词}
    %表示从后开始删除最长的一段路径
    变量的替换
    ① ${变量/旧字符串/新字符串}
    将第一个旧字符替换为新字符串
    ② ${变量//旧字符串/新字符串}
    将全部旧字符替换为新字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值