DAY 02
昨天回顾:
1.什么是GNU? 项目 2块
GNU: 不是Unix
copyleft(GPL规定,再发行权的授予需要许可证接受人公开软件的源代码及所有修改,而且复制件、修改版本都必须以GPL为许可证。)
opensource free 开源免费
gpl 通用许可协议,只要软件被打上这个协议,修改后必须再次公开源代码.
2.GUN和Linux的关系?
GNU提供是程序 依赖库文件 Linux 提供 内核 ==GNU/LINUX
轮胎\车盖 螺丝 引擎
3.常见发行版本?
Ubuntu (又称乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于DebianGNU/Linux,支持x86、amd64(即x64)、ARM和ppc架构。
Redhat红帽特有的组件需要订阅(订阅意味着要掏钱)
CentOS完全开源的操作系统
----------------------------------------------------------------------
----------------------------------------------------------------------
今天内容
0.vmware快照
1.什么是Bash Shell?
命令解释器, 将用户输入的命令,翻译给内核程序.
将用户输入的指令翻译给内核程序,内核处理完成之后将结果返回给bash
如何打开一个bash窗口:
通过Xshell连接,就算打开一个Bash程序的窗口.
2.Bash Shell能做什么? 几乎能完成所有的操作:
文件管理 (创建 移动 复制 删除 编辑 等等)
用户管理 (创建 删除 ....)
权限管理(添加用户、删除用户)
磁盘管理(创建分区、删除分区)
网络管理(配置网卡信息)
进程管理(启动、杀死进程)
......
3.平时我们是如何使用Bash Shell?
(1)通过单条命令 --> 效率低 ---> 适合少量工作
(2)通过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 没有找到这个文件
错误原因:这个文件不存在,或者这个文件名称写错了
[root@oldboy ~]# useraddttt
-bash: useraddttt: command not found 命令未找到,命令与命令中间需要加空格。
6.Bash Shell的常用特性?
1.补全tab
三种:(1)命令补全、(2)路径补全(3)选项补全
(1)输入命令: 按下tab键 会自动补全,但是如果无法补全
(2)路径补全: 保证唯一就能实现补全功能,但如果输入错误则不会补全成功.
(3)选项补全: yum install bash-completion
2.命令快捷键
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.设置别名(临时生效)
alias wk='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
2.取消别名(临时生效)
[root@oldboy ~]# unalias wk
3.永久添加别名..... 比如: oldboy --实际执行-> ls -l /
在/root/.bashrc文件中添加
7.查看Bash Shell的帮助手册
man ls
ls --help
Linux命令大全:
http://man.linuxde.net/
http://linux.51yip.com/
总结:
1.什么是bash?
一种命令的解释器。
2.bash能做什么操作?
补全Tab、历史命令history、命令快捷键、命令别名
3.bash的两种执行方式?
单条命令
Shell Script -->一个文件 ---->包含的全部都是 命令
4.bash基础语法?
命令 选项 参数
5.bash特性?
1.tab键 最多最广泛
2.快捷键 ctrl+c,l,w a,e,u,k,r,z
3.历史记录 history
4.命令别名 alias unalias
5.bash帮助手册 man --help