bash初认识(1)

.硬件,内核与shell

硬件:指的是电脑主板一类的东西,电脑系统中的实体工

内核:控制硬件进行工作,可以形象理解为cpu的大脑,在硬件之上

shell:人机交互界面,用于将人输入的指令传送给内核,让其工作

  shell存在的意义:linux操作系统是一组软件,负责管理整个和监测整个系统,如果用户操作不当,容易造成计算机的一系列问题,所以shell保护计算机,人通过shell来指挥计算机

   合法的shell存放在了/etc/shells的文件里,为什么要放到这个文件中?是因为系统在运行某些服务的时候,会去检查用户所能够使用的shell,而这些shell就放在了/etc/shells这个目录里。

      用户什么时候可以使用shell?用户在登录的时候,系统会给一个shell来让用户工作,登录取得的shell存在与/etc/passwd这个文件里.

二.bash shell的功能

命令记忆的功能:

  在主文件.bash_history中,会存放这上几次登录使用的命令,本次所使用的命令都被放在了临时缓存中,等到本次登录注销后才会放到~/.bash_history

命令补全的功能:tab键所提供的功能

命令别名重置功能(alias):

可以听过alias命令给一个命令起名字,有点类似与C语言中的typedef的功能,

格式:alias 新名字=旧名字

alias myls=ls

脚本程序的编写:shell等脚本语言

通配符:正则表达式进行筛选文件内容

三命令的
 命令分为外部命令和内部命令

 外部命令:bash没有提供的命令

 内部命令:bash提供的命令

 可以通过type查看文件命令:

[root@westos etc]# type cd
cd is a shell builtin
命令 可以分行执行,我们必须在每一行的末尾写入\[Enter],此时命令行自动跳转到下一行,等待我们的输入

[root@westos etc]# ls \
> /
backups  boot    dev  etc   lib    lost+found  misc  net  proc  sbin  selinux  sys    tmp  var
bin      cgroup  dvd  home  lib64  media       mnt   opt  root  SD    srv      test1  usr
总结shell变量执行的过程:

1.我们成功登录

2.此时操作系统根据/etc/passwd的设置给我们一个shell

3.我们可以输入命令执行

四shell的变量功能

变量非为自定义变量和环境变量,自定义变量小写字母表示,环境变量大写字母表示。

什么是环境变量?当我们执行一条命令的时候,计算机就会根据PATH变量的里面设置的路径去看是否有该命令存在,如果该命令存在,则则行,否则就输出命令没有找到。PATH就是环境变量,当我们登录用户之前,系统需要载入的一些值进行初始化,这些值就叫做环境变量。

输出一个变量:echo ${变量名字}或者 echo $变量名字

[root@westos etc]# ls \
> /
backups  boot    dev  etc   lib    lost+found  misc  net  proc  sbin  selinux  sys    tmp  var
bin      cgroup  dvd  home  lib64  media       mnt   opt  root  SD    srv      test1  usr
初始化一个变量:变量=内容(注意不能有空格)
[root@westos etc]# my=woyaoqufeizhou
[root@westos etc]# echo $my
woyaoqufeizhou
变量名使用的规则:

1.变量名是数字和字符组成,且不能是数字开头

2.若给变量名赋值时,其中有特殊符号时,需要用双引号或者单引号将其括起来

双引号和单引号的区别:

   单引号仅仅表示一串字符,双引号内容若含有$符,则会执行后将相关的数据输出

3.通过export 变量名  可以将用户变量变成环境变量

4.可以通过转义字符输出引号‘  空格等特殊字符

变量名的取消: unset 变量名

在变变量名后添加变量:

[root@westos Desktop]# name="name"
[root@westos Desktop]# name=${name}:yes
[root@westos Desktop]# echo $name
name:yes
[root@westos Desktop]# 
引用变量的方式:${变量名}或者$变量名

单引号和双引号的区别:

[root@westos Desktop]# name2="$name"
[root@westos Desktop]# echo name2
name2
[root@westos Desktop]# echo $name2
name:yes
[root@westos Desktop]# name3='$name'
[root@westos Desktop]# echo name3
name3
[root@westos Desktop]# echo $name3
$name
反单引号:在一串命令中,反单引号其中的命令最先执行







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值