文档章节

【0917】Linux shell基础知识2

飞翔的竹蜻蜓
 飞翔的竹蜻蜓
发布于 09/18 10:32
字数 935
阅读 8
收藏 0

                                        【0917】Linux shell基础知识2

8.7/8.8 shell变量

8.9 环境变量配置文件

8.10 shell特殊符号cut命令

8.11 sort_wc_uniq命令

8.12 tee_tr_split命令

8.13 shell特殊符号

一、shell变量

1、使用env获取系统常用环境变量(名称通常为大写的英文字母)

2、set不仅查看系统环境变量,也可查看用户自定的环境变量

3变量名规则

字母、数字下划线,首位不能为数字:ming_05

4、变量的值有特殊符号需要用单引号:a=‘a b c’

5、变量的累加

6、全局变量

查看当前登录的终端。

使用pstree查看当前bash

设置全局环境变量时,先输入export 设置全局变量,则该bash下所有子bash都能使用该变量

7、unset + 变量名  取消变量

二、环境变量配置文件

1、两大维度:系统层次(etc),用户层次(~)

2、profile 用户登录时自动加载,bashrc执行脚本是,用户不需要登录,就会自动调用bashrc中的脚本。

3、bash_logout 用来定义用户退出时执行的操作,例如每次用户退出都要删除命令历史,将该命令放到bash_logout即可。

4、PS1变量设置,可设置登录时用户、主机名、当前目录的颜色、括号调整等。

三、shell特殊符-cut命令

1、特殊符号

(1)* :任意个任意字符

(2)?:任意一个字符

(3)# :注释字符

(4)\ :脱义字符

(5)| :管道符

2、管道符相关的命令

cut命令的作用就是截取字符串的,例如,使用管道符将/etc/passwd目录下的前两行打印出来,针对这两行指定切割符号切割,

-d指定分隔符号“:”,-f指定截取段号

-c指定第四个字符

3、sort_wc_uniq 命令

Sort排序时使用,使更直观的查看文档

(1)以首字字母a-z排序,默认按照ASCII码排序。即符号在前,然后是0-9,然后是大写字母A-Z,然后是小写字母a-z

(2)使用sort -n排序时,会默认字母、符号开头的文件,首字字符为0,使用sort -nr 则反序排序。

(3)sort -t 分隔符 针对第几段进行排序

(4)wc -l 统计行数

(5)wc -m 统计字符数

(6)wc -w 统计词 以空格做词的区分

(7)uniq去重,-c统计行数

一般都需要先排序,再去重

(8)tee命令与重定向>类似,不过重定向内容可以显示在屏幕

tee -a 追加

(9)tr 命令用来替换字符,针对字符来操作的

(10)split 切割

split -b 100M  针对大小切割(默认单位字节)

也可指定文件前缀名

split -l 1000  针对行数切割

四、shell特殊符号(下)

(1)多条命令使用“;”分隔

(2)> 一个大于号,正确重定向,会把之前文件覆盖

>>追加重定向,追加正确的内容输出

2>错误内容重定向

       2>>错误追加重定向,追加错误的内容输出

&>正确错误都重定向

(3)||和&&,用于命令之间的判断

|| 或者的含义 如果第一条命令执行不成功,则执行第二条,如果第一条命令执行成功,则第二条不执行

&&如果第一条命令执行成功了,才执行第二条命令,反之都不执行。

© 著作权归作者所有

飞翔的竹蜻蜓
粉丝 0
博文 62
码字总数 81563
作品 0
宁波
私信 提问
《Linux基础知识及命令》系列分享专栏

《Linux基础知识及命令》系列分享专栏 本专题详细为大家讲解了Linux入门基础知识,思路清晰,简单易懂。本专题非常适合刚刚学习Linux的小白来学习,通过学习该专题会让你由入门达到中级的水平...

kaixin_code
2018/12/01
68
0
linux学习的过程?

个人感觉运维底下必备, 1; 计算机概念与硬件相关知识, 2; 先从linux的安装与指令学起; 3; linux操作系统的基础技能; 4; 务必学会vi文书编辑器; 5; shell与shell script的学习; 6; 软件管理;...

呆丫丫424
2013/05/22
570
4
linux学习路线和运维成长之路

最近看到了一篇新闻,linux之父建议找一份基于linux和开源环境的工作,确实,这已经是未来的大趋势了。今天就来聊一聊我的想法,本人8年linux运维一线经验,呆过很多互联网公司,从一线运维做...

神的信仰
2016/05/17
21
0
嵌入式Linux学习基础规划篇

嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质...

创客学院
2018/04/10
0
0
说说我当初是如何学Linux的

今天我就说说我当初是如何从一名普通桌面维护工程师,通过学习和努力转成Linux运维工程师的,以及作为Linux运维工程师需要一些什么技能和知识,希望可以帮到一些对Linux有兴趣或者想往Linux...

xiangyunyan
07/18
70
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈Visitor访问者模式

一、前言 什么叫访问,如果大家学过数据结构,对于这点就很清晰了,遍历就是访问的一般形式,单独读取一个元素进行相应的处理也叫作访问,读取到想要查看的内容+对其进行处理就叫作访问,那么...

青衣霓裳
26分钟前
6
0
JS内嵌多个页面,页面之间如何更快捷的查找相关联的页面

假设parent为P页面, P页面有两个子页面,分别为B页面和C页面; B页面和C页面分别内嵌一个iframe,分别为:D页面和E页面 现在通过B页面的内嵌页面D的方法refreshEpage(eUrl)来加载内嵌页面E的内容...

文文1
27分钟前
7
0
Hibernate 5 升级后 getProperties 错误

升级到 Hibernate 5 后,提示有错误: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map; 完整的错误栈为: java.lang.NoSuchMethodError: org.hibernate......

honeymoose
28分钟前
6
0
mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
31分钟前
6
0
Spring中BeanFactory与FactoryBean的区别

在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混。 一、BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定...

大王叫下
34分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部