此图反映了shell所在的位置与作用。

既然Shell与KDE和application等都是用户与Kernel的接口,那为什么还要学习呢?书中也给出了答案。

通用性,可以这样理解,也就是所谓的跨平台机制。这个跨平台非windows,linux这种跨平台,是跨套件管理模块。

简单快捷  远程的时候毕竟文字传输肯定比桌面联机操作要快得多。

装逼:右键 复制粘贴  跟ctrl+c/v跟在dos下进行处理。你懂得。是不是dos下处理会让人看起来更  我擦  一些。

 所有的shell文件都存放在/etc/shells档案目录中。

bash是Linux预设的shell。通用shell,就上上面第一条所谓的通用性的由来。所有的Linux系统都会有这玩意。所以通用喽

就类似于所有电脑都装个jvm,所以java就通用了,一样的道理

Bash shell的功能

1   命令编修功能  按上下键,以前适用的命令都会进行记录加载

2   命令与文件补全功能。 【Tab】按键,将剩余的命令进行补齐。你要是脑子记不住的话,可以长按

3  命令取别名   很多常用命令,你记不住的话,那就起个别名。比如 给  ls-al取个叫lm的别名   alias lm='ls -al'

4  工作控制,前景背景控制。打开的东西太多的话,避免按键出错

5  程序化脚本  类似于批处理文件

6 通配符  【ls -l /usr/bin/x*】那个*就是通配符。将首字母带x的都给我列出来

变量  普通变量 环境变量  都是变量

echo来读取变量   echo $PATH  

变量的设定规则。直接截图吧,不写了

注意的几点

1 不能有空格。有空格要加双引号   name="xxxxx xxxx"

2 单引号双引号必须成对出现,如果必须单个单引号出现,需要用\来转义

3 累加  PATH=${PATH}:xx/x//xx

4 增加内容  name=${xx}xxxx追加xxxx

5 子程序与父程序的问题。 如下图实例

首先定义name ,在负shell中设置name=AAAAA。然后bash进入子shell,读取这个变量,他的内容时空的,就是第一个框,白色部分。如何让子shell能够读取到父shell中的变量,就需要export命令,让他变成一个全局变量,书中说转换成环境变量。然后才能在子shell中读取到父变量。图中最后一个框中的AAAAA被打印出来

取消变量名unset name

获取当前用户系统的环境变量

用  env  命令来获得。

具体介绍如下图:

set命令观察所有变量(包含环境变量和自定义变量)

 

 PS1  设定命令提示符

 

红框位置就是设定后的命令提示符

$:(关于本shell的PID)

echo $$ 获得本shell的PID的值

? 关于上个执行指令的回传值

判断指令是否执行成功。一般执行成功会返回0,执行失败会返回错误代码。这个?就可以获取这个代码

,红框就是上面命令错误之后的返回代码。可以根据这个代码来查找错误原因

export 自定义变量转换成环境变量

自定义变量只适应于本shell。尤其是用在父子shell中时,如果子shell定义了变量,父shell是无法获取的,要想父shell获取到子shell的变量值,就需要将该变量置成环境变量。export命令的

 locale 本地编码

本地编码的资料文件都存储在/usr/lib/locale/目录中

转换本地编码,如下图例

 

posted on 2019-07-11 10:35  孤独斗士  阅读(293)  评论(0编辑  收藏  举报