Linux菜鸟笔记——BASH(三)

来源:互联网 发布:js怎样隐藏鼠标指针 编辑:程序博客网 时间:2024/06/15 14:29

实验环境:Ubantu  16.04


一、路径与命令查找顺序

type -a echo #打印出来的信息中,从上到下表示执行命令的优先级由高到低

 

二、bash的登录与欢迎信息

1、登录前的信息修改:


vim /etc/issue

vim /etc/issue.net #通过telent登录时显示的信息

 

2、登录后的欢迎信息修改:

vim /etc/motd

 

三、bash的环境配置文件

 echo $PATH

echo $USER

echo $PS1


1、用login shell登录:

(1)执行下面几个文件:(所有的用户都一样)

/etc/profile #设置全局的环境变量

/etc/inputrc #处理键盘映射

/etc/profile.d #

(2)进入家目录,然后执行.bash_profile这个文件:(每个用户都有一个.bash_profile


. ~/.bashrc #.等同于source

 

 

四、终端机的环境设置

 

1、查看bash支持的所有快捷键:

stty -a

 

比如Ctrl+?是清除键盘输入的内容。


2echo一个变量时,如果变量没有定义,则提醒:

set -u

取消这个提醒:

set +u

 


3、每执行一条命令,都会回提示信息(常用于写脚本时debug):

set -x

取消这个提醒:

set +x

 

 

五、通配符与特殊符号

1、[]表示匹配一个字符:

[a-z] #表示匹配az中的任意一个字符

[0-9] #表示匹配09中的任意一个字符

[a\-z] #表示匹配a-z这三个字符中的任意一个

[!0-9] #表示匹配非09之间的任意一个字符

 

例:

ls [a-z]?[0-9]* #列出文件名第一个字符为a-z,第三个字符为数字的文件

 

2?表示匹配任意一个字符

 

3*表示匹配任意个字符

 

4>

date > abcd #将输出结果存到abcd这个文件中,如果文件不存在则创建

cal > abcd #>是覆盖覆盖保存,之前的内容会被清空

 

5>>

ifconfig eth0 >> abcd #将输出结果存到abcd这个文件中,如果文件不存在

#>>不会把之前的内容清空

 

62>2>> 

> >>只导入正确的命令结果, 2>2>>只导入错误的 #命令结果,&>&>>导入正确、错误的命令结果


7<<< #

类比>>>

 

8、多个命令用;隔开

date ; cal

终端中每执行一条命令,都会将执行结果放到一个寄存器中,可通过echo $?查看,命令正确执行则结果为0,否则结果为非0值。


9、命令1 &&命令2

如果命令1执行结果为真,则继续执行命令2

如果命令1执行结果为假,则不执行命令2

  

10、命令1 ||命令2

如果命令1执行结果为真,则不执行命令2

如果命令1执行结果为假,则执行命令2

 





j