记 Linux 学习知识总结 -- 寒江老师视频(七) - SHELL 讲解

shell

命令行解释器,是用户与系统沟通时的媒介

unix 系统中有各种shell,linux采用bash为其默认shell

系统可以使用的shell记录在 /etc/shells中

bash:Bourne Again Shell的缩写

支持命令行输入,操作历史查询,快捷键,使用变量等功能


预订系统变量

查看变量值 echo $+变量名 = echo ${变量名} 推荐使用第二种


unset + 变量名 删除变量


系统通过预定义环境变量来定义shell的环境

用户可以用set或env查询当前环境变量:env只查看环境变量,set系统和环境变量都可以

常用预定义环境变量:

home:当前用户主目录

path:当前用户可执行文件搜索路径

lang:程序应该使用的默认语言

ps1:行提示符

PS1参数的介绍

\u 当前用户账号

\h 仅列出主机名的第一个名字 \H列出全名

\W 显示当前目录的最后一个文件名称  \W 显示完整路径

\# 显示命令条数

\A 显示时间 点

界面提示符可以更改:PS1='[\u@\H \W \A \#]\$'


export  可以将自定义的环境转换为环境变量


history:在bash中输入history指令可以查询用户过往的操作

内存中记录的过往指令数根据环境变量中historysize而定

history表存储在内存中,在用户logout时会记录入用户主目录下的.bash_history文件中,在下次login时载入


.bash_history中的指令数根据环境变量中的histfilesize而定


使用!来调用过往指令:

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

!a : 重复执行上一条以a为首的指令

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

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

!$:截取到上条指令的最后个参数


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


别名: alias 可以查看哪些命令使用了别名

设定别名 alias a='ls -al'

取消别名 unalias a

alias记录在shell中最先行


命令行表达式:

命令行输出 -- " "

将一串字符当成一个字符串来对待,如果字符串包含特殊含义的字符,则转义.

碰到$~\! 四个字符还是当做原先作用来用,不去转义它,不能转化为一般字符

echo "$PWD" = \root


命令行输出 -- ' ' 可以禁止所有特殊符号,包括$!~\


执行引用符 -- 会先执行引用符里面的命令

如ls -al 'pwd' = ls -al \root


数学运算 -- $[]

在中括号内会执行数学表达式的计算 如 echo $[1+4] = 5


逸脱符 -- \

用于取消命令行中字符的特殊含义

用于表示一行的结束

mkdir a b 建立了a ,b的两个目录

mkdir a\ b 建立a b一个目录


命令行结束符 -- ;

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

ls;pwd 先执行ls然后执行pwd


子shell激活 -- ()

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


shell命令行支持在同一行的两条命令中插入&&与||


&&:当前一条指令执行成功时再执行下一个指令

||:当前一条指令执行不成功时再执行下一个指令


默认情况下,在shell下改变变量,umask,alias,只在此次登录中有效.一旦logout后再login,则设定恢复初始值


一个通过登录而得到的shell,一般是用户初始shell

在登录shell下激活

bash 在用户登录时从四个文件中读取环境设定

全局设置文件:/etc/profile

        /etc/bashrc

用户设置文件:

~/.bashrc

~/.bash_profile

系统先执行/etc/profile 然后执行~/.bash_profile 再然后~/.bashrc 最后/etc/bashrc


ctrl+d 输入已结束,在shell下相当于exit

ctrl+c 键盘中断请求

ctrl+s & ctrl+q 暂停/恢复屏幕输出

ctrl+l 清屏,相当于clear

tab 自动补完命令行与文件名

tab建双击可以列出所有可能匹配的选择





你可能感兴趣的:(记 Linux 学习知识总结 -- 寒江老师视频(七) - SHELL 讲解)