Linux运维实例 什么是shell

前言

shell在Linux中至关重要,它是用户与系统之间的桥梁 需要靠它来调用硬件。

一、shell是什么?

定义

shell是Linux系统中运行的一种特殊程序

作用

在用户和内核之间充当翻译 将用户的指令翻译给内核 内核去调用相应的软件和硬件来执行。
在用户登陆Linux时 系统会自动加载一个shell程序
在这里插入图片描述
Bash是shell的在Linux系统中默认使用的程序 文件位于/bin/Bash。

二、Linux指令分类

1.内部指令

集成于shell解释器程序内部的一些特殊指令。也称为内建指令
属于shell一部分
没有单独对应的系统文件
自动板载内存,可以直接系统调用

2.外部指令

Linux系统中能够完成特定功能的脚本文件或二进制程序
属于shell之外的命令
每个外部命令对应系统中的一个文件
必须知道文件的位置,shell才可以加载才可以执行 例如/bin /usr/local/bin

三 命令格式解析

Linux的通用命令行使用格式由三部分构成 命令字 选项 参数
命令字是整条命令中最关键的一部分
唯一确定一条命令
选项是来确定功能的 由长短格式之分
长格式选项 使用“–”符号引导
短格式选项 使用“-”符号引导
参数是命令字要处理的对象
可以是目录(路径) 文件名或用户名等内容
个数可以是零到多个

四 编辑命令行

辅助Linux命令行的辅助操作
Tab:自动补齐
反斜杠/ :强制换行
Ctrl+u :清空至行首
Ctrl+K :清空至行尾
Ctrl+L:清屏
ctrl+C:取消本次命令编辑
ctrl+a:切换到行首
ctrl+e:切换到行尾

五 部分命令解析

获取帮助的指令

1 help

此为内部命令 用来查看shell内部命令的帮助信息
在这里插入图片描述
–help 命令适用于大多数外部命令

2 man

使用man来阅读手册页
方向键↑↓来滚动一行文本
使用Page up page Down来翻页
按Q或者q建退出阅读环境
按/建查找内容,n建向下查找,N建向上查找

3 查看现在所在目录

pwd 显示所在目录
在这里插入图片描显示在root目录

4 切换目录

将用户的目录切换其他位置 例如
cd 目标目录 切换目标位置
在这里插入图片描述
cd ~ 若不指定目标位置,切换到当前用户的宿主目录
cd
在这里插入图片描述
cd - 切换到上一次执行cd命令之前所在的目录
在这里插入图片描述
绝对路径切换是指用cd 直接切换到目标目录
从boot目录切换到root目录 cd /root
相对路径是指在相同目录下通过返回上一级来切换
.表示以当前目录为起点
…表示以当前目录的工作目录作为起点
~用户名 表示以指定用户的宿主目录作为起点
~ 表示以当前用户的宿主目录作为起点

5 列表显示内容 ls

显示目录中的内容,包括子目录和文件相关属性信息
格式为 ls 选项 文件目录
常用选项由 -l -a - A -d -h -R --color
在这里插入图片描述
可以结合通配符去使用
?表示代表任意一个字符且至少一个。
*表示任意数个字符,可以是0个或者1个或者多个
[]表示可以匹配字符组的任意个字符
在这里插入图片描述

6 设置别名

通过别名机制简化常用的比较长的指令
alias 命令别名=原命令
unalias 命令别名 取消别名
在这里插入图片描述
将创建空文件命令touch命名为t 创建名为233的文件夹
在这里插入图片描述
取消别名

7 统计目录文件大小占用情况

统计指定目录或者文件的所占磁盘空间大小
du 选项 文件目录
常用选项有 -a -h -s
a表示统计磁盘空间占用情况时包括所有的文件,而不仅仅只统计目录
h表示以人性化的方式统计结果(单位显示默认为kb 还有MB GB)
s表示只统计所占用空间总的大小。而不是统计每个子目录.文件的大小。
–max-depth=n 统计所有小于第n层的目录的总大小
ps: -a 和-s不可以同时使用
在这里插入图片描述

8 创建新目录 mkdir

用来创建新目录
mkdir 选项 目录位置及名称
-p为一次性创建多个嵌套目录
例如 mkdir -p /aa/bb/cc
在这里插入图片描述

9 创建空文件

更新文件的时间标记
经常用于创建多个新的空文件
touch 文件名
例如创建两个jpg空文件, touch 11jpg 22jpg touch{1.2}jpg
在这里插入图片描述
这里有一个概念 在Linux中文件名和文件数据是分开保存的 所以软连接和硬链接的区别
软链接文件名→软链接文件数据
→文件名→文件数据
文件名和硬链接都指向文件数据
在这里插入图片描述
在Linux系统中只有把文件的硬链接数删除才可以把文件删除 但是慎用。

10 复制文件或者目录

将文件或者目录复制一份保存起来 类似于Windows的复制
cp 选项 源文件或者目录 目标文件或者目录
常用选项有 -f -i -p -r
在这里插入图片描述
在这里插入图片描述

11 删除文件目录

删除指定的文件或目录
rm 选项 要删除的文件或目录
常用选项 -f -i -r
在这里插入图片描述
ps:不要删除系统文件 避免系统崩溃
在这里插入图片描述

12 查找命令文件存放目录

搜索范围由环境变量 PATH
which 命令|程序名 默认查找到第一个目标后不再查找
which -a 命令|程序名 在所有路径搜索
由于用这个查找内部指令 就无法找到程序 所以就不演示了

13 查找文件目录 find

采用递归的方式 根据目标的名称 类型 大小等不同属性进行精细查找
find 查找范围(文件或者子目录的目录位置) 查找条件表达式
表达式有是4种 -name -size -user -type
在这里插入图片描述
这种为按文件大小查找
find可以实现多个查找条件 在表达式之间使用逻辑运算符
-a表示而且(and)
-o表示或者(or)
find的exec用法
这条为组合命令 exec参数后跟随Linux命令 以;结尾 。在每个系统种分号有不同的含义 因此在分号前面加上反斜杠
{}代表前面find查找的文件名。
以类型为例
find ./ -type f -exec ls -l {} ;

六 命令的优先级

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49172531/article/details/113195468