Linux系统基础入门与配置指南

Linux基本概述与配置

一、我们为什么使用Linux(Linux的优点)
  1. 开源与自由

    • 免费: 无需支付许可费用,任何人都可以自由下载、安装和使用。
    • 源代码开放: 任何人都可以查看、修改和分发源代码。这带来了极高的透明度、安全性和定制性。
    • 自由: 用户可以自由地运行、研究、修改和重新分发系统,不受商业公司的限制。
  2. 卓越的稳定性与可靠性:

    • 服务器首选: Linux服务器以长时间稳定运行(数年无需重启)而闻名,宕机率极低,是数据中心、云计算平台、网络设备等的基石。

    • 崩溃少: 内核设计精良,内存管理高效,进程隔离性好,单个程序崩溃通常不会导致整个系统瘫痪。

  3. 强大的安全性:

    • 开源审查: 庞大的开发者社区持续审查代码,漏洞通常能被更快发现和修复。
    • 权限管理严格: 基于用户和组的权限模型(最小权限原则)非常完善,默认情况下普通用户权限有限,恶意软件难以获得系统级控制。
    • 病毒威胁少: 市场占有率(尤其是桌面端)相对较低、权限模型严格以及软件来源可控(主要来自官方仓库),使得针对Linux的恶意软件远少于Windows。
    • 快速安全更新: 发行版维护者能迅速响应漏洞,并通过包管理系统高效推送更新。
  4. 出色的性能与效率:

    • 资源占用低: 许多发行版(尤其是轻量级版本)对系统资源需求极低,能在老旧或低配硬件上流畅运行。
    • 高效: 内核和系统设计优化良好,在相同硬件上往往能比Windows提供更快的启动速度、响应速度和更高的吞吐量。
    • 可扩展性: 从最小的嵌入式设备到最大的超级计算机集群,Linux都能胜任。

除上述4点之外,Linux还有极高的灵活性与可定制性强大的命令行与脚本能力丰富的软件生态(尤其对于开发者和服务器)活跃的社区支持隐私保护等众多的优点。

Linux的核心优势在于其开源自由、稳定可靠、安全坚固、高效灵活、强大的命令行和包管理,以及活跃的社区。这些优点使其在服务器、云计算、开发、嵌入式系统等领域占据绝对主导地位,在桌面领域也为用户提供了一个强大、安全、隐私友好且高度可定制的替代选择。

