Day10
shell基础:
一、什么是shell
解释:shell就是把你的命令比如ls,转换成机器语言比如01001,然后通过内核给到硬件,并把回执从0101转换成命令ls。也可以看做shell就是整个系统的操作界面。类似于win的图形交互界面。作用都是用来吸收用户的输入传输给内核,反之亦然。
同时shell也是一门编程语言,强大灵活。shell是解释,执行的脚本语言。在shell中可以直接调用Linux的系统命令。
二、查看系统支持哪些shell,一般都支持的(shell的分类自己查询) vim /etc/shells
注意:一般主流shell是bash shell
三、shell 的基本操作
1.进入shell 直接输入:sh
2.退出sell 直接输入:exit
四、shell的基本命令。
1.输出命令:echo 格式:echo 【选项】【输出内容】
选项:1.-e 支持反斜杠控制的字符转换。
注意:这个反斜杠字符转换的意思是,反斜杠或者反斜杠后面加内容,表示可以直接进行某些处理后操作输出。
比如 1.echo -e \\ 第一个\表示反斜杠输入,第二个斜杠表示输出反斜杠。所有输出内容如下图。
带颜色输出内容:格式 echo -e "\e[1;31m????\e[0m" 其中:31m 代表红色 ????代表输出的字符
颜色表:
五、写脚本与执行脚本。
写脚本:可以直接vi/vim 脚本名(最好用.sh结尾)
注意:第一行要写#!/bin/bas,然后后面可以#加注释。
执行脚本:1.给脚本赋予执行权限,然后通过绝对路径来运行。
2.通过bash执行脚本。注意:Linux中命令是没有大写的。
Bash的基本功能(Linux的标准shell的基本功能)
一、命令的历史跟补全
1.命令历史
命令:history 格式:history 【选项】
-c:清空历史命令。
-w:强制保存历史命令。(就是把缓存的历史命令保存到文件,~/.bash_history,一般要等用户退出才会保存。这个就是强制保存)
2.命令补全
命令:当你输入一部分命令后直接按TAB键,多次按还会把跟你输入的前缀相同的文件或命令全部显示出来。
注意:对于命令跟文件都有用。
二、命令别名与快捷键。
1.命令别名。(给命令取小名)。Linux系统默认别名比如。ll 是 ls-l 的别名。
设定别名命令:alias 格式 : alias 别名 = ‘原命令’
注意:空格。只有一个,就是alias后有个
查询别名命令:alias 直接输入
shell基础:
一、什么是shell
解释:shell就是把你的命令比如ls,转换成机器语言比如01001,然后通过内核给到硬件,并把回执从0101转换成命令ls。也可以看做shell就是整个系统的操作界面。类似于win的图形交互界面。作用都是用来吸收用户的输入传输给内核,反之亦然。
同时shell也是一门编程语言,强大灵活。shell是解释,执行的脚本语言。在shell中可以直接调用Linux的系统命令。
二、查看系统支持哪些shell,一般都支持的(shell的分类自己查询) vim /etc/shells
注意:一般主流shell是bash shell
三、shell 的基本操作
1.进入shell 直接输入:sh
2.退出sell 直接输入:exit
四、shell的基本命令。
1.输出命令:echo 格式:echo 【选项】【输出内容】
选项:1.-e 支持反斜杠控制的字符转换。
注意:这个反斜杠字符转换的意思是,反斜杠或者反斜杠后面加内容,表示可以直接进行某些处理后操作输出。
比如 1.echo -e \\ 第一个\表示反斜杠输入,第二个斜杠表示输出反斜杠。所有输出内容如下图。
带颜色输出内容:格式 echo -e "\e[1;31m????\e[0m" 其中:31m 代表红色 ????代表输出的字符
颜色表:
五、写脚本与执行脚本。
写脚本:可以直接vi/vim 脚本名(最好用.sh结尾)
注意:第一行要写#!/bin/bas,然后后面可以#加注释。
执行脚本:1.给脚本赋予执行权限,然后通过绝对路径来运行。
2.通过bash执行脚本。注意:Linux中命令是没有大写的。
Bash的基本功能(Linux的标准shell的基本功能)
一、命令的历史跟补全
1.命令历史
命令:history 格式:history 【选项】
-c:清空历史命令。
-w:强制保存历史命令。(就是把缓存的历史命令保存到文件,~/.bash_history,一般要等用户退出才会保存。这个就是强制保存)
2.命令补全
命令:当你输入一部分命令后直接按TAB键,多次按还会把跟你输入的前缀相同的文件或命令全部显示出来。
注意:对于命令跟文件都有用。
二、命令别名与快捷键。
1.命令别名。(给命令取小名)。Linux系统默认别名比如。ll 是 ls-l 的别名。
设定别名命令:alias 格式 : alias 别名 = ‘原命令’
注意:空格。只有一个,就是alias后有个
查询别名命令:alias 直接输入
三、输出重定向。
命令>文件名 以覆盖的方式,把正确的内容输出到文件中保存。
命令>>文件名 以追加的方式,把正确的内容输出到文件中保存。
命令2>文件名 以覆盖的方式,把错误的内容输出到文件中保存。
命令2>>文件名 以追加的方式,把错误的内容输出到文件中保存。
命令&>文件名 以覆盖的方式,把正确的、错误的内容都输出到文件中保存。
命令>文件1 2>文件2 以覆盖的方式,把正确的内容输出到文件1,错误的内容输出到文件2。
四、Linux的命令的执行顺序及管道符。
1.分号 ; 格式 :命令1;命令2。 这种命令1根命令2没有逻辑关系,直接顺位执行。
2.逻辑与 && 格式:命令1&&命令2. 这种需要命令1正确执行,才会执行命令2。
3.逻辑或 || 格式:命令1||命令2 这种需要命令1报错,才会执行命令2。
管道符:| 格式:命令1|命令2 作用:把命令1的结果作为命令2的作用对象。
举例:ls -l /etc|more 通过more的方式显示出etc目录下的文件及目录。
五、Linux中的搜索命令grep
命令:grep 格式:grep 【选项】搜索内容 解析:在文件中搜索符号条件的字符串。注意中文需要加引号。
选项:1.-i 忽略大小写。
2.-n 输出行号。
3.-v 反向查找。
4.--color=auto 把搜索出的关键字,用颜色显示。
实例:
①在/etc/passwd 文件中找出跟root相关的行。
六、通配符与特殊符号。
①.常见的通配符
1. ? 匹配任意一个字符。
2. * 匹配任意0个字符或一个字符或多个字符。也就是匹配任何内容。
3. [] 匹配[]中的任意一个字符
4. [-] 匹配[]中的范围,如[0-9],[a-z],就是匹配0-9任意一个或者匹配a-z任意一个。
5. [^] 匹配非括号中的内容,与上面刚好相反。比如[^a-k],匹配除了a-k之间的内容。
②.Bash中的其他特殊符号。
1.'' 单引号 在Linux中,单引号中的内容都没有意义。包括'$'、'`'及'\'。
2.“” 双引号 双引号跟单引号不同的是。'$'、'`'及'\'三者各表示调用变量值、引用命令、转义符。
3.‘’ 反引号 反引号里面的内容是系统命令,在bash中会先执行。跟$()一样。不过推荐用$()。
4.# 警号 在bash中表示注解。
5.$ 在bash中表示调用变量值,比如要调用name变量,就要写$name
6.\ 转义符 之前讲过。转义符后的内容将失去其含义,变为普通字符。比如$代表调用变量。但是/$就表示直接输出$符号。