CentOS之Shell基础
Linux默认的shell版本是bash.
我们所敲的命令都是有记录的;被保存在.bash_history文件中。只有当用户正常突出shell时,命令才会保存至.bash_history中。
!!:连续两个感叹号表示执行上一条指令
!n:这里的n是数字,表示执行命令中的第n条指令。
# history | grep 102 查看第102条命令
# !102 执行102条命令。
!字符串:例如!pw 表示命令中最近的一次以pw开头的命令。
别名:
# alias 查看所有的别名。
# alias gys='pwd' pwd命名成gys
# unalias gys 解除别名。
通配符
* 匹配零个或多个字符,?匹配一个字符。
ls gy* 匹配符合gy开头的所有文件和目录已级目录下的文件和目录
ls gy? 匹配符合gy开头的......
重定向
输出重定向 > 屏幕内容向文件填充
追加重定向 >> 屏幕内容追加到文件末尾
echo '123' >1.txt
echo 'gys' >>1.txt
管道符 | 前一个指令的输出作为后一个指令的输入
cat /etc/passwd|wc -l
作业控制
Ctrl+z 暂停
fg 恢复(foreground)
bg 到后台运行(background)
Ctrl+c 终止运行
jobs 查看当前被暂停或者在后台运行的任务
查看变量
# echo $PATH
# echo $HOME
# echo $PWD
#echo $LOGNAME
查看系统预设的全部系统变量 #env
set也可以查看系统预设变量,还可以查看用户自定义的变量
自定义变量
# myname=gys
# echo $myname
# set |grep myname
目前改变量只能在当前shell生效。
# bash 进入一个子shell环境
# echo $myname 无法展示到内容
# exit
如何让环境变量一直生效?
# echo "export myname=gys" >> etc/profile
# source !$
# bash
# echo $myname
# exit
# su - test
$ echo $myname
设置自定义变量有哪些规则
1)设置变量a=b,其中a为变量名,b为变量的内容,等号两边不能由空格
2).变量名只能由字母,数字以及下划线组成,而且不能以数字开头
3).当变量内容带有特殊字符(如空格)时,需要加单引号。
# myname='gy s'
4).变量内容中本身带有单引号,这时就需要加双引号。
# myname="gy's"
5).如果变量内容中需要用到其他变量,使用反引号
# myname=`pwd`
6).变量内容可以累加其他变量内容,要用双引号,不能用单引号。
# myname="$LOGNAME"gys
# echo $myname
rootgys