Linux基本概述与配置
一、我们为什么使用Linux(Linux的优点)
-
开源与自由
- 免费: 无需支付许可费用,任何人都可以自由下载、安装和使用。
- 源代码开放: 任何人都可以查看、修改和分发源代码。这带来了极高的透明度、安全性和定制性。
- 自由: 用户可以自由地运行、研究、修改和重新分发系统,不受商业公司的限制。
-
卓越的稳定性与可靠性:
-
服务器首选: Linux服务器以长时间稳定运行(数年无需重启)而闻名,宕机率极低,是数据中心、云计算平台、网络设备等的基石。
-
崩溃少: 内核设计精良,内存管理高效,进程隔离性好,单个程序崩溃通常不会导致整个系统瘫痪。
-
-
强大的安全性:
- 开源审查: 庞大的开发者社区持续审查代码,漏洞通常能被更快发现和修复。
- 权限管理严格: 基于用户和组的权限模型(最小权限原则)非常完善,默认情况下普通用户权限有限,恶意软件难以获得系统级控制。
- 病毒威胁少: 市场占有率(尤其是桌面端)相对较低、权限模型严格以及软件来源可控(主要来自官方仓库),使得针对Linux的恶意软件远少于Windows。
- 快速安全更新: 发行版维护者能迅速响应漏洞,并通过包管理系统高效推送更新。
-
出色的性能与效率:
- 资源占用低: 许多发行版(尤其是轻量级版本)对系统资源需求极低,能在老旧或低配硬件上流畅运行。
- 高效: 内核和系统设计优化良好,在相同硬件上往往能比Windows提供更快的启动速度、响应速度和更高的吞吐量。
- 可扩展性: 从最小的嵌入式设备到最大的超级计算机集群,Linux都能胜任。
除上述4点之外,Linux还有极高的灵活性与可定制性,强大的命令行与脚本能力,丰富的软件生态(尤其对于开发者和服务器),活跃的社区支持,隐私保护等众多的优点。
Linux的核心优势在于其开源自由、稳定可靠、安全坚固、高效灵活、强大的命令行和包管理,以及活跃的社区。这些优点使其在服务器、云计算、开发、嵌入式系统等领域占据绝对主导地位,在桌面领域也为用户提供了一个强大、安全、隐私友好且高度可定制的替代选择。
二、Linux的组成
-
诞生:1991.10 linus.torvalds 发布第一个linux公开版
-
标准:企鹅
-
Linux系统组成:
-
Linux内核:是一个特殊的软件程序,用于实现CPU、内存分配、进程调度和设备驱动等核心操作,以面向硬件为主。
- 角色: 操作系统的核心。
- 职责:
- 直接与硬件对话: 管理 CPU、内存、硬盘、网卡、USB 设备等所有物理资源。包含设备驱动程序。
- 资源管理者: 分配 CPU 时间给进程、管理系统内存、处理文件系统读写、管理网络通信。
- 安全基石: 实施基本的进程隔离、用户/组权限控制。
- 提供基础服务: 为上层程序提供进程创建、文件操作、网络通信等核心功能。
- 运行模式: 运行在内核态(最高特权级别 Ring 0),拥有对硬件的完全访问权。
- 接口: 通过系统调用向用户空间程序提供服务。-
-
外围程序:包括分析用户指令的解释器、网络服务程序和图形化桌面程序等各种应用型的软件程序,以面向用户为主。
- 角色: 运行在用户空间的所有程序。
- 范围: 包括除内核本身以外的所有软件组件:
- Shell:
bash
,zsh
,fish
等命令行解释器。 - 核心系统工具:
ls
,cp
,mv
,rm
,grep
,awk
,sed
,ps
,top
,mount
,useradd
,ping
,ssh
等(大部分来自 GNU 项目或类似项目)。 - 系统守护进程: 在后台运行的系统服务,如
systemd
(init 系统)、sshd
(SSH 服务器)、cron
(定时任务)、dbus
(消息总线)等。 - 桌面环境/窗口管理器: GNOME, KDE Plasma, XFCE, i3 等。
- 应用程序: 文本编辑器(
vim
,nano
)、浏览器(Firefox, Chrome)、办公软件(LibreOffice)、媒体播放器(VLC)、开发工具(GCC, Python, VSCode)、数据库(MySQL, PostgreSQL)、Web 服务器(Apache, Nginx)等任何你安装和运行的软件。
- Shell:
- 运行模式: 运行在用户态(较低特权级别 Ring 3),无法直接访问硬件。
- 与内核交互: 所有对硬件资源或核心系统服务的请求(如读写文件、申请内存、网络通信、创建进程),都必须通过系统调用这个受控接口向内核发起。内核执行请求的操作并返回结果。
-
linux内核由3部分组成:主版本号、次版本号、末版本号
-
linux内核的2种类型:开发版本(次版本号为奇数)、稳定版本(次版本号为偶数)
-
linux系统的外围程序大部分都是由GNU组织开发的。
GNU:在1984年由著名的美国黑客理查德.斯托曼发起的,由自由软件基金会(FSF)的资金支持,主要是为了建立免费的开源的UNIX类系统,基本原则是程序源代码开放和软件思想共享。
-
GPL、LGPL协议
- GPL:通用公共许可证(General Public License),为了确保GNU项目所发布的软件经过传播、改写后仍然具有“自由”的特性,GNU项目提出了针对自由软件的授权许可协议。
- LGPL:宽通用公共许可证(Lesser General Pubilc License),是GPL授权协议的一个变种,是GNU项目为了得到更多开发者(包括商用软件开发商)的支持而提出的。
-
三、常见linux的发行版本
- linux常见的发行版本–RHEL、SUSE linux、debian linux
- redhat系列的linux–RHEL 企业版、Fedora 社区版、centos企业版
- redhat linux认证 RHCSA 、RHCE、RHCA
四、系统文件和目录
- **文件类型 **
- 普通文件 -
- 目录文件 d
- 链接文件 l
- 特殊文件 c b
- 文件:通过颜色来判断文件类型和权限
- 绿色文件:可执行文件,可执行的程序
- 红色文件:压缩文件或者包文件
- 蓝色文件:目录
- 白色文件:一般性文件,如文本文件,配置文件,源码文件等
- 浅蓝色文件:链接文件,主要是使用ln命令建立的文件
- 红色闪烁:表示链接的文件有问题
- 黄色:表示设备文件
- 灰色:表示其他文件
- linux常见的后缀名(扩展名)
- .conf 配置文件
- .log 日志文件
- .syslog 系统日志文件
- .cfg 系统配置文件
- .i686 系统文件
- .sh 脚本文件
五、目录
- 目录
/ | 根目录 | 是linux文件系统的起点 |
/bin | binary,二进制 | 存放linux系统中最基本的命令,普通用户有权限执行 |
/boot | boot,引导;/boot目录通常被划分为独立的分区,称为/boot分区 | 存放启动linux系统所必需的的文件,包括内核文件、启动的配置文件 |
/dev | device,装置、设备 | 存放linux系统中的磁盘、光驱等各种设备 |
/etc | Editable Text Configuration,可编辑的文本配置 | 存放linux系统及各种配置文件 |
/home | 家目录 | 存放所有普通用户的默认工作目录,也叫普通用户的家目录 |
/lib | library | 库文件存放目录 |
/media | media ,媒体 | 类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下 |
/mnt | mount,临时文件系统的安装点 | 临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了 |
/opt | Optional application software packages,可选的应用软件包 | 有些软件包会被安装在这里 |
/proc | Processes ,进程 | 系统进程目录 比如cpu、内存的信息都存放在该目录中 |
/root | 管理员的主目录 | |
/run | 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除 | |
/sbin | Superuser Binaries | 超级用户可以使用的命令的存放目录 |
/srv | 存放服务启动后需要提取的数据 | |
/sys | 该目录下的所有子目录代表着系统中当前被发现的所有块设备 | |
/tmp | Temporary | 这个目录是用来存放一些临时文件的 |
/usr | Unix Shared Resources,用于存放共享的系统资源 | 存放其他用户应用程序,通常被划分成很多子目录,用户存放不同类型的应用程序,这个目录就好比 windows的program files |
/var | Variable,变量 | 存放系统中经常需要变化的一些文件,比如系统日志文件、缓冲缓存文件等等 |
- 重要目录
/bin | 存放普通用户有权限执行的命令 |
/sbin | 存放管理员用户有权限执行的命令 |
/home | 普通用户的用户家目录 |
/root | 超级管理员用户root用户的家目录 |
/boot | 存放系统启动的引导文件和内核文件 |
/etc | 存放配置文件 |
/dev | 存放设备文件 |
/proc | 系统进程目录,cpu、内存的相关信息存放在这里 |
/mnt | 临时挂载点 |
/var | 主要存放日志文件 |
六、[root@wiltjer ~]#解析
-
root–代表当前用户
-
wiltjer–主机名称
-
~ —当前的工作目录,其中~代表当前用户的家目录
-
#----代表着当前用户是超级管理员用户
-
$—代表着当前用户是个普通用户
root用户的用户家目录是/root/目录
普通用户的家目录是/home/普通用户名命名的目录名称
比如chenyu用户的家目录是/home/chenyu/
七、常见的系统命令
-
查看内核版本
uname -r
4.18.0-80.el8.x86_64
主版本号:4
次版本号:18----偶数(稳定版本)—奇数(开发版本)
末版本号(修订版本号):0-80
el8—enterprise Linux 8
x86_64—支持的架构 -
查询cpu信息
cat /proc/cpuinfo //或 lscpu
cat— 一次性显示(查看)文件的所有内容
-
查看内存
cat /proc/meminfo //或 free -m
-
查看设置主机名
hostname //查看主机名 hostname cy.example.com //(临时生效)临时修改主机名,临时的意思是,重启后就失效了 hostnamectl set-hostname rhel8.example.com //(永久生效)---永久修改主机名
-
查看IP地址
ifconfig //查看所有网卡的ip信息 ip addr(简写 ip a)
ifconfig ens160 //查看ens160网卡的ip信息 ip addr show ens160
-
重启
shutdown -r now //或 reboot
-
关机
shutdown -h now //或 poweroff
-
延迟启动
shutdown -r +15 'the system will be rebooted!!!'