当前位置: 首页 > news >正文

Linux-基础知识总结

Linux 是一个开源的、类 Unix 操作系统,它的内核最初是由 Linus Torvalds 在 1991 年开发。Linux 广泛应用于服务器、嵌入式系统、超级计算机等领域。

以下是 Linux 的详细介绍,涵盖了其结构、特点、常用命令等方面。

1. Linux 内核(Kernel)

Linux 内核是整个操作系统的核心部分,负责硬件管理、进程调度、文件系统管理、网络通讯等。它是一个系统软件,用来提供与硬件交互的接口,并提供基础的操作系统功能。

内核分为以下几个主要部分:

(1)进程管理

调度系统中的任务,控制进程的执行顺序、时间等。

(2)内存管理

分配和管理系统内存,保证程序的正常运行。

(3)文件系统管理

提供文件的创建、删除、访问、权限控制等。

(4)硬件管理

负责和硬件设备进行通信和管理,如硬盘、显卡、网络接口等。

(5)网络管理

处理网络协议栈,管理网络接口,确保设备能够互相通信。

2. Linux 的发行版(Distributions)

由于 Linux 是开源的,很多组织和个人将其内核与其他软件(如图形界面、系统工具等)结合,制作成了不同的 Linux 发行版。

常见的 Linux 发行版有:

(1)Ubuntu

用户友好型的 Linux 发行版,广泛应用于桌面和服务器。

(2)Debian

稳定、安全的 Linux 发行版,是许多其他发行版的基础。

(3)CentOS

Red Hat 的社区版本,主要用于服务器。

(4)Fedora

由 Red Hat 支持,提供最新的软件包和技术。

(5)Arch Linux

一个滚动更新的发行版,适合高级用户。

(6)openSUSE

开源的、适合开发人员和系统管理员的发行版。

(7)Linux Mint

基于 Ubuntu 的发行版,适合新手。

3. 文件系统结构

Linux 使用的是分层的文件系统结构,所有文件都以根目录 / 为起点。

常见的目录结构:

(1)/bin

系统核心命令存放目录,系统启动时需要的命令都在这里。

(2)/etc

系统配置文件目录。

(3)/home

用户主目录,每个用户的个人文件都存放在这个目录下。

(4)/lib

系统库文件目录,存放动态链接库等。

(5)/usr

用户应用程序和数据,常见的应用程序和库都放在这个目录下。

(6)/var

可变数据,存放日志文件、数据库文件等。

(7)/tmp

临时文件存放目录,通常在系统重启时清空。

(8)/root

超级用户(root)的主目录。

(9)/dev

设备文件目录,所有设备都以文件的形式呈现(如磁盘、终端、打印机等)。

(10)/proc

虚拟文件系统,提供内核和进程信息。

(11)/sys

另一个虚拟文件系统,用于与内核交互。

4. Linux 用户和权限

Linux 是多用户操作系统,用户在系统中有不同的权限。每个文件和进程都有与之关联的权限,这些权限定义了谁可以访问或修改它们。

Linux 用户和权限的基本概念:

(1)用户

Linux 中的每个用户都有一个唯一的 ID(UID),以及一个或多个与之关联的组(GID)。

(2)权限

每个文件和目录都有三种基本权限:

读(r):允许读取文件内容。

写(w):允许修改文件内容。

执行(x):允许执行文件。

文件权限表示:通过 3 位数字或符号(rwx)来表示。

符号表示:例如,rwxr-xr--,表示文件所有者具有读、写、执行权限,同组用户具有读、执行权限,其他用户只有读权限。

数字表示:每个权限都有一个对应的数字:读(4)、写(2)、执行(1),rwxr-xr-- 可以表示为 754。

5. Linux 常用命令

Linux 提供了大量的命令行工具来进行各种操作。

常见的命令:

(1)文件操作

ls:列出目录中的文件和目录。

cp:复制文件或目录。

mv:移动或重命名文件。

rm:删除文件或目录。

cat/tail/less:查看文件内容。

touch:创建空文件或修改文件时间戳。

find:查找文件。

grep:搜索文件中的内容。

(2)文件权限管理

chmod:修改文件或目录的权限。

