Linux系统管理(一)

Linux系统管理第一节知识点

一、什么是Shell?
shell可以说只是为用户与机器之间搭建成的一个桥梁,让我们能够通过shell来对计算机进行操作和交互,从而达到让计算机为我们服务的目的!并且会对内核起到保护作用!
具体的说法请参考:

https://www.cnblogs.com/tjudzj/p/7088543.html

常见的shell种类有:

  • sh:
  • bash: —>大多数Linux发行版的默认shell类型
  • ksh:
  • csh:

二.bash的特点

1.Tab补全机制
tab补全可以用于文件补全也可以用于路径补全,还可以用于命令补全
如果我们输入的头几个字母是唯一标识,则按一下Tab自动补全,否则要多按一下,出来的是含有我们输入的字母的一些文件或者是路径。
举例如下1:
[root@localhost 16:16:22 ~]# cd /e (输入cd /e,按一下tab,会自动补全)
[root@localhost 16:23:49 ~]# cd /etc/(按tab后的结果)
举例如下2:
[root@localhost 16:28:16 ~]# l (输入l 按两下tab就会有如下的提示)
在这里插入图片描述

2.查看命令的执行情况
bash通过状态返回值来输出次结果
成功:0
失败:1-255
命令执行完成后,其状态返回值保存于bash的特殊变量$?
在这里插入图片描述
3.保存历史命令
(1)查看历史命令的操作(history 命令)在这里插入图片描述
常用的一些其他的命令

 history -c             删除所有条目从而清空历史列表(文件中的命令并未被清空,下次登录时历史命令依旧存在)。
 history -d 100         从历史列表中删除指定序号为100的命令。
 history -r             读取历史文件并将内容追加到历史列表中
 history -a             将当前会话的历史行追加到历史文件中(默认是在退出的时候追加)
 history -n             从历史文件中读取所有未被读取的行(在 .bash_history文件未被加载之前操作有效)
 history -w             将当前历史写入到历史文件中,并追加到历史列表中
 history -p ``          对每一个 ARG 参数展开历史并显示结果,而不存储到历史列表中
 history -s ``          以单条记录追加 ARG 到历史列表中

history -n 操作的说明
登录之后进入.bash_history文件,有这些命令
在这里插入图片描述
添加一条命令
在这里插入图片描述
对比如下:
在这里插入图片描述
history -p操作说明
在这里插入图片描述
history -s操作说明
在这里插入图片描述

(2)命令历史一般记录在.bash_history文件中,默认记录1000条;
在这里插入图片描述
(3)当前shell中的历史记录会被记录在内存中,只有退出之后才会保存在.bash_history中
在这里插入图片描述
当我再次登录时候,再次查看
在这里插入图片描述
(4)不同用户将拥独立的历史命令
在这里插入图片描述
在这里插入图片描述
(5)保持历史命令存在安全隐患,系统默认保存1000条历史命令。在/etc/profile文件夹下可以看到
在这里插入图片描述
在这里插入图片描述
(6)修改历史命令保存条目
临时修改:
在这里插入图片描述
永久修改:
使用该命令进行/etc/profile文件修改
在这里插入图片描述
设置你想修改的值
在这里插入图片描述
重新加载一下修改后的文件
在这里插入图片描述
永久修改操作完成
(7)给历史命令添加时间戳
首先进入etc/profile文件进行设置
在这里插入图片描述
设置如下
在这里插入图片描述
重新加载一下文件,再次使用history命令查询一下
在这里插入图片描述
(8)键盘上的上下键 可以找到你之前执行的命令
在这里插入图片描述
按一下键盘上的
在这里插入图片描述
(9)修改历史命令存放的文件位置(默认是/root/.bash_history)
临时修改:
在这里插入图片描述
永久修改:
进入 /etc/profile文件下,修改文件添加如下语句:
在这里插入图片描述
重新加载文件,再次查询
在这里插入图片描述
设置完成
(10)修改历史命令存放的文件大小(默认是1000)
在这里插入图片描述
临时修改:
在这里插入图片描述
永久修改:
进入 /etc/profile文件下,修改文件添加如下语句:
在这里插入图片描述
重新加载文件,再次查询
在这里插入图片描述
设置完成
(11)控制命令历史记录的方式:HISTCONTROL=
ignoredups:忽略重复的命令;
ignorespace:忽略以空白字符开头的命令;
ignoreboth:以上两者同时生效;
默认是:
在这里插入图片描述
临时修改:
在这里插入图片描述
永久修改:
进入进入 /etc/profile文件下,修改文件添加如下语句:
在这里插入图片描述
重新加载文件,再次查询
在这里插入图片描述
(12)取历史参数:

