shell基础知识

1.1什么是shell

1.2记录历史命令

!!:连续的两个!!表示执行上一条命令
shell基础知识_第1张图片
!n :是执行历史记录的第n条
shell基础知识_第2张图片
!+ 字符串(字符串大于1):表示执行最近以xx开头的命令
在这里插入图片描述

1.3命令补全

输入完开头相关字符后按Tab即可将相关存在的命令补全。

1.4别名

我们可以通过使用alias来使一格复杂难记忆的命令更改为自己觉得容易简单的命令

alias 别名命令 = ‘具体命令’shell基础知识_第3张图片

1.5通配符

在bash下可以使用*来匹配多个字符
可以用?来匹配一个字符

在这里插入图片描述

1.6输入输出重定向

输入重定向是<
输出重定向是>
用法较多的是 echo ‘123’ > test.1
一个>或<是覆盖内容
两个>或<是追加内容

shell基础知识_第4张图片

1.7管道符

它用于将前面的指令输出给后一个指令
在这里插入图片描述
wc -l 是统计行数的多少

1.8控制命令

当你进行操作的时候可以使用Ctrl+z或者Ctrl+c中止进程,然后使用命令fg恢复进程,或者使用bg命令使进程进入后台进行

2.0变量

坏境变量是shell的一个预设变量。通常,shell预设的变量都是大写的。linux系统环境变量,主要分为2种。一个是系统变量(针对任何用户和环境都试用的) ,还有一个是环境变量可以针对不同的用户和不同的shell环境的变量。用echo命令显示变量的值

shell基础知识_第5张图片
一般变量有以下(度娘查找的)

变量名称 作用
HOME 用户家目录
SHELL 用户使用shell解释器名称
HISTSIZE 输出历史命令记录条数
HISTFILESIZE 保存历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器

系统环境变量的配置文件,可以查看/etc/profile文件里面记录
shell基础知识_第6张图片

2.1命令env

可以用命令env或者set查看环境变量,set和env的区别在set命令显示当前shell的变量,包括当前用户自己的设置的变量;env命令显示当前用户的变量
shell基础知识_第7张图片
执行bash命令时,会进入一个子shell环境中。

设定变量的格式为a=b,其中a为变量名,b为变量的内容,等号两边不能有空格
变量名只能由字母、数字以及下划线组成,而且不能以数字开头
当变量内容带有特殊字符时(如空格),需要加上单引号。

在这里插入图片描述
如果内容本身带有单引号,则需要用到双引号
在这里插入图片描述
如果变量里面需要用的变量,则需要使用反引号

在这里插入图片描述
变量内容内可以累加其他变量的内容,但需要加双引号
在这里插入图片描述

3.0Linux shell 中的特殊符号

比如通配符‘*’,代表零个或多个字符或数字。

3.1 *代表零个或多个字符

在这里插入图片描述

3.2 ?代表一个字符

shell基础知识_第8张图片

3.3注释符#,注释符#后面的内容都会被忽略

在这里插入图片描述

3.4命令cut

cut是用来截取某一个字段,其格式为cut -d ‘分隔字符 [ -cf ] n(n是数字)’
-d:后面跟分隔字符,分隔字符要用单引号括起来
-c:后面接第几个字符
-f:后面接的是第几个块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-c后面可以是1个数字n,也可以是一个区间n1-n2,还可以是多个数字n1、n2、n3
在这里插入图片描述

3.5 命令sort

sort命令用作排序,其格式为sort [-t 分隔符] [ -kn1,n2] [ -nru]这里n1和n2是指数字。
-t:后面跟分隔符,作用跟cut一样
-n:表示用纯数字排序
-r:表示反向排序
-u:表示去重复
-kn1,n2:表示由n1排序到n2区间,可以只写kn1,既对n1字段排序
如果sort不加任何选项,则从首字母开始按ASCII码进行比较,最后将他们按照升序输出。

在这里插入图片描述

3.6命令wc

wc用来统计文档的行数(-l)、字符数(-m)和词数(-w)。
如果wc不跟任何选项,直接跟文档,则将会把词数、行数和字符数全部打印出来。
shell基础知识_第9张图片

3.7命令uniq

uniq命令用来删除重复行,一般和-c一起用,它表示它统计重复的行数,并把行数写在前面。而且使用uniq前必须排序,否则不管用。

3.8命令tee

tee后面跟文件名,其作用类似重定向>,但是他多一个功能,它会将命令后面的内容显示在屏幕上。
在这里插入图片描述

3.9命令tr

tr命令用于替换字符,常用来处理文档中出现的特殊符号,如DOS文档中的^m
-d:表示删除某个字符,后面跟要删除的字符
-s:表示删除重复的字符
te命令也可以把小字母替换成大字母

在这里插入图片描述
也可以只替换一个字符
在这里插入图片描述

3.10命令split

split用于切割文件,常用-l和-b
-b:表示依据大小来切割,单位是Byte
-l:表示依据行数来切割

3.11特殊字符$

!$执行上一条命令的参数

3.12特殊符号;

可以一次运行多个命令,只要用;隔开就行

3.13特殊符号&&和||

一般有以下三种情况:
command1 ;command2
command1 && command2
command1 | | command2
使用 ; 时,不管command1是否执行成功,都会执行command2
使用&&时,只有command1执行有成果,才会执行command2,否则command2不会执行
使用||时,command1执行成功则command2不执行,command1执行失败时则执行command2。

3.15

vmstat查看缓冲信息 vmstat 1 每一秒显示一次信息
tail -f > /tmp 查看bg信息

你可能感兴趣的:(shell基础知识)