day17-20200622

p63.shell概述 功能1.命令解释器 应用-》shell命令解释器-》内核-》硬件 命令翻译成为内核可以识别的语言

shell就是写命令的界面

功能2.shell还是一个功能强大的编程语言。所见即所得。

shell可以直接调用linux命令。

sh :Bourne shell-bash shell
bash shell 是Linux的标准shell

【/etc/shells】可以查看支持的所有shell

p64.shell脚本执行方式 【echo 内容】输出内容 -e 支持反斜线字符转换 【echo abc】 【echo -e ab\bc】

echo也支持输出颜色 【echo -e "\e[1;31m fengyarong \e[0m"】 30m=黑色 31m=红色 32m=绿色等 用到了去查

shell脚本文件的开头 【#!/bin/bash 】shell的标注,并不是注释。 执行方式有多种,最常用的是【./文件名】 执行前需要给文件赋予可执行的权限 【chmod 755 文件名】

【dos2unix 文件名】讲Windows的格式转化成Linux 【yum -y install dos2unix】 linux文件中换行符是【$】 windows文件中换行符是【^M$】

p65.shell bash基本功能 历史命令 与 补全 【history】查看历史命令 -c 清楚历史命令 -w 把缓存中的历史命令写入历史命令保存文件 【~/.bash_history】 【/etc/profile】 修改历史命令保存的条数

最常用的还是上下键

【tab键】命令、目录和文件补全 加速命令打出来和保证命令正确。

p66.别名 与快捷键 【alias 别名 = '原命令'】 ll 就是 ls -l 的别名

命令执行顺序 绝对路径》别名》内部命令》环境变量 vi = vim 最好不要用已有命令覆盖原来的命令。

一般也不要命名别名吧 我觉得服务器是大家公用的,所有服务器都适用,最好使用原有的命令。

【vi /root/.bashrc】永久生效别名的话,需要修改配置文件。

【unalias 别名】删除别名

bash常用快捷键 【ctrl + c 】终止命令 【ctrl + l】清屏 【ctrl + u 】截切或者复制,光标前的命令 【ctrl + y 】粘贴 【ctrl + r 】命令搜索 【ctrl + d】退出当前终端

【ctrl + z】暂停当前命令,最好用【ctrl + c 】z用多了会导致系统越来越卡 后台进程运行过多

p67.输入输出重定向 输入重定向 【/dev/stdin】0 输出重定向 【/dev/sdtout】1 【/dev/sdterr】2 标准输入(键盘)和标准输出(显示器)

将输出的内容保存在文件中,就是输出重定向。 【命令 > 文件】覆盖输出 【命令 >> 文件】追加输出

【命令 2>文件】将报错的信息写入文件中,2与>不可以有空格 【命令 2>>文件】将报错的信息写入文件中

正确的输出和错误的输出分开存放是在现实工作中用处没有很大的,我们需要把正确错误的都输出道同一个文件。

需要先判断下是不是正确的命令。

将命令的正确和错误的结果放在同一个文件中,以下命令都可以。 【命令 > 文件 2>&1】覆盖 【命令 >> 文件 2>&1】追加

【命令 &> 文件】 【命令 &>> 文件】

这个用的比较多!!【命令 >>文件1 2>>文件2】命令正确存放在2 命令错误写入文件2

输入重定向,不通过键盘输入,通过文件输入。 用的不多,了解下就好啦。 【wc 选项 文件名】统计字节数

p68.多命令顺序执行与管道符 【命令1 ;命令2】没有关联 【 命令1 && 命令2】1成功,2才执行 【命令1||命令2】1成功了,2就不执行

【dd】数据复制、分区复制等特殊文件的复制 【dd if=输入文件 of =输出文件 bs=字节数 count=个数】 【date;dd if=/dev/zero of=/root/testfile bs=1k count=100000;date】

管道符 【命令1 | 命令2】 命令1的正确输出作为命令2 的操作对象

【netstat -an | grep 关键字】

非常有意思有用的命令!!!