同时摁住 : “.” 和 “esc” :取出上一条参数到命令行

在这里插入图片描述

!$ :取出上一条参数并执行

在这里插入图片描述

echo $_ :打印出上一条命令的参数

在这里插入图片描述

! + 命令序号:执行该序号的命令

在这里插入图片描述

!!:执行上一次执行的命令

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

4.别名机制(alias)
在这里插入图片描述
临时别名:
在这里插入图片描述

用户设置:(仅当前用户可用)
进入 /root/.bashrc文件下进行设置;
在这里插入图片描述
重新加载一下该文件,然后进行测试
在这里插入图片描述

全局设置:(所有用户可用)
使用vi /etc/bashrc进入/etc/bashrc路径下, 添加如下设置
在这里插入图片描述
撤销别名:(仅对当前shell进程有效)
在这里插入图片描述

5.变量
(1)介绍:变量是计算内存的单元,其中存放的值可以改变,当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。使用变量可以保存有用的信息,是系统获知用户相关设置,变量也可以用于保存暂时信息;
(2)分类:在Linux系统中 变量分为了本地变量,局部变量,环境变量;
(3)本地变量:生效范围为当前shell进程中的某代码片段,通常指函数(作用域)
实例:
在test.txt文件中设置如下变量:
在这里插入图片描述
在这里插入图片描述
使用echo $name就无法获取内容,因为该变量name的作用域只在这个shell脚本里面
在这里插入图片描述
(4)局部变量:又称标准变量或普通变量,指生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效
实例:
开启两个伪终端,在一个终端中设置局部变量
在这里插入图片描述
然后在另一个伪终端中查询,查询不到,证明了其作用域为当前shell进程
在这里插入图片描述
将test.txt中的内容修改为:
在这里插入图片描述
外部查询一下:
在这里插入图片描述
没有查询到,证明了局部变量的作用域对当前shell的子shell进程均无效;

(5)全局变量:又叫环境变量,生效范围为当前shell进程及其子进程
实例:
定义一个全局变量,echo $name可以获取到
sh test.txt也可以获取到,证明了作用域包括当前shell进程的子进程
在这里插入图片描述

(6)以上的变量都是临时设置,永久设置需要在/etc/profile进行设置,如下:
在这里插入图片描述
6.支持特殊符号
(0)进程间通信的方式:
a. 管道:上一个进程的标准输出作为下一个进程的标准输入
b. 共享内存:
c. 消息队列:kafka,rabbitmq,rocketmq
d. socket :
e.信号量:
(1)管道:“|”(独占内存空间)
补充:grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
在这里插入图片描述
介绍:管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间

实例:把cat test.txt中输出的内容当成输入的内容查询 “诸葛”相关的行
在这里插入图片描述
(2)tee管道:
定义: 在数据流的处理过程中将某段信息保存下来,使其既能输出到屏幕又能保存到某一个文件中
举例:查询ip 过滤需要的字段,将极端打印出来并保存到ip.txt文件中
在这里插入图片描述

awk -F"/" ‘{print $1}’:以"/"分割每一行字符串,打印第一列

在这里插入图片描述
(3)特殊符号:
. 点号:在Linux中点号代表当前目录
在这里插入图片描述
… 双点号:双点号代表上一级目录
在这里插入图片描述
; 分号:LInux 在执行多条命令时,用分号分开,顺序地独立执行各条命令, 彼此之间不关心是否失败, 所有命令都会执行(不存逻辑判断,即使前一个命令执行失败,后面的命令依然执行)
在这里插入图片描述

&&:存在逻辑判断,前一个命令执行成功,后一个命令才会执行
在这里插入图片描述
|| :存在逻辑判断,只执行一个命令;前一个命令执行成功,后一个就不执行;前一个执行失败,后一个才执行
在这里插入图片描述
<``> 反单引号:命令替换,解析shell命令
在这里插入图片描述
<’’> 单引号:强引用,不做变量替换,所见即所得
在这里插入图片描述
<"">:弱引用,可以实现变量和命令的替换,会解析变量
在这里插入图片描述
在这里插入图片描述

换行:\n 与 echo -e一起使用(“echo 输出时对于转义不受强引弱引的限制,与echo的“-e”参数有关”)
在这里插入图片描述
{} 大括号:做扩展,或者构建代码块
在这里插入图片描述
在这里插入图片描述

  • 星号:表示通配的作用
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值