Oldboy-Day02:Bash基础

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快照


Oldboy-Day02:Bash基础_第1张图片

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

系统有很多内置的别名


Oldboy-Day02:Bash基础_第2张图片

1.设置别名(临时生效)

alias wk='cat /etc/sysconfig/network-scripts/ifcfg-ens32'

2.取消别名(临时生效)

[root@oldboy ~]# unalias wk

3.永久添加别名.....  比如: oldboy --实际执行-> ls -l /

在/root/.bashrc文件中添加


Oldboy-Day02:Bash基础_第3张图片

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

你可能感兴趣的:(Oldboy-Day02:Bash基础)