echo:
-n:取消输出后行末的换行符号
-e:支持反斜线控制的字符转换
echo -e "\a":输出警告声
echo -e "\e[1;31m abcd \e[0m":输出带颜色的信息
bash执行方法:
给bash文件添加执行权限,然后通过绝对路径来执行
给bash文件添加执行权限,然后通过相对路径来执行
通过 bash命令来执行bash文件
history:历史命令
-c:清空历史命令
-w:把系统缓存中的历史命令写入文件中,默认的历史命令保存文件:~/.bash_history中。(在用户注销时,系统会默认将历史命令写入文件中)
/etc/profile里设置了历史文件命令保存的条数
历史命令调用:
!n 重复第n条历史命令
!! 重复执行上一条命令
!字串 重复执行最后一条命令以该字符串为开头的命令
!$ 重复上一条命令的最后的参数
命令别名:
alias 查询命令别名
alias 别名=‘原命令’
别名永久生效:写入~/bashrc
命令执行优先级
使用绝对路径或相对路径
别名
Bash的内部命令
$PATH环境变量定义的目录去查找
source:
使shell读入指定的Shell程序文件并依次执行文件中的所有语句。(.)点命令,只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。
Bash常用快捷键:
ctrl+A:光标移动到命令行开头
ctrl+E:光标移动到命令行结尾
ctrl+U:删除或剪切光标之前的命令
ctrl+K:删除或剪切光标之后的命令
ctrl+Y:粘贴
ctrl+R:在历史命令中搜
重定向:
> 正确输出
>>正确输出追加
2> 错误输出
2>> 错误输出追加
< 输入重定向
<< 输入重定向,指定一个分界符号
多命令执行符号:
多命令执行符号 | 格式 | 作用 |
---|---|---|
; | 命令1;命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1&&命令2 | 当命令1正确执行,命令2才会执行,当命令1不正确执行,则命令2不会执行 |
|| | 命令1||命令2 | 当命令1正确执行,命令2不会执行,当命令1不正确执行,则命令2才会执行 |
wc:统计文本行数 字数 字符数
-c显示字符的个数
-w显示单词的个数
-l显示文件文本的行数
grep:grep [选项] “搜索内容” 文件名
-A 数字:列出符合条件的行,并列出后续的n行
-B 数字:列出符合条件的行,并列出前面的n行
-C 数字:列出符合添加的行,并列出前面后续的n行
-c :统计找到符合条件的字符串的次数
-i :忽略大小写
-n :输出行号
-v :反向查找
--color=auto 搜索出的关键字用颜色显示
find:在系统中搜索符合添加的文件名,用法:find 目录 选项 [-exec/-ok] command {} ;
-exec execute执行,直接执行后面的command,不用询问是否执行
-ok 执行后面的command会询问Y/N
{} 表示要执行的命令的参数即为找到的文件,命令末尾必须以 ; 结尾分号不能少
-name 按照文件名称查找
-perm 按照权限查找:-perm 755
-prune 使用此选项可以使find命令不在当前指定的目录中查找】
-type 查找某一类型的文件
type的选项
b 块设备文件
d 目录
c 字符设备文件
f 普通文件
p 管道文件
l 符号链接文件
-amin n 查找系统中最后n分钟访问的文件
-atime n 查找系统中最后n个24小时{即n天前}访问的文件
-cmin n 查找系统中最后n分钟被改变文件状态的文件
-ctime n 查找系统中最后n个24小时{即n天前}被改变文件状态的文件
-mmin n 查找系统中最后n分钟被改变文件数据的文件
-mtime n 查找系统中最后n个24小时{即n天前}被改变文件数据的文件
Bash中的特殊符号
pstree:查看系统进程树
Bash的变量和运算符
Bash中变量的默认类型都是字符串类型,若要进行数值运算,则必须指定变量类型为数值型
变量用等号连接值,等号两边不能加空格,若值字符串有空格,用单引号或双引号包括。
变量的叠加:test="demo"1234或test={demo}1234
变量分类
用户自定义的变量,只在当前shell中生效
环境变量:保存了和系统操作环境相关的数据,便于与命令区分,一般环境变量为大写。可以在子shell中生效
位置参数变量:主要用于向脚本当中传递参数或数据
预定义便变量:是Bash中已经定义好的变量,变量名不能自定义,作用也是固定的。
set:设置当前所使用 shell 的执行方式,同时也可以用来设置或显示 shell 变量的值。set [选项]
set -u 当执行时使用到未定义过的变量,则显示错误信息
set -x 在执行命令之前,会先将命令输出一次
set 查看变量的值,也可以查看用于自定义的命令
unset 删除变量名,unset -v 删除变量 unset -f 删除函数
PS1变量:命令提示符设置
\d 显示日期
\h 显示简写的主机名
\t 显示24小时制时间,格式”HH:MM:SS“
\u 显示当前用户名
\v 显示Bash版本的信息
# 执行的第几个命令
\w 显示当前所在目录的完整名称
$ 示符,root显示#,普通用户显示$
LANG 语系变量,定义了Linux系统的主语系环境。locale 可以查询当前系统支持的语系。
位置参数变量
预定义变量
接收键盘输入 read [选项] [变量名]
-p "提示信息" :在等待read输入时,输出提升信息
-t 秒数:read命令一直等待用户输入,使用此选项可以指定等待时间
-n 字符数:read命令只接受指定的字符数,就会执行
-s 隐藏输入的数据,适用于机密信息的输入
数值运算方法
使用declare声明变量类型,**declare [+/-][选项] 变量名
-:给变量设定类型属性
+:取消变量的类型属性
-a:将变量声明为数组类型
-i:将变量声明为整数类型
-r:将变量声明为只读变量。
-x:将变量声明为环境变量
-p:显示指定变量的被声明的类型
使用expr命令或let命令
dd=$(expr $1 + $2) +号两边必须有空格
dd=let b
$(())或$[] 括号里的内容要进行数学运算
dd=$(($1+$2))
export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。最终还是使用declare -x 实现。
变量测试与内容置换
登录时相关的环境变量配置文件
配置文件
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
启动过程
正常登录文件顺序加载过程
不正常启动(su命令切换用户)
其他配置文件
注销时生效的配置文件:用户退出登录时,会调用~/.bash_logout,这个文件默认没有写入任何内容
Shell登录信息:/etc/issue是Linux系统开机启动时在命令行界面弹出的欢迎语句文件,/etc/issue.net是ssh远程登录时在命令行界面弹出的欢迎语句文件。
定义Bash的快捷键
stty -a 查询所有的快捷键
stty 关键字 快捷键 更改快捷键