一:什么是Shell shell 是人机交互的接口,是人与机器沟通的桥梁 shell 是一个脚本解释器(脚本语言) shell 是一个主流的Linux内核与用户交互的程序 内核: 1. 识别并管理硬件 2.用来调度硬件资源给到软件使用 内核执行的指令,来自于shell程序的翻译,shell程序将人提供的指令翻译成内核的语言,交给内核解释执行(因此通常将shell称为解释器) 二:shell的种类: ksh csh bash shell /bin/bash /bin/sh /usr/bin/sh /usr/bin/bash 主流Linux所使用 cat /etc/shells 查看系统中的shell程序 bash shell 更加符合人的习惯,是因为 bash shell 它的语法更加宽松和适用于人的编写命令的习惯 三:bash shell的功能: 1.历史记录: history 历史全部保存在当前用户的家目录下一个名为 .bash_history history -w 将内存中的历史写入到文件中进行保存 history -c 清除内存中的历史记录 如果要彻底清除历史记录 echo > ~/.bash_history 清空该文件 2.管道和Tab 键、重定向 bash-completion 给bash shell提供了tab的能力 3.各种快捷键 ctrl+A 把光标移动到命令行开头 ctrl+E 把光标移动到命令行结尾 ctrl+C 强制终止当前的命令 ctrl+L 清屏,相当于 clear 命令 ctrl+U 删除或剪切光标之前的命令 ctrl+K 删除或剪切光标之后的内容 ctrl+Y 粘贴 ctrl+U 或 ctrl+K 剪切的内容 ctrl+R 在历史命令中搜索 ctrl+D 退出当前终端 ctrl+Z 暂停,并放入后台 ctrl+S 暂停屏幕输出 ctrl+Q 恢复屏幕输出 4.文件的通配符 常用的通配符: *– 匹配0或者多个字符 ? – 匹配任意单个字符 [0-9] – 匹配0-9范围内的数字 [abc] – 匹配该列表内的任意字符 [^abc] – 匹配除列表内字符外的所有字符 不常用: [:alpha:]:匹配字母(不区分大小写) [:lower:]:匹配小写字母 [:upper:]:匹配大写字母 [:digit:]:匹配数字 [:space:]:匹配空格 [:alnum:]:匹配任意字母或数字 [:punct:]:除空格和字母、数字以外的任何可打印字符 在shell命令行中使用特殊通配符时需要使用括号来作为一个整体 ls [[:alpha:]].txt 匹配单个字母无论大小写以点txt结尾的文件 5.命令的扩展符号 ~ 表示用户的主目录 命令的执行符号: 可以在命令之中引用命令的执行结果 $() 表示引用命令的执行结果 ``(不是单引号,不是单引号,不是单引号)该键在esc的下面 大括号:用来表示一个范围 touch file{1..10} touch test{a..e} touch {1..10..2}.txt 支持指定步长 如果大括号内的元素不连续? touch {abc,456,cvb,789}.txt 不连续时括号内使用逗号分隔元素