[TOC]
Bash Shell介绍
什么是Bash Shell
Bash Shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,讲用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。
当我们使用远程连接工具连接linux服务,系统则会打开一个默认的shell,我们可以在这个界面执行命令,比如:获取系统当前时间,创建一个用户等等…

bash shell的作用
使用Shell实现对Linux系统的大部分管理,例如:
- 文件管理
- 权限管理
- 用户管理
- 磁盘管理
- 网络管理
- 软件管理
- 应用管理
…等等管理
bash shell的执行方式
1 2 3 4 5 6 7 8 9 10 11
| useradd xxx(创建一个新用户)
sh useradd.sh(使用脚本创建多个新用户)
for n in `seq 100`;do useradd oldboy$n && \ echo "用户 oldboy$n 已创建成功" done
|
bash基本结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| 命令 选项 参数 command [-options] [arguments]
PS:
例:
ls
ls -a
ls -a /etc
|
bash shell的特性
补全
1 2 3 4
|
yum install -y bash-completion
|
命令快捷键
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Ctrl + a Ctrl + e Ctrl + w Ctrl + c Ctrl + d Ctrl + z Ctrl + l Ctrl + k Ctrl + u Ctrl + r Ctrl + s Ctrl + q Ctrl + 左右 ESC + .
|
shell命令提示符
命令提示符的结构
1 2 3 4 5 6 7 8 9 10 11
| [root@xxx ~]
[]:无实际意义 root:当前登录的用户 @:分隔符 没有任何作用 xxx:当前的主机名称 ~:代表家目录 - root的家目录:/root - xxxx的家目录:/home/xxx
$ 代表普通用户
|
查看当前命令提示符
1 2 3 4 5
| [root@xxx ~] [\u@\h \W]\$
echo:打印内容 $PS1:命令提示符
|
PS1的常用参数以及含义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| \d :代表日期,格式为weekday month date,例如:"Mon Aug 1" \H :完整的主机名称 \h :仅取主机名中的第一个名字 \t :显示时间为24小时格式,如:HH:MM:SS \T :显示时间为12小时格式 \A :显示时间为24小时格式:HH:MM \u :当前用户的账号名称 \v :BASH的版本信息 \w :完整的工作目录名称 \W :利用basename取得工作目录名称,只显示最后一个目录名 \ \$ :提示字符,如果是root用户,提示符为
30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 {1}
|
修改命令提示符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| vi .bashrc:打开命令提示符文件 i:进入编辑模式(进入成功后下方会提示INSERT)
在fi的下面插入要修改的命令提示符 PS1='[\u@\h \W]\$'
PS1='\[\e[32;40m\] \[[\u@\h \w \t]\$ \[\e[0m\]' PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ " {1} PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\[\e[35;40m\]\h\[\e[0m\] \[\e[36;40m\]\w\[\e[0m\]]\\$ "
ESC退出编辑模式 :wq保存并退出(:w仅保存 :q!不保存退出) source .bashrc:(source:重载文件 使文件中的内容立即生效 .bashrc:被执行的文件)
|
命令
1 2 3 4 5 6 7 8
| source:重载文件,作用是使文件中的内容得以立即生效 PS1:命令提示符的变量,PS1中存的是变量的内容 变量:程序运行过程中实时改变的量 echo:打印内容 更改系统时间:date -s "2022-10-28 23:47:21" cd:切换目录(Linux中一切从根开始) :wq:保存并退出(:w仅保存 :q!不保存退出) source .bashrc:(source:重载文件 使文件中的内容立即生效 .bashrc:被执行的文件)
|
查看历史命令
1 2 3 4 5 6 7 8 9 10 11 12 13
| `追溯之前的发生情况,在企业中,十分重要,涉及到运维的责任,记录历史命令对于运维人员来说,也有一个专业名词:审计
-w -c -d !! !命令 !数字
历史命令会进行修改的
|
alias别名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| `别名讲用户经常使用的复杂命令简单化,创建出属于自己的命令别名。`
创建语法:alias 别名="命令" 取消语法:unalias 别名
例:
[root@db04 ~] [root@db04 ~] total 28 dr-xr-x---. 2 root root 135 Oct 31 11:56 . dr-xr-xr-x. 17 root root 224 Oct 28 12:35 .. -rw-------. 1 root root 1530 Oct 24 15:06 anaconda-ks.cfg -rw-------. 1 root root 553 Oct 29 17:58 .bash_history -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r--. 1 root root 280 Oct 29 11:33 .bashrc -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
[root@db04 ~] alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias la='ls -al' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@db04 ~] [root@db04 ~] -bash: la: command not found
[root@db04 ~]
|
ls命令
1 2 3 4 5 6 7 8 9 10 11 12 13
|
ls 选项
-a -l -h -d -t -i -r
|
获取命令帮助
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| man+命令 命令+--help
例1: [root@db04 ~]
例2: [root@db04 ~]
http://linux.51yip.com/ http://man.linuxde.net/
|