chown:改变文件或目录的所有者。

chgrp:改变文件或目录的组。

(3)进程管理

ps:查看当前运行的进程。

top:实时显示系统资源占用。

kill:终止进程。

pkill:终止进程。

htop:交互式的进程查看工具。

(4)用户管理

useradd:创建新用户。

passwd:修改用户密码。

usermod:修改用户的属性。

groupadd:创建新组。

(5)网络管理

ifconfig:显示或配置网络接口。

ping:检测与另一台主机的网络连接。

netstat:查看网络连接和端口占用情况。

ss:查看网络套接字连接。

(6)压缩和解压

tar:打包或解包文件。

gzip:压缩文件。

zip/unzip:压缩和解压 zip 文件。

6. 软件包管理

不同的 Linux 发行版使用不同的软件包管理工具:

(1)Debian 系列

使用 apt 或 dpkg。

apt-get install <package>:安装软件包。

apt-get update:更新软件包列表。

apt-get upgrade:升级所有已安装的软件包。

(2)Red Hat 系列

使用 yum 或 dnf。

yum install <package>:安装软件包。

yum update:更新所有已安装的软件包。

(3)Arch Linux

使用 pacman。

pacman -S <package>:安装软件包。

7. Shell 和脚本

Linux 提供了多种 Shell(命令行解释器),最常用的是 Bash(Bourne Again Shell)。

Shell 提供了一个命令行界面,用户可以通过它输入命令、运行程序、执行脚本等。

Shell 脚本是由一系列命令构成的文本文件,可以实现自动化任务和批量处理。

8. Linux 安全

Linux 提供了一系列的安全功能:

(1)SELinux

提供强制访问控制(MAC)策略。

(2)AppArmor

另一种访问控制机制,类似于 SELinux。

(3)Iptables

用于管理 Linux 防火墙规则。

(4)SSH

用于远程安全连接。

9.总结

Linux 是一个强大且灵活的操作系统,广泛应用于服务器、桌面和嵌入式设备。它提供了稳定、高效、开源和可定制的环境。Linux 用户通过命令行和脚本工具,能够高效地管理系统和执行复杂任务。在学习和使用 Linux 时,掌握其基础命令、文件系统结构和安全管理非常重要。

http://www.xdnf.cn/news/1158697.html

相关文章:

  • 【算法300题】:双指针
  • 搭建大模型
  • Dockerfile配置基于 Python 的 Web 应用镜像
  • 前端静态资源免费cdn服务推荐
  • 【分布式 ID】详解百度 uid-generator(源码篇)
  • 企业安全防护:堡垒机技术解析
  • WireShark抓包分析TCP数据传输过程与内容详解
  • Linux场景常见的几种安装方式
  • 在C++里如何避免栈内存溢出
  • C++ primer知识点总结
  • 深度学习图像分类数据集—八种贝类海鲜食物分类
  • 基于Chinese-LLaMA-Alpaca-3的多模态中医舌诊辅助诊断系统设计与实现
  • day24——Java高级技术深度解析:单元测试、反射、注解与动态代理
  • 零基础 “入坑” Java--- 十三、再谈类和接口
  • ABP VNext + Playwright E2E:前后端一体化自动化测试
  • 苍穹外卖|项目日记(完工总结)
  • 基于Transformer的智能对话系统:FastAPI后端与Streamlit前端实现
  • 【RK3576】【Android14】ADB工具说明与使用
  • 企业级安全威胁检测与响应(EDR/XDR)架构设计
  • xavier nx上编译fast-livo过程中出现的问题记录
  • C++现代编程之旅:从基础语法到高性能应用开发
  • 【GameMaker】GML v3 的现行提案
  • Numpy库,矩阵形状与维度操作
  • (5)从零开发 Chrome 插件:Vue3 Chrome 插件待办事项应用
  • Vue3.6 无虚拟DOM模式
  • An End-to-End Attention-Based Approach for Learning on Graphs NC 2025
  • 线程(一):基本概念
  • 让黑窗口变彩色:C++控制台颜色修改指南
  • week4
  • 内网后渗透攻击过程(实验环境)--3、横向攻击