反斜线用于命令换行,在之后应该直接回车换行
[root@CentOS7-1 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 > /tmp/ifcfg-ens33.bak
history可以列出历史命令,历史命令存放在家目录下的.bash_history隐藏文件中,存放的条数为HISTSIZE变量值,如果执行的命令超出了HISTSIZE变量值,.bash_history中较早的命令会被清除。
[root@CentOS7-1 ~]# echo $HISTSIZE 1000 [root@CentOS7-1 ~]# cat .bash_history systemctl status firewalld vi /etc/host vi /etc/hosta cd /etc ll *host* …… [root@CentOS7-1 ~]# history 1 systemctl status firewalld 2 vi /etc/hosts 3 vi /etc/host 4 cd /etc 5 ll *host* …… [root@CentOS7-1 ~]#
history -n表示显示近n条命令,history -w表示将目前的history写入.bash_history文件。
history输出的内容为两列,第一列为数字表示该命令在这个shell当中的代码,第二列为命令
!number:执行第number条命令,number即history显示的第一列的数值
!command:执行最近一个以command开头的命令
!!:执行上一条命令,相当于按↑后按enter
每个用户登录shell时,会先读取系统的shell配置/etc/profile,这个文件设置了所有用户的的整体环境,然后再读取用户个人环境配置。
用户的个人配置文件在其家目录下,主要有三个,分别为.bash_profile、.bash_logout、.bashrc,但是shell只会按照顺序读取这三个文件中的一个。
由于环境配置文件只在登录时读取,如果修改了配置文件,可以通过source ~/.bash_profile或者. ~/.bash_profile来使配置文件生效,而不需要注销用户再重新登录。
locale -a可查看系统支持的语言编码,也可通过echo $LANG查看当前使用的语言编码。
默认的语言编码的配置文件,在centos6中存放在/etc/sysconfig/i18n文件中,centos7中存放在/etc/locale.conf文件中。
[root@CentOS7-1 ~]# echo $LANG zh_CN.UTF-8 [root@CentOS7-1 ~]# cat /etc/locale.conf LANG="zh_CN.UTF-8"
?表示上个命令执行结果的回传码,一般来说,如果上个命令成功执行,则会回传一个0,如果执行发生错误,就会回传错误代码,即一个非0的数字。
[root@CentOS7-1 linux]# touch a.txt [root@CentOS7-1 linux]# echo $? 0 [root@CentOS7-1 linux]# cp b.txt c.txt cp: 无法获取"b.txt" 的文件状态(stat): 没有那个文件或目录 [root@CentOS7-1 linux]# echo $? 1 [root@CentOS7-1 linux]# 123=name bash: 123=name: 未找到命令... [root@CentOS7-1 linux]# echo $? 127 [root@CentOS7-1 linux]# echo $? 0
每一个$?只表示紧接着的上一个命令的执行回传码,上述最后一个是echo $?的回传码,该命令成功执行,因此回传码是0。
cmd1 && cmd2 如果cmd1正确执行则执行完毕后执行cmd2,如果cmd1无法正确执行则cmd2不执行
cmd1 || cmd2 如果cmd1正确执行则执行完毕后不执行cmd2,如果cmd1无法正确执行则执行cmd2