主题
Linux
90 篇文章
-
BIOS, UEFI, MBR, Legacy, GPT等概念整理
整理 BIOS/UEFI 固件接口标准、MBR/GPT 分区表、Legacy/UEFI 启动方式,以及 ESP 系统分区、引导程序等相关概念的对比和说明。
-
Linux 环境变量的加载顺序和优先级
使用 export 设置环境变量时,前面定义的变量会覆盖后面定义的同名变量。PATH 等变量的顺序直接影响命令查找和优先级。
-
Linux 父进程被 kill 后子进程的状态
父进程被杀死后,子进程的不同命运:成为孤儿进程被 init 接管,或被销毁。
-
nmap 扫描网段内的所有 IP
使用 nmap 扫描内网网段,发现所有在线主机 IP 地址。
-
路由修改 route
Linux 网络路由配置,使用 route 命令查看和修改路由表。
-
通过反向 SSH 隧道访问 NAT 后的 Linux 服务器
在 NAT 路由器或防火墙后面的 Linux 服务器,无法直接从外网 SSH 访问。使用反向 SSH 隧道(reverse SSH tunnel)可实现远程访问。
-
CentOS 7 /lib64 被重命名后的解决
不小心重命名 /lib64 导致系统命令崩溃的恢复方法。涉及 LD_LIBRARY_PATH、LD_PRELOAD 环境变量和动态链接器原理。
-
CentOS 6 和 CentOS 7 进入单用户模式区别
CentOS 6(GRUB)和 CentOS 7(GRUB 2、systemd)进入单用户模式的方法对比。
-
自动调整 Linux 系统时间和时区与 Internet 时间同步
Linux 系统时间调整方法笔记:修改时区、配置新时间、通过 ntpdate 实现手动或定时同步 Internet 时间,包括修改 BIOS 时间命令。
-
FTP 和网络 yum 源配置
搭建 FTP 服务器共享 RPM 包,配置网络 yum 源供客户端下载软件。
-
yum 下载远程源上的 RPM 包
用 yumdownloader 命令从远程 yum 源下载 RPM 包,支持自动解析依赖关系。
-
Ubuntu 中 useradd 和 adduser 的区别
Ubuntu 创建用户的两种方法对比。useradd 是低级命令,参数繁琐但功能全面;adduser 是高级脚本,交互式操作,适合初级用户。
-
使用 Linux 命令搭建 KVM 云环境
KVM 虚拟机部署实践。介绍如何将 VMware VMDK 格式磁盘转换为 KVM 兼容格式,使用 virt-install 创建虚拟机,以及用 virsh 命令添加网卡和磁盘等硬件。
-
Linux 后台进程管理方法
远程 SSH 登录时进程的后台运行方法。介绍 nohup、setsid、subshell、disown、screen 等命令的用法,帮助进程在网络断开或终端关闭后继续运行。
-
OpenLDAP 备份与迁移
OpenLDAP 数据备份、导入、清空、迁移的方法。包括 slapcat(备份)、slapadd(导入)、ldapdelete(删除)等命令用法。
-
OpenLDAP 安装及常用配置
OpenLDAP(LDAP 在 Linux 上的实现)用于构建集中身份验证系统。本文包含服务端配置、用户迁移、客户端配置、日志、sudo 管理、用户目录挂载等完整步骤。
-
linux开启nscd服务缓存加速
nscd 是 Linux 域名和服务缓存守护程序,可缓存 passwd、group、hosts 查询结果。介绍配置方法、常见参数及命令用法,以及缓存对 DNS 解析性能的提升效果。
-
yum安装出现Segmentation fault错误解决方法
解决 yum 报 Segmentation fault 错误,需要重建 RPM 数据库而非更新 libz 库。
-
更换登录方式后无法登录的解决方法
SSH 登录时 Host key 不匹配导致的 "Host key verification failed" 错误及解决方法。
-
TC引起的问题排查
使用 tc 命令排查和关闭流量控制限制。
-
Linux服务器查看公网出口IP地址
在 Linux 命令行下查询服务器的公网出口 IP 地址,包括 curl、wget、host、dig 等多种方法和脚本示例。
-
TCP 的那些事儿(上)
TCP 协议深入讲解:TCP 头格式、状态机、三次握手和四次挥手原理、SYN 超时与 SYN Flood 攻击、ISN 初始化、TIME_WAIT 状态处理、重传机制(超时重传、快速重传、SACK、D-SACK)。
-
TCP 的那些事儿(下)
TCP 协议深入讲解:RTT 与 RTO 动态计算、TCP 滑动窗口与流控、Zero Window 问题、Silly Window Syndrome、拥塞控制算法(Slow Start、Congestion Avoidance、Fast Recovery、FACK)和多种优化算法(Vegas、HSTCP、BIC、Westwood)。
-
使用zsh替换bash
安装和配置 zsh shell,修改用户默认登录 shell。
-
Amazon AWS 免费的午餐不好吃
AWS 免费套餐使用经验:EC2、EBS、RDS 等服务的免费额度限制及超费陷阱分析,实际月均费用计算。
-
查看每个网卡的流量情况
使用 sar 命令实时监控每个网卡的流量统计。
-
Linux内核Socket参数调优
通过 sysctl 和 /proc 文件系统调优 TCP/IP 内核参数,包括缓冲区大小、连接管理、超时设置等,提升网络性能。
-
线程监控
使用 ps 和 top 命令查看进程线程信息及其绑定的 CPU。
-
Linux chattr 与 lsattr 命令详解
chattr 用于修改文件底层属性实现访问控制,lsattr 用于查看这些属性。与 chmod 控制读写权限不同,chattr 可以锁定文件或限制为仅追加。
-
Linux cpuinfo 详解
通过 /proc/cpuinfo 判断物理 CPU 数、核数、线程数与是否开启超线程的方法,附各字段(physical id / core id / siblings / cpu cores 等)的含义。
-
Linux top命令输出导入到文件
使用 top -b -n 1 命令获取系统 CPU 和内存负载信息并写入文件,避免实时刷新问题。
-
ps 和 top 的 CPU 占用率区别
ps 显示的 CPU 占用率是进程整个生命周期的平均值,top 显示的是上次刷新以来的即时值,这解释了为何关闭进程后 ps 仍显示高占用。
-
VIM 粘贴
在 vim 中粘贴以
-
通过 /proc/net 分析网络状态
借助 /proc/net/dev 和 /proc/net/snmp 监控网卡收发包与 TCP/UDP 状态,包括每秒新增 TCP 连接数、当前连接数、UDP 收发数据报等指标的计算方法。
-
获取 URL 访问状态
用 curl 检查 URL 访问状态的命令,跟随 302 跳转后获取最终的 HTTP 状态码。
-
Linux top 命令简介
top 命令各区域字段(系统负载、任务数、CPU 各态百分比、内存、进程列表列)的含义,以及常用交互操作指令速查。
-
Linux 网络状态工具 ss 命令
ss 是查看 socket 统计信息的工具,在高并发下统计连接数的效率远胜 netstat,本文整理其常用命令与输出示例。
-
单台服务器上的并发 TCP 连接数
分析单台服务器理论上能支持多少 TCP 并发连接,厘清文件句柄限制才是真正瓶颈,而端口号 65535 并非并发上限。
-
查看进程启动时间
ps 看到的进程启动时间超过一天会变成问号,本文通过 /proc/<pid>/stat 的 jiffies 值配合系统启动时间,精确计算进程的真实启动时刻。
-
查看机器 CPU 核数
通过 /proc/cpuinfo 查看物理 CPU 个数、每颗 CPU 的核心数与总线程数的命令速查。
-
Linux 内存 buffer 和 cache 的区别
解读 free 命令各项内存统计的含义、实际可用内存的计算方式,以及 buffer(块设备读写缓冲)与 cache(文件系统页缓存)的区别。
-
Linux test 命令使用
Linux test 命令的完整选项速查:文件类型与权限侦测、文件新旧比较、整数与字符串判定、多重条件组合。
-
nmap 端口扫描技术
整理自 nmap 官方文档的端口扫描类型速查笔记,汇总各 -s 系列扫描选项的用途与适用场景,附常用命令示例。
-
grep遇到recursive directory loop的问题解决方法
grep递归搜索时如果目录含有符号链接会导致无限循环错误。使用-l标志排除符号链接可以解决此问题。
-
tcpdump参数及使用介绍
tcpdump是网络包嗅探工具,用来捕获和分析网络流量。支持多种参数控制过滤条件、输出格式、协议类型等,常用于网络故障排查和安全分析。
-
Linux查看机器开放的端口
使用nmap扫描机器开放的端口,了解自己服务器开放了哪些服务。nmap可跨平台使用,支持ping扫描、端口扫描、操作系统推断等功能。
-
在vi中行首去掉#号
vi的自动缩进在粘贴代码时会在每行首加上#号。使用set paste命令禁用自动缩进,粘贴后再set nopaste恢复。
-
iptraf使用心得——如何查看网络流量
iptraf是网络流量监控工具,可通过IP traffic monitor、General interface statistics等功能查看实时网络流量分布。需要配置Reverse DNS lookups和TCP/UDP service names等选项以获得直观结果。
-
Linux的IO性能监控工具iostat详解
iostat用来监控磁盘IO性能,可显示设备的TPS、读写速率、响应时间等指标。常用参数:-d显示设备使用,-x显示扩展信息,-c显示CPU状态。
-
iptables规则导出和导入
使用iptables-save导出防火墙规则到文件,再用iptables-restore恢复。将恢复命令写入/etc/init.d/boot.local可实现重启后自动加载规则。
-
top的CPU使用率与负载
“%CPU是每个核的CPU占用率之和,最大值为核数×100%。load值表示等待运行的进程数,ideal时load=CPU核数。每隔5秒检查一次活跃进程;load÷CPU核数>5表示系统超负荷。”
-
Linux strace命令
strace用来跟踪进程执行时的系统调用和所接收的信号,显示参数、返回值和执行消耗的时间。可用于调试程序运行问题、追踪动态库加载问题等。
-
rm删除带特殊字符的文件
当文件名以-或--开头时,rm会误认为是选项参数。使用rm -- 文件名可以告诉rm停止解析选项,后面的参数作为文件名处理。
-
根据TTL判断对方的操作系统
通过ping返回的TTL值可以粗略判断对方的操作系统类型和经过的路由器数量。Linux默认TTL为64,Windows为128或32,Unix为255。使用ping的-i参数可以更改发送数据包的TTL值,逐跳追踪。
-
监控远程端口
使用nc命令检测远程主机TCP或UDP端口是否可达,可配合&&和||判断连接是否成功,返回true或false。
-
Linux iptables NAT 透明代理教程
“用iptables实现NAT端口映射和透明代理,通过PREROUTING做目标地址转换,POSTROUTING实现源地址伪装,配合ip_forward启用路由转发,可将外网端口映射到内网服务器。”
-
linux中ctime、mtime、atime的区别
“文件的三个时间戳定义与含义:atime是最后一次读取时间,mtime是最后修改时间,ctime是最后改变inode属性的时间。通过ls命令的不同选项可以查看这些时间,使用noatime挂载参数可以减少atime更新。”
-
Bash 中关于日期时间操作的常用自定义函数
编写 Bash 脚本时常用的日期时间函数库,包含日期计算、时间戳转换、闰年判断等实用工具函数。
-
SSH 卡登陆,验证慢的解决方法
SSH 连接验证缓慢的根本原因是 sshd_config 中 GSSAPIAuthentication 参数导致的 DNS PTR 反向解析卡住;改为 no 即可解决。
-
查看僵尸进程
查看僵尸进程的方法,需要 kill -9 杀死其父进程。
-
linux 中系统性能分析命令 top 用法详解
top 命令是 Linux 常用性能分析工具,实时显示系统进程的资源占用,类似 Windows 任务管理器;支持按 CPU/内存排序,可通过交互命令修改显示内容。
-
对其他用户设定文件/目录的特殊权限 (setfacl)
使用 setfacl 为特定用户/组设置 ACL 权限;需先检查文件系统支持,可在 fstab 或 tune2fs 中开启。
-
linux 下 write/wall 给其他用户发送即时消息
Linux 终端内置的 write/wall 命令可实现同机用户之间的即时消息通讯;不支持中文,可禁用 mesg 防止消息打断编辑。
-
通过进程号查找进程的路径
查看 /proc/PID/exe 的符号链接可得知进程的绝对路径。
-
rsync 详解之 exclude 排除文件
rsync 同步时使用 --exclude 排除指定文件和目录的方法;支持相对路径、通配符、文件列表等多种方式。
-
PS1 的设置
自定义 PS1 提示符,包含彩色主机名、用户名、IP地址、工作目录等信息。
-
共享内存
清除共享内存和查询共享内存信息的命令。
-
Linux 查看进程运行的完整路径方法
通过 /proc 文件系统查看 Linux 进程的详细信息:进程完整路径、运行目录、命令行参数、环境变量、打开的文件等。
-
linux 修改用户密码 + 非交互设置密码
Linux 本地/远程用户密码修改方法汇总:交互式 passwd、非交互 passwd --stdin / chpasswd,以及配合 expect 脚本的自动化修改。
-
kill -0 PID
发送无效信号检查进程存在:若进程存在则 $? 为 0,否则为 1。
-
rsync
利用服务端配置的同步池进行无密码同步,以及已知系统账号时的直接同步方法;开机时启动任务可通过 crontab @reboot 方式。
-
linux下普通用户如何使用80端口启动程序
普通用户无权占用1024以下端口,但可通过setuid给可执行文件赋权限,或用iptables做端口转发来解决。
-
一些不为人知的 Linux 命令
汇总一批实用但不太为人熟知的 Linux 命令,涵盖文本处理、数据操作、文件与二进制查看、网络调试和系统统计等场景。
-
Linux vmstat 命令实战详解
vmstat 监控工具的使用方法和详解,包括参数含义、实战示例和性能分析应用
-
Linux 下如何用 mdadm 实现软件 RAID
Linux 软件 RAID 完整指南:RAID 0/1/5 原理对比、mdadm 工具使用、磁盘分区与阵列创建、监控和管理、热备磁盘、磁盘故障处理等。
-
Linux 系统优化
Linux 系统性能优化,特别是通过调整 TCP 内核参数来处理大量 TIME_WAIT 连接的方法
-
Nagios 基本配置详解
Nagios 监控系统的配置入门教程,详细讲解 localhost.cfg 的功能定义、工作原理和配置方法,通过实际配置加深理解。
-
Heartbeat 3.x 部署与配置
Heartbeat 3.x 完整部署指南,涵盖组件拆分、安装配置、集群管理和故障转移测试,适用于 Linux 高可用集群搭建。
-
每 10 秒执行一次脚本的 crontab
在 crontab 中使用 sleep 实现每 10 秒执行一次任务的方法
-
SSHFS 挂载远程目录
使用 SSHFS(基于 SSH 的文件系统)挂载远程目录,相比 NFS 配置更简单且更稳定
-
Linux tcpdump 命令详解
tcpdump 抓包工具完整教程,包括命令选项、表达式过滤、协议解析、与 Wireshark 配合使用等,性能影响小、适合网络排查。
-
Linux NFS 配置小结
Linux NFS(网络文件系统)的配置步骤,包括服务安装、exports 配置文件编写、权限设置和客户端挂载
-
corosync + pacemaker + mysql + drbd 实现 MySQL 高可用
通过 corosync + pacemaker + mysql + drbd 实现 MySQL 双节点高可用集群的完整部署方案,包括集群信息层、资源管理器、数据镜像和故障转移配置。
-
yum 下载远程源上的 rpm 包
使用 yumdownloader 工具从远程 yum 源下载 rpm 包,支持已安装和未安装的包,可自动解决依赖。
-
DRBD – How to configure DRBD on CentOS 6
DRBD 分布式块设备部署指南:安装 ELRepo 仓库、drbd 工具和模块、配置资源文件、DNS 和 NTP 同步、初始化元数据、启动同步、创建文件系统。
-
在 CentOS 6.2 上安装 DRBD
使用 ELRepo 仓库在 CentOS 6.2 上安装和配置 DRBD 的步骤,包括 elrepo 下载、安装和 DRBD 主从配置
-
RedHat 6.2 下安装 RHCS(CentOS Cluster)集群
Red Hat Cluster Suite(RHCS)的搭建实践,包括 LUCI 管理界面、集群节点配置、故障转移、iSCSI 共享存储和 GFS 文件系统的集成
-
Linux iptables 配置详解
iptables 防火墙的实操配置笔记,包括 filter 表、NAT 表的规则设置、端口开放、状态匹配等
-
iSCSI 配置
iSCSI 存储网络的服务端和 Linux 客户端配置步骤,包括目标定义、服务启动、设备发现和登陆等
-
YUM 服务器搭建
基于 FTP 或 HTTP 搭建本地 YUM 源,共享 RPM 包目录,让客户机可以从 YUM 服务器上下载和安装软件包