shell基础知识

本文介绍了Shell的功能,包括命令行解释、程序启动、输入输出重定向等,并详细讲解了变量的命名、赋值、删除及类型。还探讨了环境变量的设置和配置文件的作用。此外,文章列举了如`cut`、`sort`、`wc`等常用的Shell命令,以及重定向符号的使用。最后,提到了一些特殊的字符在Shell中的含义。
摘要由CSDN通过智能技术生成

shell的功能
(1)命令行解释功能
(2)启动程序
(3)输入输出重定向
(4)管道连接
(5)文件名置换
(6)变量维护
(7)环境控制
(8)shell编程

一、变量

(一)列出系统预设的全部系统变量:env

在这里插入图片描述

HOSTNAME:表示主机的名称
SHELL:   表示当前用户的shell类型
HISTSIZE:表示历史记录数
PATH:    决定shell将在哪些目录寻找命令或程序 
MAIL:    表示当前用户的邮件存放的目录  
PWD:     表示当前目录
LANG:    与语言相关的环境变量,多语言环境可以在此修改环境变量
HOME:    表示当前用户的家目录
LOGNAME: 表示当前用户的登录名

(二)不仅显示系统预设的变量,也可以显示用户自定义的变量:set

在这里插入图片描述
注意①:
允许系统内的所有用户登录后等使用某变量,在/etc/profile中添加export +想要使用的变量,运行source /etc/profile生效文件。
注意②:
仅允许当前用户使用某变量,在用户主目录下.bashrc文件中添加export +想要使用的变量,运行source .bashrc生效文件。

(1)变量命名的法则

设置变量格式为a=b,其中a为变量名,b为变量内容,等号两边不能有空格。
变量名只能由字母、数字、下划线组成,不能以数字开头。
当变量内容中有特殊字符(如空格)时,需要使用单引号。
当变量内容中有单引号时,需要使用双引号。
当变量内容为命令时,可以使用反引号。

变量引用

格式:
$name
${name}

强引用
'$name’强引用,其中的变量引用不会被替换为变量值,而保持原字符串.

弱引用
"$name"弱引用,其中的变量引用会被替换为变量值.
例:
在这里插入图片描述

(2)变量类型

变量的概念:命名的内存空间,将数据放在内存空间中,通过变量名引用,获取数据。

  1. 局部变量 :局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  2. 环境变量 :所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

(3)变量赋值

格式:name=‘value’
直接字串:name=‘root’
变量引用:name="$USER"

命令引用:name=COMMAND或name=$(COMMAND)

注意:变量赋值是临时生效,当退出终端后,变量会自动删除,无法持久保存,脚本中的变量会随着脚本结束,也会自动删除。字符串要用单引号或双引号引起来。
例:在这里插入图片描述

(4)变量删除

unset< name >
例:
在这里插入图片描述

二、变量配置文件

/etc/profile:预设重要变量。例如:PATH、USER、MAIL、INPUTRC、HOSTNAME、HISTSIZE、umask等

/etc/bashrc:主要预设umask和PS1。

.bash_profile:定义用户的个人化路径与环境变量的文件名称。当用户登陆时,该文件仅仅执行一次。

.bashrc:该文件包含专属于自己的shell的bash的信息,当登录或打开新的shell时,该文件会被读取。

.bash_history:记录历史命令

.bash_logout:当退出shell时,会执行该文件。

三、shell中的特殊符号

(一)*:代表零个或多个任意字符

在这里插入图片描述

(二)?:只代表一个任意的字符

在这里插入图片描述

(三)#:注释字符

在这里插入图片描述

(四)\:转义字符

将特殊符号转变成普通符号
在这里插入图片描述

(五)|:管道符

在这里插入图片描述

四、shell中常用命令

(一)cut:截取某一字段

-d:其后跟分隔符,分隔字符要使用单引号括起来。
-c:其后跟第几个字符。
-f:其后跟第几个区块。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(二)sort:排序

-t:其后跟分隔符。
-n:使用纯数字排序。
-r:反向排序。
-u:去重。
-kn1.n2:表示由n1区间排序到n2区间。

在这里插入图片描述

在这里插入图片描述

(三)wc:用于统计文档的行数、字符数和词数。

-l:统计行数
-m:统计字符数
-w:统计词数

在这里插入图片描述

(四)uniq:删除重复的行

-c:用于统计重复的行数,并把行数写在前面

在这里插入图片描述

(五)tee:把内容显示在屏幕上并重定向到文件中

在这里插入图片描述

(六)tr:替换,删除,去重字符,处理文档中特殊符号

-d:删除某个字符,
-s:删除重复的字符

将小写字母变成大写字母
在这里插入图片描述
替换某个字符
在这里插入图片描述

(七)split:切割文档

-d:根据大小切割文档,xa文件名用于存取切割后的文件,也可自定义。
-l:根据行数切割文档

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、重定向符号

>:重定向覆盖
>>:重定向追加
2>:错误覆盖重定向
2>>:错误追加重定向

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值