dig
dig 命令参数大全dig (Domain Information Groper) 是一个强大的命令行工具,用于查询 DNS 域名服务器。它提供了高度的灵活性和详细的输出,是网络管理员和开发者诊断 DNS 问题的首选工具。 1. 基本语法1dig [@server] [name] [type] [options] **@server (可选)**:指定要查询的 DNS 服务器的 IP 地址或主机名。 示例:@8.8.8.8 (Google Public DNS), @1.1.1.1 (Cloudflare DNS) **name (必选)**:要查询的域名。 示例:example.com, www.google.com **type (可选)**:要查询的 DNS 记录类型。如果不指定,默认查询 A 记录。 示例:A, AAAA, MX, NS, CNAME, TXT, SRV, SOA, PTR, ANY **options (可选)**:控制 dig 命令行为的各种选项,通常以 + 开头。 2. 常用记录类型 (type)这些参数用于指定你希望 dig...
DNS
DNS 详解1. 什么是 DNS?DNS (Domain Name System),即域名系统,是互联网的一项核心服务。它的主要作用是将人类可读的域名(例如 www.google.com)转换为机器可读的IP 地址(例如 172.217.160.142)。 想象一下,如果你想访问一个网站,你通常会输入它的域名,而不是一串难以记忆的数字(IP 地址)。DNS 的存在,就像互联网的“电话簿”或“导航系统”,它负责将你输入的域名翻译成计算机能够理解并用来连接到服务器的 IP 地址。 为什么需要 DNS? 易于记忆:域名比 IP 地址更容易记忆和使用。 灵活性:如果网站的 IP 地址发生变化(例如服务器迁移),只需要更新 DNS 记录,用户仍然可以使用相同的域名访问,而无需知道新的 IP 地址。 负载均衡和容灾:DNS 可以将同一个域名解析到不同的 IP 地址,实现流量分发和故障转移。 2. DNS 的工作原理(电话簿类比)为了更好地理解 DNS,我们可以将其比作一个巨大的全球电话簿: 你想打电话给“张三”:你只知道“张三”这个名字(域名),但不知道他的电话号码(IP...
systemd
systemd:systemd 是当前 Linux 系统中主流的初始化系统和服务管理器,取代了传统的 SysVinit。 核心优势 并行启动: 显著加快系统启动速度,服务可同时启动。 依赖管理: 精确控制服务启动和停止顺序。 统一管理: 为所有系统服务提供统一配置和行为。 进程跟踪: 基于 cgroups,准确跟踪服务所有进程,避免孤儿进程。 按需启动: 服务只在需要时才启动,节省资源。 集中日志 (Journald): 统一收集和查询所有系统日志。 与 SysVinit 的主要区别 特性 SysVinit systemd 启动 串行 并行 配置 Shell 脚本 单元文件 (.service) 日志 分散文本 Journald (二进制日志) 跟踪 基于 PID 基于 Cgroups 机制 简单初始化 集成更多系统组件、功能更强大 systemctl:服务管理核心命令这是与 systemd 交互的主要工具。 sudo systemctl start <服务名>: 启动服务。 sudo systemctl stop...
firewalld/ufw
Linux 下的防火墙管理是系统安全的重要组成部分。虽然底层机制(netfilter、iptables 或 nftables)是相似的,但不同的发行版通常会提供不同的前端工具来简化配置。Red Hat 系列(如 RHEL、CentOS、Fedora、AlmaLinux、Rocky Linux)倾向于使用 **firewalld**,而 Debian 系列(如 Debian、Ubuntu、Linux Mint)则偏爱 **UFW (Uncomplicated Firewall)**。 1. Red Hat 系列:Firewalld 详解firewalld 是一个动态的防火墙管理工具,它通过 区域 (zones) 的概念来管理网络连接和接口的信任级别。它作为 iptables 或 nftables 的前端,提供了一个更高级别的接口,使得防火墙配置更直观、更灵活。 核心概念 **区域 (Zones)**:这是 firewalld 最重要的概念。每个区域都代表一个信任级别,并可以分配给一个或多个网络接口或源 IP...
grub
GRUBGRUB 的原始版本更名为 GRUB Legacy。GRUB Legacy 上继续进行少量维护,但最后一个版本(0.97)是在 2005 年发布的。 大约在 2007 年,GNU/Linux 发行版开始在有限的范围内使用 GRUB 2,到 2009 年底,多个主要发行版都默认安装它。 GRUB 2 (GRand Unified Bootloader version 2) 是 Linux 系统中广泛使用的引导加载器。它在操作系统启动之前运行,负责加载操作系统内核到内存,并将控制权移交给内核。理解 GRUB 2 对于系统维护、故障排除以及多系统引导至关重要。 1. GRUB 2 核心概念GRUB 2 的设计非常模块化且强大,其核心概念包括: 多阶段引导 (Multi-stage Booting): boot.img (Stage 1): 位于硬盘的 MBR (Master Boot Record) 或 EFI 系统分区 (ESP) 的引导扇区。它非常小,主要任务是加载 core.img。 core.img (Stage 1.5): 包含文件系统驱动(让...
FHS和内核交互接口
Linux 文件系统结构(FHS)Linux 文件系统结构(Filesystem Hierarchy Standard,简称 FHS)是定义了 Linux 操作系统中文件和目录的布局与内容的一套标准。它的主要目的是为了让不同的 Linux 发行版能够保持文件系统的一致性,从而让软件开发者、系统管理员和用户都能更容易地找到特定的文件和目录,提高系统的兼容性和可管理性。 FHS 的设计理念是将系统文件和用户数据、可变数据和静态数据等进行逻辑上的分离,以实现以下几个关键目标: 可移植性(Portability):确保不同系统之间的文件路径和内容保持一致,方便应用程序在不同 Linux 发行版之间移植。 易管理性(Manageability):通过规范的目录结构,使系统管理员能够更容易地定位、备份、恢复和维护系统。 多用户环境(Multi-user Environments):区分用户数据和系统数据,支持多用户环境下的数据安全和隔离。 网络文件系统(Network Filesystems):方便通过网络挂载只读或共享文件系统,例如 /usr 和 /var。 FHS...
chroot/initrd/rescue实战操作
1. chroot 命令实战:改变根目录环境chroot (change root) 命令能够改变当前进程及其子进程的根目录。这意味着被 chroot 过的程序将认为新的目录是其文件系统的根目录 (/),无法访问该新根目录之外的文件和目录。这在系统恢复、构建隔离环境或测试软件时非常有用。 1.1 chroot 的典型应用场景 系统恢复与修复: 当您的 Linux 系统无法正常启动,例如 GRUB 引导器损坏、核心配置文件错误、或者需要重置 root 密码时,chroot 是进入受损系统环境进行修复的关键工具。 构建隔离的构建/测试环境: 在一个干净、隔离的环境中编译软件,避免与宿主系统的库冲突,或为特定目的(如交叉编译)设置独立的开发环境。 创建“chroot jail” (监狱): 限制特定服务的访问权限,增强安全性。例如,可以将 FTP 服务器或 SSH 用户限制在文件系统的某个特定子目录中,防止他们访问其他敏感区域。 1.2 chroot 系统恢复实战(以 GRUB 修复为例)假设您的 Linux 系统(例如 CentOS/Ubuntu)因 GRUB...
Linux:文件系统结构与启动过程深度解析
Linux 核心知识体系:文件系统结构与启动过程深度解析1. Linux 文件系统结构(FHS)文件系统层次结构标准(Filesystem Hierarchy Standard,FHS) 是 Linux 操作系统中文件和目录布局的规范。它确保了不同 Linux 发行版之间的一致性,便于软件管理、系统维护和可移植性。 FHS 的核心理念是将系统文件和用户数据、静态数据和可变数据进行逻辑分离,以实现系统稳定性、可管理性和多用户兼容性。 1.1 FHS 主要目录及其用途 / (根目录) 文件系统层次结构的起点,所有其他目录和文件都在其下。 只包含系统启动和运行所需的最少文件和目录。 /bin (用户二进制文件) 所有用户都可用的基本命令,如 ls, cp, mv。这些命令是单用户模式下系统启动和维护所必需的。 /sbin (系统二进制文件) 系统管理员使用的基本系统管理命令,如 fdisk, mkfs, reboot。通常用于系统启动、恢复和维护。 /etc (配置文件) 所有系统范围的配置文件,如 /etc/passwd, /etc/group,...
find
find 是一个在 Linux 和类 Unix 系统中用于在文件系统中搜索文件和目录的强大命令行工具。它能够根据各种条件(如名称、大小、类型、修改时间、权限、所有者等)进行搜索,并对找到的文件执行指定的操作。 find 的核心作用是: 递归搜索:从指定目录开始,递归地遍历其所有子目录,查找符合条件的文件和目录。 多条件组合:支持使用逻辑运算符(AND, OR, NOT)组合多个搜索条件。 执行操作:对找到的文件执行命令(如删除、复制、移动、修改权限等)。 基本语法1find [路径] [表达式] **[路径]**:指定从哪个目录开始搜索。可以是一个或多个目录。如果省略,则默认为当前目录 (.)。 **[表达式]**:由选项、测试、动作和操作符组成,用于定义搜索条件和对找到的文件执行的操作。 如果路径是相对径,输出就是相对路径;如果是绝对路径,输出就是绝对路径。 find 的常用选项和用法示例1. 按名称或模式搜索 -name <pattern>:按文件名(或目录名)搜索,支持通配符(*, ?, [])。区分大小写。 12find . -name...
hardware management
Linux 硬件管理1. CPU 和内存相关 lscpu top / htop free vmstat numactl 2. 硬盘与存储设备 lsblk fdisk parted blkid df du mount / umount smartctl(smartmontools 工具包) hdparm 2.1 lsblklsblk (list block devices) 是一个 Linux 命令行工具,用于列出系统中所有可用的块设备信息,比如硬盘、固态硬盘 (SSD)、U盘、分区以及逻辑卷等。它会以树状结构显示这些设备及其分区、逻辑卷或 RAID 阵列之间的层级关系。 好的,这是 lsblk 命令的常用选项列表,没有具体的例子: 常用选项: -a, --all:显示所有块设备,包括空设备或通常隐藏的设备。 -b, --bytes:以字节为单位显示设备大小。 -d, --nodeps:不打印设备的从属设备(例如,不显示磁盘下的分区)。 -D, --discard:显示设备的丢弃(TRIM/UNMAP)功能。 -f,...