二、Linux的组成
  1. 诞生:1991.10 linus.torvalds 发布第一个linux公开版

  2. 标准:企鹅

  3. 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)等任何你安装和运行的软件。
      • 运行模式: 运行在用户态(较低特权级别 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的发行版本
  1. linux常见的发行版本–RHEL、SUSE linux、debian linux
  2. redhat系列的linux–RHEL 企业版、Fedora 社区版、centos企业版
  3. redhat linux认证 RHCSA 、RHCE、RHCA
四、系统文件和目录
  1. **文件类型 **
    • 普通文件 -
    • 目录文件 d
    • 链接文件 l
    • 特殊文件 c b
  2. 文件:通过颜色来判断文件类型权限
    • 绿色文件:可执行文件,可执行的程序
    • 红色文件:压缩文件或者包文件
    • 蓝色文件:目录
    • 白色文件:一般性文件,如文本文件,配置文件,源码文件等
    • 浅蓝色文件:链接文件,主要是使用ln命令建立的文件
    • 红色闪烁:表示链接的文件有问题
    • 黄色:表示设备文件
    • 灰色:表示其他文件
  3. linux常见的后缀名(扩展名)
    • .conf 配置文件
    • .log 日志文件
    • .syslog 系统日志文件
    • .cfg 系统配置文件
    • .i686 系统文件
    • .sh 脚本文件
五、目录
  1. 目录
/根目录是linux文件系统的起点
/binbinary,二进制存放linux系统中最基本的命令,普通用户有权限执行
/bootboot,引导;/boot目录通常被划分为独立的分区,称为/boot分区存放启动linux系统所必需的的文件,包括内核文件、启动的配置文件
/devdevice,装置、设备存放linux系统中的磁盘、光驱等各种设备
/etcEditable Text Configuration,可编辑的文本配置存放linux系统及各种配置文件
/home家目录存放所有普通用户的默认工作目录,也叫普通用户的家目录
/liblibrary库文件存放目录
/mediamedia ,媒体类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下
/mntmount,临时文件系统的安装点临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了
/optOptional application software packages,可选的应用软件包有些软件包会被安装在这里
/procProcesses ,进程系统进程目录 比如cpu、内存的信息都存放在该目录中
/root管理员的主目录
/run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除
/sbinSuperuser Binaries超级用户可以使用的命令的存放目录
/srv存放服务启动后需要提取的数据
/sys该目录下的所有子目录代表着系统中当前被发现的所有块设备
/tmpTemporary这个目录是用来存放一些临时文件的
/usrUnix Shared Resources,用于存放共享的系统资源存放其他用户应用程序,通常被划分成很多子目录,用户存放不同类型的应用程序,这个目录就好比 windows的program files
/varVariable,变量存放系统中经常需要变化的一些文件,比如系统日志文件、缓冲缓存文件等等
  1. 重要目录
/bin存放普通用户有权限执行的命令
/sbin存放管理员用户有权限执行的命令
/home普通用户的用户家目录
/root超级管理员用户root用户的家目录
/boot存放系统启动的引导文件和内核文件
/etc存放配置文件
/dev存放设备文件
/proc系统进程目录,cpu、内存的相关信息存放在这里
/mnt临时挂载点
/var主要存放日志文件
六、[root@wiltjer ~]#解析
  • root–代表当前用户

  • wiltjer–主机名称

  • ~ —当前的工作目录,其中~代表当前用户的家目录

  • #----代表着当前用户是超级管理员用户

  • $—代表着当前用户是个普通用户

root用户的用户家目录是/root/目录
普通用户的家目录是/home/普通用户名命名的目录名称
比如chenyu用户的家目录是/home/chenyu/

七、常见的系统命令
  1. 查看内核版本

    uname -r
    

    4.18.0-80.el8.x86_64
    主版本号:4
    次版本号:18----偶数(稳定版本)—奇数(开发版本)
    末版本号(修订版本号):0-80
    el8—enterprise Linux 8
    x86_64—支持的架构

  2. 查询cpu信息

    cat /proc/cpuinfo
    //或
    lscpu
    

    cat— 一次性显示(查看)文件的所有内容

  3. 查看内存

    cat /proc/meminfo
    //或
    free  -m
    
  4. 查看设置主机名

    hostname  //查看主机名
    hostname  cy.example.com  //(临时生效)临时修改主机名,临时的意思是,重启后就失效了
    hostnamectl set-hostname rhel8.example.com //(永久生效)---永久修改主机名
    
  5. 查看IP地址

    ifconfig  
    //查看所有网卡的ip信息   
    ip addr(简写 ip a)
    
    ifconfig ens160
    //查看ens160网卡的ip信息
    ip addr show ens160
    
  6. 重启

    shutdown -r now 
    //或  
    reboot
    
  7. 关机

    shutdown -h now  
    //或  
    poweroff
    
  8. 延迟启动

    shutdown -r +15 'the system will be rebooted!!!'
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915763.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何删除VSCode Marketplace中的publisher

网页上并没有提供删除的按钮,需要通过命令的形式删除。 vsce delete-publisher [要删除的名字]# 键入token # y 确认这里的token是之前在Azure DevOps中创建的token,忘了的话可以重建一个 刷新网页看一下 成功删除了。

Windows安装git教程(图文版)

Git 是一个分布式版本控制系统,用于跟踪文件的变化,特别是在软件开发中。它使得多个开发者可以在不同的机器上并行工作,然后将他们的改动合并在一起。是在开发过程中,经常会用到的一个工具。本章教程,主要介绍Windows上…

Remote Framebuffer Protocol (RFB) 详解

RFC 6143 规范文档:The Remote Framebuffer Protocol 文章目录1. 引言2. 初始连接流程2.1 TCP连接建立2.2 协议版本协商2.3 安全握手3. 显示协议机制3.1 核心概念3.2 像素格式4. 输入协议4.1 键盘事件(KeyEvent)4.2 鼠标事件(PointerEvent)5. 协议消息详解5.1 握手消…

从 DeepSeek-V3 到 Kimi K2:八种现代大语言模型架构设计

编译:青稞社区Kimi 原文:https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison 首发:https://mp.weixin.qq.com/s/lSM2jk1UxJVz1WllWYQ4aQ 自原始 GPT 架构开发以来已经过去了七年。乍一看,从 2019 年的…

linux驱动开发笔记--GPIO驱动开发

目录 前言 一、设备树配置 二、驱动编写 三、用户空间测试 总结 前言 开发平台:全志A133,开发环境:linux4.9andrio10,开发板:HelperBoard A133_V2.5。 一、设备树配置 打开板级设备树配置文件,路径&a…

腾讯iOA:企业软件合规与安全的免费守护者

人们眼中的天才之所以卓越非凡,并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。———— 马尔科姆格拉德威尔 目录 一、为什么要使用腾讯iOA? 二、中小企业软件合规痛点 三、腾讯iOA解决方案 3.1 核心技…

C#定时任务实战指南:从基础Timer到Hangfire高级应用

高效管理后台作业,让定时任务成为应用的可靠引擎 在C#应用开发中,定时任务是实现数据同步、报表生成、系统维护等后台作业的核心技术。本文将深入探讨C#生态中主流的定时任务解决方案,从基础的内置Timer到强大的Quartz.NET和Hangfire框架&…

软件开发、项目开发基本步骤

• 立项阶段:项目定义、需求收集与分析、可行性分析、风险评估与规划、项目团队组建、制定项目计划、获取批准与支持。• 需求评审与分析:◦ 项目团队(包括产品经理、开发人员、测试人员等)共同参与,明确项目的目标、功…

慢 SQL接口性能优化实战

在对某电商项目进行接口性能压测时,发现 /product/search 接口响应缓慢,存在明显性能瓶颈。通过慢查询日志排查和 SQL 优化,最终实现了接口响应速度的显著提升。本文完整还原此次优化过程,特别强调操作步骤和问题分析过程&#xf…

【C#】在WinForms中实现控件跨TabPage共享的优雅方案

文章目录一、问题背景二、基本实现方案1. 通过修改Parent属性实现控件移动三、进阶优化方案1. 创建控件共享管理类2. 使用用户控件封装共享内容四、方案对比与选择建议五、最佳实践建议六、完整示例代码一、问题背景 在Windows窗体应用程序开发中,我们经常遇到需要…

Android Camera openCamera

由头 今日调休,终于终于闲下来了,可以写一下博客了,刚好打开自己电脑,就有四年前下的谷歌Android 12源码,不是很旧,刚好够用,不用再另外下载新源码了,不得不感慨这时间过得真快啊~废…

神经网络——池化层

目录 池化层 最大池化层 MaxPool2d 最大池化操作图示 最大池化操作代码演示 综合代码案例 池化层 池化层(Pooling Layer) 核心作用:通过降采样减少特征图尺寸,降低计算量,增强特征鲁棒性。 1. 常见类型 …

Android 默认图库播放视频没有自动循环功能,如何添加2

Android 默认图库播放视频没有自动循环功能, 如何添加 按如下方式修改可以添加 开发云 - 一站式云服务平台 --- a/packages/apps/Gallery2/src/com/android/gallery3d/app/MovieActivity.java +++ b/packages/apps/Gallery2/src/com/android/gallery3d/app/MovieActivity.java…

数字孪生赋能智慧能源电力传输管理新模式

在“双碳”战略和能源数字化转型的双重驱动下,智慧能源系统亟需更高效、精细和智能的管理手段。数字孪生技术作为融合物理世界与数字空间的桥梁,为电力传输系统的全生命周期管理提供了强有力的技术支撑。本文聚焦数字孪生在智慧能源电力传输中的应用&…

Jmeter的元件使用介绍:(二)线程组详解

Jmeter线程组默认包含三种:线程组、setUp线程组、tearDown线程组。线程组之间的执行顺序为:setUp线程组->线程组->tearDown线程组。多数情况都是选用线程组,setUp线程组用于做一些脚本的前置准备,比如:跨线程组设…

AI替代人工:浪潮中的沉浮与觉醒

当AlphaGo以4:1的比分战胜围棋大师李世石之时,人机博弈的疆界被重新划定;当工厂车间里机械臂以惊人精度与不知疲倦的姿态取代了工人重复的手势;当客服电话那头响起的不再是温存人声,而成了准确但缺乏温度的AI语音;当算…

数学建模--matplot.pyplot(结尾附线条样式表格)

matplotlib.pyplot绘图接口 1. 用法 导入模块 import matplotlib.pyplot as plt import numpy as np # 用于生成示例数据绘制简单图表 # 生成数据 x np.linspace(0, 10, 100) y np.sin(x)# 创建图形和坐标轴 plt.figure(figsize(8, 4)) # 设置图表大小 plt.plot(x, y, …

NumPy 实现三维旋转变换

在三维空间中,物体的旋转变换是计算机图形学、机器人学以及三维建模等领域中一个至关重要的操作。这种变换可以通过构造特定的旋转矩阵并将其应用于三维点或向量来实现。本文将深入探讨如何利用 NumPy 这一强大的 Python 科学计算库来实现三维旋转变换,从基本的数学原理到具体…

基于Springboot的中药商城管理系统/基于javaweb的中药材销售系统

管理员:登录,个人中心,用户管理,药材分类管理,药材信息管理,药材入库管理, 药材出库管理,订单管理,云端药馆,系统设置用户:注册,登录&…

试用SAP BTP 02A:试用SAP HANA Cloud

进入SAP BTP主控室 -> 子账 -> 服务市场,选择【数据和分析】-> 点击SAP HANA Cloud点击创建选择服务、计划、运行时环境、空间,输入实例名称,点击下一步在JSON文件中配置HANA管理员密码,点击下一步审核hana 实例信息&…