Shell基础知识

在Linux发行版本种Red Hat/Centos 默认安装的shell版本是bash
下面介绍bash的一些特点

history:记录命令历史
只有当用户正常退出当前shell时,在当前shell中运行的命令才会被记录并保存在.bash_history
!! :表示执行上一条指令
!n:表示执行命令历史中的n条命令 n为数字
!字符串:例如输入!pw 就是执行命令历史中最近一次以pw开头的命令

Tab:命令和文件名补全
联系按两次tab键,系统则会把所有的命令或者文件名都列出来

alias:别名
通配符
在bash中可以用*来匹配零个或多个字符,用?来匹配一个字符

输入/输出重定向

输入重定向的命令是<
输出重定向的命令是>

管道符 | 用于将前一个指令的输出作为后一个指令的输入、

作业控制
当运行进程时,你可以使他暂停 ctrl+z 组合键、然后使用fg命令恢复它,或者使用bg命令让它后台运行
亦或者是ctrl+c终止它
jobs 显示后台程序或被暂停的任务

变量

env命令 :列出系统预设的全部系统变量
set 命令: 显示系统预设变量和用户自定义的变量
自定义的变量只能在当前shell生效

设置变量的格式为a=b,其中a为变量名,b为变量的内容。等号两边不能有空格
变量名只能由数字、字母以及下划线组成,而且不能以数字开头
当变量内容带有特殊字符时(如空格)需要加上单引号
在这里插入图片描述
如果变量本身带单引号,这时候就需要加双引号了
,如果变量内容中需要用到其他命令,运行结果则可以使用反引号
在这里插入图片描述
当用户在使用双引号的时候,不会取消掉双引号中特殊字符本身的作用,而使用单引号时里面的特殊字符将全部失去其本身的作用
在父shell中设定变量后,进入子shell时该变量是不会生效的,如果想让这个变量在子shell中生效,则要用到export指令
export就是声明一下这个变量,让该shell的子shell也知道变量的值 如果取消某个变量直接输入unset 变量名即可

系统变量与个人环境变量的配置文件

/etc/profile :这个文件预设了几个重要的变量,例如PATH 、USER、LOGNAME、MAIL、INPUTRC、HOSTNAME、umask等
/etc/bashrc :这个文件主要预设umask和PS1。这个PS1就是我们输入命令前面的那串字符

在这里插入图片描述
.bash_profile:该文件定义了用户个人化路径与变量的文件名称,每个用户都可以使用该文件输入专属于自己的shell信息,当用户登录时,该文件仅仅执行一次

.bashrc:该文及包含专属于自己的shell的bash信息,可以将用户自定义的别名或者自定义的变量写道这个文件中
,bash_history :该文件用于记录历史命令
.bash_logout_:当退出shell时,会执行该文件。你可以将一i些清理工作放到这个文件中

Linux shell 特殊符号

*代表零个或多个字符
?只代表一个任意的字符
#表示注释
脱意字符 \ 这个字符会将后面的特殊符号还原为普通字符
wc -l :统计文档行数

cut 命令:截取某个字段
格式cut -d ‘分割字符’[ -cf] n
-d:后面跟分割字符,分割字符用单引号括起来
-c:后面接第几个字符
-f:后面接的是第几个区块
在这里插入图片描述
sort 命令用作排序
格式 sort [-t 分隔符] {-kn1,n2 } {-nru}
sort不加选项就是从首字符向后一次按ASCII码进行比较,然后生效输出
-t:后面跟分割符
-n:使用纯数字进行排序
-r:表示反向排序
-u:表示区重复
-kn1,n2:表示由n1区间排序到n2区间,可以只-kn1,对n1进行排序

wc命令
用于统计文档的行数、字符数或词数
-l:统计行数
-m:统计字符数
-w:统计词数
如果wc不跟任何选项,直接跟文档则行数、词数和字符一场输出

uniq 命令用来删除重复的行 -c 表示统计重复的行,并把行数写在前面
使用uniq命令前要先使用sort命令排序

tee命令:类似重定向> 即使把文件写入后面所跟的文件时,还显示在屏幕上

tr命令 用于替换字符 把小写变为大写 tr ‘[a-z]’’[A-Z]’
在这里插入图片描述
命令split 用于切割文档
-b:依据大小来分割文档,单位为Byte
如果不指定文件名,则会以xaa,xab这样的文件名来存取切割后的文件

-l:依据行数来分割文档

特殊符号 $
符号 可 以 用 作 变 量 前 面 的 表 示 符 , 还 可 以 和 ! 可以用作变量前面的表示符,还可以和! 结合
表示执行上一条命令中的最后一个变量

特殊符号;
如果在一行中运行两个或两个以上的命令可以在中间加上分号

特殊符号 ~ 表示用户的家目录
特殊符号& 如果想把一个命令放到后台执行则需要加上&

中括号[]
中括号内为字符组合 ,代表任意一个 可以用-连接

特殊符号&& 和||
&&表示只有第一条命令成功才可以继续执行下一条

|| 表示只有第一条命令执行错误才可以执行下一条

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值