RHCE课程之四

shell及环境变量简介

Kernel
系统内核用于在计算机启动时载入基本内存、 管理基本输入输出、管理进程初始化和进程的调度。
Shell
系统的命令解释器,翻译成中文也就叫壳,外壳的意思,就是最表面的,用于操作系统与用户的通信,相当于Dos中的command.com。Red Hat Linux 默认的shell 是Bash

想知道你的熊系统里有哪些Shell吗,可以用这个命令来完成:#cat /etc/shells

一个用户使用什么Shell 可以在 /etc/passwd中查看,可以看到在每一行的最后一行就是用户使用的Shell

nologin是个特殊的Shell,很重要

在Linux里有很多的变量,大致可分为3种:
环境变量
内部变量
用户变量

用户可以通过这些变量获得系统、环境的信息

环境变量相当于给系统或用户应用程序设置的一些变量, 具体起什么作用这当然和具体的环境变量相关。比如PATH, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到由PATH变量定义的目录中去查找.这个PATH和WINDOWS下面作用一样哈

在bash中有很多预定义环境变量
用户可以用set或env查询当前的环境变量

 

常用的预定义变量:
HOME:当前用户的主目录
PATH:当前用户的可执行文件搜索路径
LANG:程序应该使用的默认语言
PS1:行提示符

注意,我们系统中环境变量是很多的,但是我们需要注意的只要这几个,LINUX下面的变量名字基本都是大写字母

echo $变量名字来查看变量

echo $PATH 这是可执行程序的搜索路径

echo $LANG 当前语系

echo $HOME 当前用户主目录

echo $PS1 就是我们提示框的变量

用户变量是用户在编写shell过程中,可以在shell程序内任意使用和修改的变量。(以字母或下划线开头,通常字母是大写母)
赋值:变量名=变量值
获取变量值  ${变量名}
例:VAR=hellorhce  ;赋值        
echo ${VAR}       ;显示变量值

使用echo完成简单地输出
echo “hello  world”
VAR=“hello”
echo ${VAR} world

也可以使用printf来产生各种格式的输出
printf “hello\nworld\n”

read 从标准输入读取数据来为var1这个变量赋值
-p输出提示字符
read -p "Enter a filename: " FILE

这样就把一个用户输入的数据变成一个变量,在编程的时候可以转入下个动作。

history命令、BASH、快捷键

通过history命令可以查看用户使用过的历史命令,内存中记录的过往指令数根据环境变量中HISTSIZE而定(/etc/profile)

history表存储在内存中,在用户logout时会记录入用户主目录下的.bash_history文件中。在下次login时载入。预定的记录为1000条,这些都定义在环境变量中。

使用!来调用过往指令:
!l:重复执行上一条以l为首的指令

!!:重复执行上一条指令

!number:重复执行上一条在history表中记录号码为number的指令

!-number:重复执行前第number条指令

!$:表示获得前面命令行中的最后一项内容

可以用<ctrl+r>来在history表中查询某条过往指令

命令行表达式

命令行输出――“ ” 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义。
命令行输出――‘ ’ 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,不转义。
执行引用符――` ` 引用命令的执行结果

总结:
命令行输出――“ ”
将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义。
命令行输出――‘ ’
将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,不转义

数学运算――$[2*5 ]
在中括号内的表达式会被数学计算

eg: #VAR=$[2*5]

      #echo $VAR

      10

脱逸符――\
用于取消命令行中字符的特殊含义
用于表示一行未结束

 

命令行结束符――;

用于在一行内分隔两个独立命令,表示一行已结束,作用相当于回车键

eg: #pwd; ls �Cl

子shell激活――()
在小括号内的命令行表示激活一个子shell后在子shell中运行

 

还有两个逻辑语符号&&和||
shell命令行支持在同一行的两条命令中插入&&(逻辑与)与  ||(逻辑或)
&&:当前一条指令执行成功时再执行后一条指令
  ||:当前一条指令执行失败时再执行后一条指令

eg: ls /home && echo true &&前面执行成功才执行后面

eg: ls /51blog || echo false ||  前面执行失败或者为假,才执行后面的命令

定制登陆shell

bash 在用户登录时从四个文件中读取环境设定:
全局设置文件:
     ① /etc/profile 
     ② /etc/bashrc
用户设置文件: 

     ③ ~/.bash_profile
     ④ ~/.bashrc\

 

在shell下键入alias可以查询当前alias列表。
用户可以alias来为一条命令取一个简单的别名
用户也可以用unalias来取消一条别名记录。
alias记录在shell中总是先行。

常用快捷键

Ctrl + d:输入已结束。在shell下相当于一个exit
Ctrl + c:键盘中断请求。
Ctrl +s &Ctrl + q:暂停/恢复屏幕输出
Ctrl + l:清屏,相当于clear。
Tab:自动补完命令行与文件名
Tab键双击: 可以列出所有可能匹配的选择
Ctrl+u: 删除当前光标前的所有字符
ctrl+k: 删除当前光标后的所有字符

运行tree / 这个命令,然后 用Ctrl加s,q 和c 看看效果

ctrl+s暂停屏幕输出

你可能感兴趣的:(职场,课程,休闲,rhce,rhce,RHCE课程)