Linux---1.09.shell
-
shell本身是命令行解释器,也是一个编程语言 解释性语言
-
echo "hello world!" # 单引号双引号都可以
- -e 支持反斜线字符转换
- \ 输出\本身
- \a 警告音
- \b 退格键 左删除
- \c 取消输出行末的换行符 和-n选项一样
- \e escape键
- \f 换页符
- \n 换行符
- \r 回车键
- \t 制表符 也就是tab键
- \v 垂直制表符
- \0nnn 八进制输出
- \xhh 按16进制输出
- -e 支持反斜线字符转换
-
在shell脚本中 #!/bin/bash 是标识 这个是shell脚本 不能省略
-
一定要写注释,甚至分程序段也要写
-
调用脚本的三种方式 ./xx.sh 绝对路径 bash xx.sh 第三种方式不用赋权限
-
cat -A xx.sh 可以查看shell脚本的全部内容,包含隐藏内容!
-
dos2unix xx.sh 把windows下编辑的脚本改成linux下的 unix2dos是相反的命令
-
-
Bash的基本功能
-
history 查看历史命令 退出重启后才能看到新输入的命令
- history 【选项】【历史命令文件】
- -c 清空历史命令
- -w 把历史命令写入历史命令保存文件 .bash_history(家目录下) 这种写法以前不知道 ~/.bash_history就是家目录下的历史文件
- 默认保存1000条历史命令 可以在环境变量配置文件 /etc/profile中修改这个参数
- !字符串 !! !数字 三种方式
-
alias 别名
- alias 别名="原命令" 一定要加引号
- 让别名永久生效 就需要写入配置文件 vi /root/.bashrc
- unalias 删除别名
-
Bash常用快捷键
-
标准输入输出
- 键盘 /dev/stdin 0 输入
- 显示器 /dev/stdout 1 输出
- 显示器 /dev/sdterr 2 错误输出
-
输出重定向
-
命令 > 文件 以覆盖的方式 把命令的正确输出,输出到指定的文件或设备当中。
-
命令 >> 文件 以追加的方式,把命令的正确输出,输出到指定的文件或设备当中。
-
命令 2> 文件 以覆盖的方式 把命令的错误输出。。。。
-
命令 2>> 文件 以追加的方式 把命令的错误输出。。。
-
命令 > 文件 2>&1 以覆盖方式 把正确和错误都保存到一个文件
-
命令 >> 文件 2>&1 以追加的方式 把正确和错误都保存到一个文件
-
命令 &> 文件 以覆盖方式 把正确和错误。。。
-
命令 &>> 文件 以追加的方式 把正确输出和错误输出都保存到一个文件当中
-
命令 >>文件1 2>>文件2 把正确的追加到文件1 把错误的追加到文件2
-
命令 &>/dev/null 相当于执行结果都放进垃圾箱
-
-
输入重定向
- wc 【选项】【文件名】 命令<文件
- -c 统计字节数
- -w 统计单词数
- -l 统计行数
-
多命令顺序执行方式
- ; 命令1;命令2; 多个命令顺序执行 命令之间没有任何逻辑关系
- && 逻辑与的关系 命令1正确执行 命令2才会执行
- || 逻辑或的关系 命令1执行不正确 命令2才会执行 反之同样~
- dd if=输入文件 of=输出文件 bs=字节数 count=个数
- if 指定源文件或源设备
- of 指定目标文件或目标设备
- bs 指定一次输入/输出多少字节 即把这些字节看做一个数据块
- count 指定输入输出多少个数据块
-
管道符
- 命令格式 命令1|命令2 命令1的正确输出作为命令2的操作执行
- grep 【选项】 '搜索内容'/文件名
- -i 忽略大小写
- -n 输出行号
- -v 反向查找
- --color=auto 把搜索出的关键字用颜色显示
-
通配符
- ? 匹配一个任意字符
-
- 匹配0个或任意多个字符 也就是可以匹配任何内容
- [] 匹配中括号中任意一个字符
- [-] 匹配汇总括号中任意一个字符 -代表一个范围
- [^] 逻辑非 代表匹配不是中括号内的一个字符
-
其他特殊符号
-