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, --fs:显示文件系统信息(...
tcpdump
Tcpdumptcpdump 是一个强大的命令行工具,用于捕获和分析网络流量。它是网络管理员、安全专业人员和开发人员在 Linux/Unix-like 系统上进行网络故障排除、监控、安全审计和协议分析的必备工具。 你可以把 tcpdump 想象成是给你的网卡安装了一双“透视眼”: 它让你实时看到数据包是怎么在网络中穿梭的,从 MAC 层到 IP 层再到应用层,全都一览无遗。你不仅能“看到”别人说了什么(数据内容),还能知道他们从哪里来、去哪儿、用了哪种语言(协议)、走了哪条路(路由) 一、Tcpdump 核心概念:捕获与过滤tcpdump 的核心功能: 实时数据包捕获:tcpdump 可以实时地从网络接口捕获数据包,并将其内容打印到标准输出或保存到文件。 丰富的过滤表达式:它支持使用 BPF (Berkeley Packet Filter) 语法创建高度定制的过滤规则,只捕获你感兴趣的流量。 协议解析:tcpdump 可以解析多种网络协议的头部信息,包括 Ethernet, IP, TCP, UDP, ICMP, ARP, DNS, HTTP 等,并以可读的格式显...
iptables/nftables
在 Linux 中,最核心的防火墙管理工具是 Netfilter 框架,Netfilter 是 Linux 内核中的一个框架,它允许在网络数据包通过协议栈的不同阶段时进行截取、检查、修改和丢弃,而与它交互的主要命令行工具是 iptables 和 nftables。 许多 Linux 发行版还提供了更高级、更易于使用的前端工具,来简化防火墙的配置。 Ubuntu 及其衍生版本上默认的防火墙管理工具UFW, Red Hat 系列发行版(如 CentOS, RHEL, Fedora)上默认的动态防火墙管理工具Firewalld。 1. iptablesiptables 是一个非常强大且灵活的命令行工具,用于配置 Linux 内核中的 Netfilter 数据包过滤规则。它通过定义一系列的规则来决定如何处理网络流量。 工作原理: iptables 组织规则成**表 (tables),每个表包含多个链 (chains)**。数据包根据其类型(例如,传入、传出、转发)经过不同的链,并根据链中的规则进行匹配和处理。 表(Tables):iptables 的规则被组织成不同的“表”,每个表处理...
process management
进程是程序的执行实例,是操作系统资源分配的基本单位。 每个运行的程序在 Linux 中都是一个进程(具有独立的地址空间、代码段、堆、栈、数据段),包括 shell、nginx、mysqld、bash 等。 进程生命周期: 创建:通过 fork()、exec() 系列系统调用 就绪:等待内核调度 运行:CPU 调度运行中 阻塞:等待资源或事件(如 I/O) 终止:执行完毕或被杀死 僵尸:子进程结束但父进程未回收资源 进程状态 状态符 含义 说明 R Running 正在运行或可运行状态 S Sleeping 可中断的休眠 D Uninterruptible 不可中断(一般是 I/O 阻塞) T Stopped 被暂停或调试 Z Zombie 僵尸状态,需父进程回收 X Dead 已终止(很少见) psps 命令(process status 的缩写)用于报告当前系统中运行的进程快照。它提供了关于正在运行的进程的信息,包括它们的 PID(进程 ID)、TTY(终端)、运行时间、CPU 使用情况以及命令名称等。 ps...
Network Commands & Debugging
1. ip:现代网络配置与诊断工具ip 命令是 iproute2 工具集的核心,它已经取代了传统但逐渐过时的 ifconfig、route、arp 等命令,成为 Linux 系统上配置和诊断网络接口、路由表、IP 地址、ARP 缓存、隧道、IPSEC 等的首选工具。它的设计更符合现代网络协议栈,并且提供了更一致、更强大的语法。 核心功能ip 命令通过操纵内核的网络协议栈对象(如链路、地址、路由、邻居等)来管理和显示网络信息。它的通用语法是 ip [OPTIONS] OBJECT { COMMAND | help }。 深入解析与高级应用 对象 (Objects) 的理解: ip 命令的操作对象非常多,理解这些对象是掌握 ip 的关键: link: 网络设备(物理或虚拟接口,如 eth0, lo, br0, tun0)。 显示所有网络接口及其状态: ip link show (或 ip a 的简化输出) 启用/禁用接口: ip link set dev eth0 up / ip link set dev eth0 down (取代 ifc...
text processing
1. cat:连接文件并打印到标准输出cat (concatenate) 命令是最基本也是最常用的文本命令之一。它主要用于显示文件内容,但其核心功能是连接(concatenate)文件流。 核心功能: cat 读取一个或多个文件,然后将其内容按顺序输出到标准输出(通常是你的终端)。 基本用法: cat <文件>: 显示单个文件的内容。 示例: cat /etc/passwd cat <文件1> <文件2>: 连接两个或多个文件的内容并显示。 示例: cat file1.txt file2.txt cat > <文件>: 创建一个新文件并向其中写入内容。你输入的所有内容都会被重定向到文件中,直到你按下 Ctrl+D(表示文件结束)。 示例: cat > new_file.txt (输入内容,然后按 Ctrl+D) cat >> <文件>: 将内容追加到一个现有文件。 示例: cat >> existing_file.txt (输入内容,然后按 Ctrl+D) 常用选...
user and group management
Linux user and group management commands:User Management Commands useradd – Add a new user adduser – Add a new user (more user-friendly wrapper for useradd) usermod – Modify an existing user userdel – Delete a user passwd – Set or change user password chage – Manage user password expiry information id – Show user ID (UID), group ID (GID), and groups whoami – Display the current username 1. useradd:添加新用户useradd 命令用于在 Linux 系统中创建一个新的用户账户。它是创建用户的第一步,为用户在系统中分配一个独特的身份。 基本用途: 当你需要为新员工、新的服...
git push and deploy
之前通过本地生成public远程到gh-pages分支,都是在pc端编辑并部署,但随时需要手机编辑时,就像pc端一样就比较麻烦。 实现手机编辑并推送,同时电脑端也可以,建立两个仓库soure和static,配置github ations实现自动构建并部署,在source仓库下新建 .github/workflows/deploy.yml。其内容放在了source仓库根下。 1234567891011121314151617181920git remote -v # 查看当前远程他说配置,如果不是源仓库则更改git remote set-url origin https://github.com/xxxx/xxxx_source.git#如果要设置双远端,手机可以推送并部署,电脑也可以用之前方式部署git remote set-url origin https://github.com/xxx/xxx_source.gitgit remote add deploy git@github.com:xxxx/xxx.static.git# 上传源码git add ....
File and Directory Operations
ls 命令是 Linux 中最常用的命令之一,用于列出目录内容。它有很多选项可以修改其行为,以显示不同格式和详细程度的信息。 以下是一些最常用和最有用的 ls 命令选项: 常用 ls 选项 **ls**:不带任何选项,列出当前目录下的非隐藏文件和目录。 -l (long format):以长格式显示详细信息,包括文件权限、硬链接数量、所有者、组、文件大小、最后修改时间以及文件名。这是最常用的选项之一。 -a (all):显示所有文件,包括隐藏文件(以 . 开头的文件和目录)。 -h (human-readable):与 -l 结合使用时,以人类可读的格式显示文件大小(例如,1K、234M、2G),而不是字节。 -R (recursive):递归列出目录内容,包括所有子目录。 **-t**:按修改时间排序,最新修改的文件或目录会显示在前面。 -r (reverse):反转排序顺序。通常与 -t 或其他排序选项结合使用,例如 ls -ltr 会按修改时间逆序(最旧的在前)显示长格式列表。 **-S**:按文件大小排序,最大的文件或目录显示在前面。 -i (inode...
