Bash 基础
1.什么是Bash Shell?
命令解释器, 将用户输入的命令,翻译给内核程序,内核处理完成之后将结果返回
给bash
如何打开一个bash窗口:通过Xshell连接,就算打开一个Bash程序的窗口.
2.Bash Shell能做什么?
几乎能完成所有的操作:
文件管理 (创建 移动 复制 删除 编辑 等等)
用户管理 (创建 删除 ....)
权限管理
磁盘管理
网络管理
进程管理
......
3.平时我们是如何使用Bash Shell?
单条命令 --> 效率低 ---> 适合少量工作
Shell Script --> 效率高 ---> 适合复杂 并且重复性的工作
观摩:创建100个用户
[root@oldboy ~]# cat user.sh
for i in {1..100}
do
useradd test$i
echo "Create test$i Is OK!"
done
4.Bash Shell登陆后的提示符是什么意思?
[root@oldboy ~]#
root: 当前登录系统的用户
oldboy: 主机名称
~: 当前所在的位置 ~表示当前用户所在的家目录
#: 通常情况下表示的是超级管理员
[jack@oldboy ~]$
jack 当前登录系统的用户
$:当前是一个普通用户
5.Bash Shell的基础语法?
命令 [选项] [参数] ([]中的可有可无)
ls -a /tmp/
打针 重点|轻点 往哪打
命令: 主体
选项: 用来调节命令的输出效果-a 用这种方式来表示
--all
选择使用短格式- , 在选项特别多的时候可以组合使用 -a -l -al
参数:文件或者路径
PS: 选项和参数可以出现位置调换的情况
ls #列出当前目录下的内容
[root@oldboy ~]# ls bash_logout
ls: cannot access bash_logout: No such file or directory 没有找到这个文件或目录
PS:相信电脑: 不要相信自己 这个文件不存在,或者这个文件名称写错了
[root@oldboy ~]# useraddttt
-bash: useraddttt: command not found 命令未找到```
6.Bash Shell的常用特性?
1.补全tab
命令补全 路径补全 选项补全
输入命令: 按下tab键 会自动补全,但是如果无法补全
路径补全: 保证唯一就能实现补全功能,但如果输入错误则不会补全成功.
选项补全: yum install bash-completion
PS:输入错误,tab键不好使/
2.命令快捷键
ctrl+c 终止当前正在运行的程序
ctrl+l 清屏 === clear命令
ctrl+w 按单词或者空格进行向前删除(前三个常用)
ctrl+ -> 安单词向右移动
ctrl+ <- 按单词向左移动
ctrl+a 光标跳转至行首
ctrl+e 光标跳转至行尾
ctrl+z 暂时放入后台 几乎不用
ctrl+u 删除光标以前的所有内容
ctrl+k 删除光标以后的所有内容
ctrl+r 搜索的此前执行过的命令
3.历史命令History, 追溯之前发生情况 (查找执行的命令历史记录)
-w 保存命令历史到历史文件
-c 清空命令历史记录, 不会清空已保存的文件
-d 删除命令历史的第 N 条行
history 获取当前执行的历史记录
!60 #调取history记录中编号为60的命令
ECS + . 获取上一条命令最后的路径或参数
1.保存历史记录
[root@oldboy ~]# cat .bash_history #当前用户的家目录下
[root@oldboy ~]# history -w
2.尝试使用history -c 清除记录
3.操作完成后
[root@oldboy ~]# history -c
[root@oldboy ~]# > .bash_history
[root@oldboy ~]# cat .bash_history
4.命令别名 alias unalias
系统有很多内置的别名
1.设置别名(临时生效)
[root@oldboy ~]# alias wk='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
2.取消别名(临时生效)
[root@oldboy ~]# unalias wk
3.永久添加别名.
[root@bj-qing-10 ~]# vi .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
7.Bash Shell的帮助手册?
man ls
ls --help
info
http://man.linuxde.net/
http://linux.51yip.com/
学会善用搜索引擎