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...
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...
curl wget及其它常用工具
curl 以其广泛的协议支持和灵活的控制能力而著称,而 wget 则因其非交互式、稳定可靠的下载能力和递归功能而广受欢迎。它们是文件下载、API 交互、网站镜像等任务中不可或缺的命令行工具。 工具 用途简述 特点概括 curl 万能 HTTP 请求构造工具 支持 GET/POST/PUT/DELETE 等 wget 下载文件利器(支持递归、断点) 易用、稳定、支持多协议 httpie 更易读的 API 请求构造工具 json友好,语法直观 scp SSH 安全文件复制 简洁、需 SSH 连接 rsync 增量同步工具 快速、节省带宽 aria2 多协议多线程下载器 BT、磁链、HTTP 多线程支持 curl 是一个非常强大且灵活的工具,支持多种网络协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、SMB、DICT、TELNET 等。它不仅可以下载文件,还可以上传文件、与 API 交互(发送 GET、POST、PUT、DELETE 请求)、处理 Cookie、支持代理等。 1. ...
sed
sed(Stream Editor)是一个流编辑器,它以逐行方式处理输入流(通常是文本文件),并根据指定的编辑命令进行相应的操作。 sed 的工作原理 逐行处理输入流: sed 逐行读取输入流,并对每一行应用相应的编辑命令。输入流可以是文件、管道输出等。 模式匹配: sed 使用模式来匹配文本中的特定部分。用户可以使用正则表达式或简单的字符串来定义匹配模式。 编辑命令: sed 使用编辑命令来对匹配到的文本进行操作。编辑命令可以是替换命令、删除命令、插入命令等,以及一些控制流程的命令。 应用编辑命令: 一旦匹配到了指定的文本,sed 就会根据相应的编辑命令执行相应的操作。这些操作可以是替换匹配文本、删除匹配行、插入新文本等。 输出结果: sed 在处理完所有输入流后,将结果输出到标准输出(通常是终端),或者通过 -i 参数直接在原文件上进行修改。 sed空间在 sed 中,有两个特殊的空间:模式空间(pattern space)和保留空间(hold space)。这些空间允许在处理文本时存储和操作数据。 模式空间(pattern space): 模式空间是 sed...