fstab
fstab 是 file system table 的缩写,即文件系统表。 它是一个纯文本文件,位于 /etc/fstab。它的主要作用是记录系统在启动时需要自动挂载的文件系统。 每当系统启动时,init 或 systemd 都会读取 /etc/fstab 文件的内容,并按照其中定义的规则,自动将硬盘分区、网络文件系统或其它存储设备挂载到指定的目录。/etc/fstab 是 Linux/Unix 系统的文件系统静态信息表,它决定了系统启动时如何挂载分区、设备、远程文件系统。 定义 设备 → 挂载点 → 文件系统类型 → 挂载选项。 可以控制: 磁盘分区挂载 网络文件系统(NFS、CIFS、GlusterFS 等) 伪文件系统(tmpfs、proc、sysfs 等) 特殊挂载(swap、UUID 绑定) fstab 文件格式fstab 文件中的每一行都代表一个需要挂载的文件系统,并且由六个字段组成。每个字段之间用空格或 Tab 键分隔。 1<device> <mount point> <fs_type> ...
xargs
什么是 xargs?xargs 的全称是 extend args,即“扩展参数”。它的核心功能是: 将标准输入中的数据,转换成命令行参数,然后传递给另一个命令。 为什么需要它?因为大多数命令(如 echo, rm, cp)不能直接从标准输入(stdin)接收参数。例如,你不能直接 echo "file1.txt" | rm。xargs 的出现,正是为了弥补这个不足。 xargs 的基本用法xargs 的基本语法是: 1some_command | xargs another_command some_command 的输出会作为 another_command 的参数。 实例 1:批量删除文件 假设你想要删除所有 *.bak 文件。 1find . -name "*.bak" | xargs rm 解析: find . -name "*.bak":这个命令会找到当前目录下所有 .bak 结尾的文件,并将它们的文件名输出到标准输出,每行一个。 |:管道,将 find 的输出导向 xargs。 xargs...
seq与大括号扩展
seq 属于 通用工具命令(Utility Command),主要用于在脚本和命令行中生成一个数字序列。它不是核心系统管理命令,但它作为一种管道(pipe)和循环的辅助工具,在自动化和批处理任务中非常常见。由于需要启动一个新进程,在处理大量数字时,它的执行速度比大括号扩展慢,大括号扩展是 Bash Shell 的内置功能。它在 Shell 内部直接完成,不需要启动任何外部程序。 seq一、基本语法与三种调用形式123seq [OPTION]... LASTseq [OPTION]... FIRST LASTseq [OPTION]... FIRST INCREMENT LAST FIRST/INCREMENT/LAST 都可为整数或浮点数;步长可为负(降序)。 seq 包含端点:从 FIRST 开始,按步长累加/累减,只要不超过 LAST 的方向边界就输出。 二、常用参数 -s, --separator=STRING:自定义分隔符(默认换行)。最后仍有一个换行结尾。 -w,...
task scheduling manager
cron,这是 Linux 系统中用于定时执行任务的核心服务,也是实现自动化运维的基石。 cron - Linux 任务计划调度器一、cron 概念 是什么:cron 是一个在后台持续运行的守护进程 (daemon),名为 crond。它会根据一个名为 crontab (cron table) 的配置文件,在指定的时间、日期或间隔自动执行预设的命令或脚本。 用途: 系统维护:定时清理日志文件、更新软件包、检查系统状态。 数据处理:定时备份数据库、同步文件、生成报表。 应用任务:定时执行爬虫、发送邮件通知、运行批处理作业。 监控脚本:定时运行我们之前讨论过的性能监控脚本(如检查内存、磁盘空间)并发送告警。 二、crontab 配置文件cron 的所有调度规则都定义在 crontab 文件中。每个用户都可以拥有自己的 crontab 文件,此外还有一个系统级的 crontab 文件。 用户 crontab: 这是最常用的方式。每个用户定义的任务都以该用户的身份运行。 文件通常存储在 /var/spool/cron/ (CentOS/RHEL) 或...
Performance Monitoring Tools
Linux 内存与性能监控 Linux 系统中用于监控性能的核心命令行工具,从高层级的系统概览到深入的进程级分析。 第一部分:高层级系统概览这些工具可以让你快速了解系统的健康状况、运行时间和资源利用率的总体情况。 1. uptime - 快速系统健康检查uptime 命令是检查系统当前负载和已运行时间的最简单方法。 作用:显示当前时间、系统已运行时长、登录用户数以及过去 1、5、15 分钟的系统平均负载。 目的:快速评估系统是否近期重启过,以及当前是否处于高负载状态。 基本语法与用法1uptime 输出示例: 114:21:33 up 12 days, 3:42, 2 users, load average: 0.07, 0.14, 0.11 输出详解 **14:21:33**:当前的系统时间。 **up 12 days, 3:42**:系统自上次启动以来已运行的总时长。如果时长很短,可能意味着系统发生了意外重启或崩溃。 **2 users**:当前登录到系统的用户会话数。 **load average: 0.07, 0.14,...
rsync
数据同步利器:rsync1. rsync 是什么?rsync(remote synchronize)是一款在 Linux 系统中用于文件和目录同步的强大工具。它最大的特点是采用**“增量同步”**技术,只传输源文件与目标文件之间有差异的部分,极大地提高了同步效率,尤其在处理大型文件或通过网络传输时,优势非常明显。 2. rsync 命令基本格式1rsync [OPTIONS] SOURCE DESTINATION SOURCE:源文件或目录。 DESTINATION:目标文件或目录。 3. 核心参数详解 (必备)以下是运维工作中最高频使用的参数,掌握它们就等于掌握了 rsync 的精髓。 **-a (archive)**:归档模式。这是一个组合参数,等同于 -rlptgoD,它能以递归方式同步目录,并完整保留文件的所有属性,包括: **-r**:递归同步子目录。 **-l**:同步软链接。 **-p**:保留文件权限。 **-t**:保留文件时间戳。 **-g**:保留文件属组。 **-o**:保留文件属主。 -D(devices): 同步设备文件(慎用) **-v...
perl regex
Perl 以其强大的正则表达式引擎而闻名,它为文本处理提供了无与伦比的灵活性和力量。 Perl 正则表达式正则表达式 (Regular Expression,简称 Regex 或 Regexp) 是一种用来描述、匹配字符串模式的强大工具。在 Perl 中,正则表达式是语言的核心部分,被广泛用于字符串搜索、替换、分割和数据验证。 1. 基本概念与操作符Perl 主要通过以下三个操作符来使用正则表达式: 匹配操作符 m// (或 /): 用于查找字符串中是否包含某个模式。 替换操作符 s///: 用于查找并替换字符串中的模式。 转换操作符 tr/// (或 y///): 用于将字符串中的字符一对一地转换。 默认情况下,这些操作符作用于特殊变量 $_。 示例:基本匹配 1234my $text = "Hello, world!";if ($text =~ /world/) { print "找到了 'world'。\n";} 2. 元字符 (Metacharacters) -...
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...
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...