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...
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 (取代...
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 (输入内容,然后按...
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...
ssh转发
SSH转发(SSH forwarding)是一种通过SSH连接安全地传输网络流量的技术,常用于许多情况下,比如远程访问内部服务、加密流量传输等。 SSH转发包括三种主要类型: 本地端口转发(Local Port Forwarding): 将本地主机的某个端口转发到远程服务器的一个指定主机和端口上。 常用命令:ssh -L local_port:remote_host:remote_port user@ssh_server 远程端口转发(Remote Port Forwarding): 将远程服务器的某个端口转发到本地主机的一个指定主机和端口上。 常用命令:ssh -R remote_port:local_host:local_port user@ssh_server 动态端口转发(Dynamic Port Forwarding): 创建一个动态 SOCKS 代理,使得所有发送到本地端口的流量都经过SSH连接,并通过远程服务器转发。 常用命令:ssh -D local_socks_port...
ssh转发
SSH (Secure Shell) 是一种用于在不安全网络上安全访问和管理远程服务器的协议。SSH 提供加密通信,确保数据传输的保密性和完整性。 使用用户名和主机名(或 IP 地址)连接到远程服务器: 12345678910ssh username@hostnamessh -p port username@hostname# 生成密钥对ssh-keygen -t rsa -b 4096 -C "your_email@example.com"ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"# 添加公钥到远程ssh-copy-id username@hostname# 手动添加公钥到远程服务器:将 ~/.ssh/id_rsa.pub 的内容添加到远程服务器上的 ~/.ssh/authorized_keys 文件中。 SSH-Agent 和 SSH-Add 多次连接同一服务器:如果需要在一段时间内多次连接到同一服务器,使用 ssh-agent 和 ssh-add...