Linux的整体了解
14天学习训练营导师课程: 互联网老辛《 符合学习规律的超详细linux实战快速入门》
努力是为了不平庸~
学习有些时候是枯燥的,但收获的快乐是加倍的,欢迎记录下你的那些努力时刻(学习知识点/题解/项目实操/遇到的bug/等等),在分享的同时加深对于知识点的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~
使用Linux已经很长时间了,但是还处于使用的阶段,于是趁着辛老师的这次训练营,对Linux用到的,学习到的做一次总结。
1 Linux概述
1.1 Linux简介
Linux,全称GNU/Linux,Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统软件,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布。继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
其特点是:免费、开源、可靠、安全、稳定、多平台
Linux系统一般有3个主要部分:内核kernel、命令解释层Shell或其他操作环境、实用工具。
1.2 Linux中常见概念
操作系统
操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序
内核
内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性 。
Linux内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。
shell
shell是为使用者提供界面的软件,是一个命令解释器,提供了用户与内核进行交互操作的一种接口。它接收用户命令,然后调用相应的应用程序。
常用的shell解释器:
- sh:sh的全称是Bourne shell,由AT&T公司的Steve Bourne开发。
sh是Unix默认的标准shell。 - csh:由柏克莱大学的Bill Joy设计,与C语言语法类似。
- tcsh:tcsh是csh的增强版,加入了命令补全功能,提供了更加强大的语法支持。
- ash:轻量级的Shell,占用资源少,适合运行于低内存环境。
- bash:由GNU组织开发,是Linux默认的shell。
发行版
Linux 发行版是一个由 Linux 内核、GNU 工具、附加软件和软件包管理器组成的操作系统,它也可能包括显示服务器和桌面环境,以用作常规的桌面操作系统。
1.3 Linux版本分类:
-
内核版 内核发布的官网:www.kernel.org
-
发行版
RedHat系列
个人版:Fedora
服务器版:RHEL(RedHat Enterprise Linux)
Debian系列
1.4 Linux中主要发行版
Linux中的主要发行版本如下:
2 Linux中的常用工具
2.1 软件包管理工具:yum
yum是rpm包的管理上自动化工具
yum会自动解决依赖
yum存在缺陷:如果上次安装过程中止,下次安装会出现无法解决的依赖问题
配置yum源
配置本地源
1)先确认镜像有没有在光驱里
2)挂载
# 临时挂挂载
mount /dev/sr0 /mnt
# 永久挂载
echo "/dev/sr0 /mnt iso9660 defaulte 0 0" >> /etc/fstab
3)配置本地源
cat /etc/yum.repos.d/redhat.repo
[redhat]
name=this is local repo
enable=1 # 是否使用yum源
gpgcheck=0 # 不使用公钥校验软件包
baseurl=file:///mnt # 目录
# 查看所有的源
yum repolist
配置网络源
[root@leaner ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# 在配置之前可通过cat /etc/redhat-release命令来查看操作系统版本,根据操作系统版本来选择yum源
# 配置源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 下载缓存
yum makecache
yum使用
yum update -y更新
yum upgrade更新
yum info httpd查询包的作用
yum provides ab 查看包是哪个命令安装的
yum remove httpd卸载
安装群组
yum grouplist
yum groupinstall 组名
2.2 编辑器:vim
vim源于vi,于1991年发布
vim模式
- 普通模式
- 插入模式
- 可视化模式多行文本进行快速编辑(复制、排序、删除)
- 命令行模式
vim安装
Windows安装
安装包:https://github.com/vim/vim-win32-installer/releases
Linux安装
# 查看是否安装
[root@node3 ~]# rpm -qf `which vim`
vim-enhanced-7.4.629-8.el7_9.x86_64
[root@node3 ~]# rpm -qf `which vi`
vim-minimal-7.4.629-8.el7_9.x86_64
# 安装
[root@node3 ~]# yum -y install vim
常用操作
编辑模式常用命令
首次进入文件— vim a.sh
出现“insert”— 编辑模式
退出插入模式,输入:— 命令行模式
插入模式常用命令
进入编辑模式:aio AIO
i:当前字符之前插入(光标前)
I(大i):行首插入
a:当前字符之后插入(光标后)
A:行尾插入
o:下一行插入
O(大o):上一行插入
x:删除当前字符,向后删除一个字符
X(大x):向前删除一个字符
u:撤销当前的操作
r:替换
命令模式中基本操作
光标定位
h左l右 k上j下
0 home切换到行首
$ end切换到行尾
定位到首行gg
定位到行尾G
快速定位到n行3gg3G
:noh取消高亮
查询
/string
/^root
/login$
对文本的编辑
复制:
y复制
y$ 从当前位置复制到行尾
y^ 从当前位置复制到行首
nyy复制n行
删除:
dd删除
d$从当前位置删除到行尾
D从当前位置删除到行尾
d0删到行首
粘贴:
p粘贴
其他:
:q!
:wq
:s查找
:!执行其他命令
:r 文件读取文件并插入到光标所在位置
:helpvim的帮助
通过vim命令打开文件的光标定位
vim file行首
vim file +n第8行行首
vim file +跳到文件最后一行的行首
vim file +/string:匹配字符串
打开多个文件
vim -o file1 file2 打开多个文件(上下分屏)
vim -O file1 file2 打开多个文件(左右分屏)
两个文件对比
md5sum
diff
[root@node3 ~]# touch a b
[root@node3 ~]# diff a b
[root@node3 ~]# md5sum a
d41d8cd98f00b204e9800998ecf8427e a
[root@node3 ~]# echo abc > b
[root@node3 ~]# md5sum b
0bee89b07a248e27c83fc3d5951213c1 b
[root@node3 ~]# diff a b
0a1
> abc