Linux基础——Bash

Bash

  • Bash是什么?
  • 查看Linux中的Shell
  • Bash的优点
    • 命令记忆功能
    • 补全功能
    • 命令别名
    • 工作、前景背景控制
    • 脚本
    • 通配符
    • 内置命令
  • Bash环境配置流程
    • Login Shell
    • Non-login shell

Bash是什么?

Bash 全称为Bourne Again SHell,是Shell程序的一种,提供一个界面(也就是终端),可让用户通过调用各种命令来操作系统

查看Linux中的Shell

系统支持的Shell程序在 /etc/shells 文件中,Linux默认使用bash(替代了sh)
Linux基础——Bash_第1张图片
想要知道用户当前使用的Shell,可查看 /etc/passwd 文件
在这里插入图片描述

Bash的优点

命令记忆功能

上一次登陆所执行的命令记录在 ~/.bash_history,而这一次登陆所执行的命令暂存于内存,只有退出时才会写到该文件,可通过⬆⬇查看前后命令

命令 history 可查看输入的历史记录,n表示显示个数,-c 清除历史,-r 将~/.bash_history的内容读到内存,-w将目前新增的历史记录写到 ~/.bash_history
Linux基础——Bash_第2张图片

补全功能

使用 tab 可进行输入补全

命令别名

可通过 alias 简化命令,如下使用 lm 代替 ls -al,取消使用unalias
Linux基础——Bash_第3张图片

工作、前景背景控制

可让当前工作在背景中执行

脚本

可将一连串指令写成一个文件及采用交互式运行,用于完成一个大工程

通配符

符号 意义
* 0到多个任意字符
? 1个任意字符
[] [abcd]表示可能为abcd中的任意一个或多个字符
[-] [0-9]表示有0-9的任意数字
[^] [ ^a ] 除了a以外的字符

内置命令

除了在 /bin 外的系统命令,bash本身也自带了命令,可通过 type 查看当前命令类型

  • 不加参数显示其完整类型
  • -t 输出file表示系统命令,alias 表示命令为别名,builtin则为bash命令
  • -p 显示系统命令的路径
  • -a 显示出命令的搜索执行顺序,如下先使用的是ls --color=auto,而不是/bin/ls

可看到 ls 是 ls --color=auto 的别名,cd 为bash指令
Linux基础——Bash_第4张图片

Bash环境配置流程

Login Shell

Login Shell指通过完整流程获取Bash,列如在命令行界面登陆。首先读取/etc/profile配置环境变量、语言、命令别名等,然后读取个人配置~/.bash_profile( ~/.bash_login或 ~/.profile)
Linux基础——Bash_第5张图片
如下可看到其调用了bashrc,设置命令行提示符号等
Linux基础——Bash_第6张图片

Non-login shell

而Non-login shell指通过窗口界面等方式登陆后再打开终端,仅读取~/.bashrc,然后读取/etc/bashrc、/etc/profile.d/*.sh

你可能感兴趣的:(#,Linux基础,bash,linux,ubuntu)