这次我们来看一套面向零基础的 Linux 核心命令速学教程。无论你是刚接触 Linux 系统的新手还是需要在日常开发、运维中快速查阅命令的开发者掌握这些基础且核心的命令行操作都是至关重要的。本文的重点不是罗列成百上千的命令而是帮你快速建立一套可用的命令知识体系让你知道在什么场景下用什么命令以及如何组合使用它们来解决实际问题。本文将带你快速梳理 Linux 命令行的核心逻辑从最基础的目录导航、文件操作到系统状态查看、进程管理和网络工具。我们会重点关注命令的“可用性”和“组合性”即这个命令能不能解决你的问题以及如何将它与其他命令串联起来完成更复杂的任务。文章最后会附上一份精心整理的“核心命令速查表”方便你随时查阅和练习。本文你将学到Linux 命令行环境的核心概念与快速上手姿势。文件与目录操作的“生存必备”命令集。查看系统状态、管理进程和用户的实用命令。网络相关的基础诊断与连接命令。如何高效地组合命令实现批量处理和自动化。一份按功能分类的 Linux 核心命令速查大全。1. 核心能力速览Linux 命令行能做什么在深入细节之前我们先通过一个表格快速了解 Linux 命令行的核心能力范畴这能帮助你建立整体认知。能力项说明与典型命令文件与目录管理创建、删除、移动、复制、查看文件/目录。 (ls,cd,mkdir,rm,cp,mv)文本内容查看与编辑查看文件内容、搜索关键词、编辑文本。 (cat,less,grep,vim/nano)系统状态监控查看 CPU、内存、磁盘使用情况查看系统运行时间、登录用户。 (top/htop,free,df,du,uptime,who)进程管理查看、终止、调整进程优先级。 (ps,kill,pkill,nice)网络诊断与连接测试网络连通性、查看网络配置、传输文件、远程登录。 (ping,ifconfig/ip,curl/wget,scp,ssh)权限与用户管理修改文件权限/所有者添加/删除用户。 (chmod,chown,useradd,passwd)软件包管理安装、更新、移除软件依赖发行版。 (apt/yum/dnf)命令组合与自动化通过管道、重定向、脚本将简单命令组合成复杂工作流。 (门槛说明Linux 命令行本身对硬件几乎没有要求它运行在 Linux 内核之上。你可以在实体机、虚拟机如 VirtualBox、VMware、云服务器甚至 Windows 的 WSLWindows Subsystem for Linux中运行。学习成本主要体现在对命令语法和选项的记忆以及“面向命令行”的思维转换。2. 适用场景与使用边界适合谁运维工程师服务器管理的日常必备技能。后端/全栈开发者部署应用、查看日志、调试服务。数据科学家/AI工程师在服务器上管理数据、运行训练任务。任何IT技术爱好者想深入了解计算机系统工作原理。能解决什么问题高效管理服务器无需图形界面通过 SSH 远程完成所有管理操作。自动化重复任务编写 Shell 脚本让系统定时或按条件执行任务。快速定位和解决问题通过一系列命令组合快速诊断系统故障、应用错误。处理文本和数据使用grep,awk,sed等工具高效处理日志、配置文件和数据文件。需要注意的边界权力与风险并存rm -rf /这样的命令具有毁灭性。操作关键系统文件前务必确认。学习曲线初期需要记忆常用命令和选项熟练后效率倍增。发行版差异不同 Linux 发行版如 Ubuntu、CentOS、Arch的包管理命令和部分工具可能不同但核心命令GNU Coreutils基本一致。3. 环境准备如何获得一个 Linux 命令行在你开始输入第一个命令之前你需要一个 Linux 环境。以下是几种主流方式方式一使用虚拟机推荐给初学者在 Windows 或 macOS 上安装 VirtualBox 或 VMware然后下载一个 Linux 发行版如 Ubuntu Desktop的 ISO 镜像文件创建虚拟机。这种方式隔离性好不怕玩坏主机系统。方式二使用 WSL2Windows 用户首选适用于 Windows 10/11。在 Microsoft Store 中搜索并安装 “Ubuntu” 或其他发行版即可获得一个高度集成的原生 Linux 命令行环境。这是目前 Windows 上体验最好的方式之一。# 在 Windows PowerShell (管理员) 中启用 WSL 并安装 Ubuntu wsl --install # 安装指定发行版例如 Ubuntu-22.04 wsl --install -d Ubuntu-22.04方式三使用云服务器从阿里云、腾讯云、AWS 等厂商购买一台云服务器ECS通常选择 Linux 系统镜像。通过 SSH 工具如 PuTTY, Xshell, 或系统终端连接即可。这是最接近生产环境的方式。# 本地终端连接云服务器示例 ssh usernameyour_server_ip方式四使用 Docker 容器如果你已经熟悉 Docker可以快速拉取一个 Linux 镜像并运行一个临时容器来练习命令。# 运行一个交互式的 Ubuntu 容器 docker run -it ubuntu:latest /bin/bash基础工具准备终端Terminal无论哪种方式你最终都会在一个“终端”软件里输入命令。Windows 可选 Windows TerminalmacOS 和 Linux 自带 Terminal。文本编辑器准备一个命令行文本编辑器如vim或nano用于编辑配置文件。对于初学者nano更友好。4. 第一组生存命令文件与目录操作登录系统后你首先需要知道自己在哪、有什么、如何去别的地方。4.1 你在哪 (pwd)pwd(Print Working Directory) 命令告诉你当前所在的绝对路径。$ pwd /home/your_username4.2 这里有什么 (ls)ls(List) 命令列出当前目录下的文件和子目录。$ ls Desktop Documents Downloads Music Pictures Videos常用选项-l: 以长格式显示包含权限、所有者、大小、修改时间等详细信息。-a: 显示所有文件包括以.开头的隐藏文件。-h: 与-l一起使用以人类可读的格式K, M, G显示文件大小。$ ls -lah total 72K drwxr-xr-x 6 user user 4.0K Apr 10 10:00 . drwxr-xr-x 3 root root 4.0K Mar 1 00:00 .. -rw------- 1 user user 100 Apr 9 09:00 .bash_history drwxr-xr-x 2 user user 4.0K Apr 1 12:00 Desktop ...4.3 我要去那 (cd)cd(Change Directory) 命令用于切换目录。$ cd Documents # 进入当前目录下的 Documents 文件夹 $ cd .. # 返回上一级目录 $ cd ~ # 返回当前用户的家目录 (/home/username) $ cd /etc # 进入系统的 etc 目录绝对路径 $ cd - # 返回上一个所在的目录4.4 创建与删除 (mkdir,rm,rmdir)mkdir(Make Directory): 创建新目录。$ mkdir my_new_folder $ mkdir -p project/{src,doc,test} # 创建嵌套目录结构rmdir: 删除空目录。rm(Remove): 删除文件或目录。$ rm old_file.txt # 删除文件 $ rm -r old_folder # 递归删除目录及其内部所有内容 $ rm -rf some_directory # 强制递归删除无确认提示危险慎用警告rm -rf命令极其危险一旦执行数据难以恢复。删除重要数据前建议先mv到临时位置。4.5 复制与移动 (cp,mv)cp(Copy): 复制文件或目录。$ cp file1.txt file1_backup.txt # 复制文件 $ cp -r source_dir/ destination_dir/ # 递归复制整个目录mv(Move): 移动或重命名文件/目录。$ mv old_name.txt new_name.txt # 重命名文件 $ mv file.txt /tmp/ # 将文件移动到 /tmp 目录5. 查看与编辑文件内容5.1 快速查看 (cat,head,tail)cat(Concatenate): 连接并显示整个文件内容。适合查看小文件。$ cat config.yamlhead: 显示文件开头部分默认10行。$ head -n 20 large_log.log # 查看前20行tail: 显示文件末尾部分默认10行。实时查看日志是它的核心用途。$ tail -f /var/log/syslog # -f 参数可以实时追踪文件新增内容5.2 分页查看 (less)对于大文件cat会刷屏less命令允许你上下翻页查看。$ less very_large_file.log在less视图中按空格键向下翻一页。按b向上翻一页。按/后输入关键词进行搜索。按q退出。5.3 文本搜索 (grep)grep是文本搜索的瑞士军刀用于在文件或输入流中查找匹配特定模式的行。$ grep error app.log # 在 app.log 中查找包含 “error” 的行 $ grep -r TODO ./src/ # 递归查找当前 src 目录下所有文件中的 “TODO” $ grep -i warning system.log # -i 忽略大小写 $ grep -v success output.txt # -v 反向选择显示不匹配的行 $ ps aux | grep nginx # 常与管道结合查找 nginx 进程5.4 基础文本编辑 (nano/vim)nano:简单易用的命令行编辑器适合初学者。$ nano myfile.txt打开后屏幕底部会显示常用快捷键如CtrlO保存CtrlX退出。vim:功能强大但学习曲线陡峭的编辑器。这里仅介绍最基本的打开、编辑、保存、退出。$ vim myfile.txt打开后处于“普通模式”按i进入“插入模式”开始编辑。编辑完成后按Esc键返回“普通模式”。输入:wq然后按回车表示保存并退出。如果不想保存输入:q!强制退出。6. 系统状态与进程管理6.1 系统监控 (top,htop,free,df,du)top: 动态实时查看系统进程和资源占用情况CPU、内存。按q退出。htop:top的增强版界面更友好支持鼠标操作可能需要安装htop包。free: 查看内存使用情况。$ free -h # -h 以人类可读格式显示df(Disk Free): 查看磁盘空间使用情况。$ df -h # 查看所有挂载点的磁盘使用情况du(Disk Usage): 查看指定目录或文件的磁盘使用量。$ du -sh /home/username/Downloads # -s 总计-h 人类可读查看 Downloads 目录大小 $ du -h --max-depth1 /var/log # 查看 /var/log 下一级子目录的大小6.2 进程查看与管理 (ps,kill,pkill,nice)ps(Process Status): 查看当前进程快照。$ ps aux # 查看系统所有进程的详细信息 $ ps aux | grep python # 查找所有 Python 进程kill: 根据进程ID (PID) 终止进程。$ kill 1234 # 向 PID 为 1234 的进程发送默认终止信号 (SIGTERM) $ kill -9 1234 # 发送强制终止信号 (SIGKILL)用于进程无响应时pkill: 根据进程名终止进程。$ pkill firefox # 终止所有名为 firefox 的进程nice/renice: 调整进程的优先级Nice值。Nice值范围从 -20最高优先级到 19最低优先级。普通用户只能调低优先级增大Nice值。$ nice -n 10 ./long_running_task.sh # 以较低优先级启动任务 $ renice 15 -p 5678 # 将 PID 为 5678 的进程优先级调整为 157. 网络诊断与文件传输7.1 网络诊断 (ping,ifconfig/ip,netstat/ss)ping: 测试与目标主机的网络连通性。$ ping -c 4 baidu.com # -c 指定发送数据包次数ifconfig(旧) /ip(新): 查看和配置网络接口信息。推荐使用更强大的ip命令。$ ip addr show # 查看所有网络接口的 IP 地址信息 $ ip route show # 查看路由表netstat(旧) /ss(新): 查看网络连接、路由表、接口统计等信息。ss命令更快更高效。$ ss -tulnp # 查看所有 TCP/UDP 监听端口及对应进程 # -t: TCP, -u: UDP, -l: 监听状态 -n: 以数字形式显示 -p: 显示进程信息7.2 下载与传输 (curl,wget,scp)curl: 功能强大的网络数据传输工具支持多种协议。$ curl -O https://example.com/file.zip # -O 使用远程文件名保存 $ curl -o custom_name.zip https://example.com/file.zip # -o 指定本地文件名 $ curl -X POST -H Content-Type: application/json -d {key:value} http://api.example.comwget: 另一个经典的网络下载工具支持递归下载。$ wget https://example.com/file.zip $ wget -r -np https://example.com/docs/ # -r 递归-np 不追溯至父目录scp(Secure Copy): 基于 SSH 的安全文件传输命令用于在本地和远程主机间复制文件。# 从本地复制到远程 $ scp local_file.txt userremote_host:/path/to/destination/ # 从远程复制到本地 $ scp userremote_host:/path/to/remote_file.txt ./ # 递归复制整个目录 $ scp -r local_dir/ userremote_host:/path/to/destination/7.3 远程登录 (ssh)ssh(Secure Shell) 是远程管理 Linux 服务器的标准工具。$ ssh usernamehostname_or_ip # 例如 ssh root192.168.1.100 # 使用特定端口 $ ssh -p 2222 usernamehostname # 使用密钥对登录无需密码更安全 $ ssh -i ~/.ssh/my_private_key.pem usernamehostname8. 权限与用户管理8.1 理解文件权限 (ls -l)使用ls -l查看文件详细信息时第一列如-rwxr-xr--表示权限。第1位-表示普通文件d表示目录。第2-4位文件所有者user的读(r)、写(w)、执行(x)权限。第5-7位所属组group的权限。第8-10位其他用户others的权限。8.2 修改权限 (chmod)chmod(Change Mode) 用于修改文件或目录的权限。数字表示法常用r (读) 4w (写) 2x (执行) 1 权限是这三者之和。例如rwx 4217r-x 4015。$ chmod 755 my_script.sh # 所有者rwx 组r-x 其他r-x $ chmod 644 config.json # 所有者rw- 组r-- 其他r--符号表示法$ chmod ux my_script.sh # 给所有者增加执行权限 $ chmod g-w some_file # 移除所属组的写权限 $ chmod or-- public_file # 设置其他用户的权限为只读 $ chmod ax executable # 给所有用户增加执行权限8.3 修改所有者与所属组 (chown)chown(Change Owner) 用于修改文件的所有者和所属组。$ chown new_owner:new_group file.txt $ chown new_owner file.txt # 只修改所有者 $ chown :new_group file.txt # 只修改所属组 $ chown -R user:group directory/ # -R 递归修改目录下所有文件9. 命令组合与管道发挥命令行真正威力单个命令能力有限但通过管道|和重定向,可以将多个命令串联起来完成复杂任务。9.1 管道 (|)将前一个命令的标准输出作为后一个命令的标准输入。# 查找包含 “error” 的日志行然后统计有多少行 $ grep error app.log | wc -l # 查看占用内存最多的前10个进程 $ ps aux --sort-%mem | head -n 11 # 第一行是标题所以取11行 # 实时监控 Nginx 访问日志并过滤出 404 状态码的请求 $ tail -f /var/log/nginx/access.log | grep 404 9.2 输出重定向 (,): 将命令输出重定向到文件覆盖原文件内容。$ ls -la file_list.txt # 将 ls 的结果保存到 file_list.txt覆盖旧内容: 将命令输出重定向到文件追加到文件末尾。$ echo 备份开始于 $(date) backup.log # 在日志文件中追加一行时间戳9.3 输入重定向 ()将文件内容作为命令的输入。$ sort unsorted_list.txt sorted_list.txt # 从文件读取内容排序后输出到另一文件9.4 组合示例# 1. 查找当前目录下所有 .log 文件并计算每个文件的行数 $ find . -name *.log -exec wc -l {} \; # 2. 打包并压缩一个目录排除 node_modules 和 .git 文件夹 $ tar -czvf project_backup.tar.gz --excludenode_modules --exclude.git ./my_project/ # 3. 下载一个文件如果下载成功则解压否则打印错误 $ wget https://example.com/data.tar.gz tar -xzf data.tar.gz || echo 下载失败 # 表示前一个命令成功才执行下一个|| 表示前一个命令失败才执行下一个。10. Linux 核心命令速查大全以下表格按功能分类汇总了本文及日常最常用的核心命令建议收藏。类别命令主要用途常用选项/示例文件目录pwd显示当前工作目录pwdls列出目录内容ls -lahcd切换目录cd ..,cd ~,cd /pathmkdir创建目录mkdir new_dir,mkdir -p a/b/crm删除文件/目录rm file,rm -rf dir(危险)cp复制cp src dst,cp -r dir1/ dir2/mv移动/重命名mv old new,mv file /tmp/文件内容cat显示整个文件cat file.txtless分页显示文件less large.loghead显示文件开头head -n 20 filetail显示文件末尾tail -f logfile(实时追踪)grep文本搜索grep pattern file,grep -r text ./find查找文件find . -name *.py,find / -type f -size 100M编辑权限nano/vim文本编辑nano file,vim filechmod修改权限chmod 755 script.sh,chmod x filechown修改所有者chown user:group file系统信息top/htop动态进程监控top,htopps进程快照ps aux,ps -ef | grep nginxfree内存使用free -hdf磁盘空间df -hdu目录大小du -sh /pathuname系统信息uname -awho/w登录用户who,wuptime运行时间uptime进程管理kill终止进程kill 1234,kill -9 1234pkill按名终止pkill process_namenice调整优先级nice -n 10 command网络工具ping网络连通性ping -c 4 hostifconfig/ip网络配置ip addr show,ip routenetstat/ss网络连接ss -tulnpcurl网络传输curl -O url,curl -X POST ...wget下载文件wget urlscp安全复制scp file userhost:/pathssh远程登录ssh userhost压缩归档tar打包/解包tar -czvf a.tar.gz dir/,tar -xzvf a.tar.gzgzip/gunzip压缩/解压gzip file,gunzip file.gz其他实用echo输出文本echo Hello,echo $PATHdate显示日期date,date %Y-%m-%dhistory命令历史history,!100(执行历史第100条)man命令手册man ls(最重要)which/whereis查找命令位置which python,whereis lsalias命令别名alias llls -lah11. 最佳实践与学习建议多用man和--help遇到不熟悉的命令第一时间man command或command --help这是最权威的文档。理解输出和错误命令执行后注意观察输出信息。如果报错仔细阅读错误信息它通常指明了问题所在。谨慎使用rm -rf和sudo尤其是在根目录/或家目录~下操作时。删除前可先用ls确认目标或先mv到临时位置。善用 Tab 键补全输入命令或路径时按 Tab 键可以自动补全提高效率并减少拼写错误。命令组合练习尝试将grep,awk,sed,sort,uniq等文本处理命令与管道结合解决实际问题如分析日志、处理数据。编写 Shell 脚本将一系列重复执行的命令写入一个.sh文件赋予执行权限 (chmod x)即可实现自动化。环境变量了解PATH,HOME,USER等常用环境变量学会使用export设置临时变量或修改~/.bashrc设置永久变量。版本控制将重要的配置文件如~/.bashrc,~/.vimrc, 服务配置纳入 Git 版本控制方便管理和回溯。学习 Linux 命令是一个“肌肉记忆”和“场景积累”的过程。不要试图一次性记住所有命令和选项。从最常用的ls,cd,pwd,cat,grep,ps开始在真实的操作场景中反复使用遇到新需求时再去查阅和学习新命令。随着时间推移你会自然而然地建立起自己的命令行工具箱处理问题的效率和能力也将大幅提升。这份速查表可以作为你探索之旅的起点和随时参考的地图。
Linux核心命令速学教程:从零基础到高效运维与开发实战
发布时间:2026/7/6 12:07:38
这次我们来看一套面向零基础的 Linux 核心命令速学教程。无论你是刚接触 Linux 系统的新手还是需要在日常开发、运维中快速查阅命令的开发者掌握这些基础且核心的命令行操作都是至关重要的。本文的重点不是罗列成百上千的命令而是帮你快速建立一套可用的命令知识体系让你知道在什么场景下用什么命令以及如何组合使用它们来解决实际问题。本文将带你快速梳理 Linux 命令行的核心逻辑从最基础的目录导航、文件操作到系统状态查看、进程管理和网络工具。我们会重点关注命令的“可用性”和“组合性”即这个命令能不能解决你的问题以及如何将它与其他命令串联起来完成更复杂的任务。文章最后会附上一份精心整理的“核心命令速查表”方便你随时查阅和练习。本文你将学到Linux 命令行环境的核心概念与快速上手姿势。文件与目录操作的“生存必备”命令集。查看系统状态、管理进程和用户的实用命令。网络相关的基础诊断与连接命令。如何高效地组合命令实现批量处理和自动化。一份按功能分类的 Linux 核心命令速查大全。1. 核心能力速览Linux 命令行能做什么在深入细节之前我们先通过一个表格快速了解 Linux 命令行的核心能力范畴这能帮助你建立整体认知。能力项说明与典型命令文件与目录管理创建、删除、移动、复制、查看文件/目录。 (ls,cd,mkdir,rm,cp,mv)文本内容查看与编辑查看文件内容、搜索关键词、编辑文本。 (cat,less,grep,vim/nano)系统状态监控查看 CPU、内存、磁盘使用情况查看系统运行时间、登录用户。 (top/htop,free,df,du,uptime,who)进程管理查看、终止、调整进程优先级。 (ps,kill,pkill,nice)网络诊断与连接测试网络连通性、查看网络配置、传输文件、远程登录。 (ping,ifconfig/ip,curl/wget,scp,ssh)权限与用户管理修改文件权限/所有者添加/删除用户。 (chmod,chown,useradd,passwd)软件包管理安装、更新、移除软件依赖发行版。 (apt/yum/dnf)命令组合与自动化通过管道、重定向、脚本将简单命令组合成复杂工作流。 (门槛说明Linux 命令行本身对硬件几乎没有要求它运行在 Linux 内核之上。你可以在实体机、虚拟机如 VirtualBox、VMware、云服务器甚至 Windows 的 WSLWindows Subsystem for Linux中运行。学习成本主要体现在对命令语法和选项的记忆以及“面向命令行”的思维转换。2. 适用场景与使用边界适合谁运维工程师服务器管理的日常必备技能。后端/全栈开发者部署应用、查看日志、调试服务。数据科学家/AI工程师在服务器上管理数据、运行训练任务。任何IT技术爱好者想深入了解计算机系统工作原理。能解决什么问题高效管理服务器无需图形界面通过 SSH 远程完成所有管理操作。自动化重复任务编写 Shell 脚本让系统定时或按条件执行任务。快速定位和解决问题通过一系列命令组合快速诊断系统故障、应用错误。处理文本和数据使用grep,awk,sed等工具高效处理日志、配置文件和数据文件。需要注意的边界权力与风险并存rm -rf /这样的命令具有毁灭性。操作关键系统文件前务必确认。学习曲线初期需要记忆常用命令和选项熟练后效率倍增。发行版差异不同 Linux 发行版如 Ubuntu、CentOS、Arch的包管理命令和部分工具可能不同但核心命令GNU Coreutils基本一致。3. 环境准备如何获得一个 Linux 命令行在你开始输入第一个命令之前你需要一个 Linux 环境。以下是几种主流方式方式一使用虚拟机推荐给初学者在 Windows 或 macOS 上安装 VirtualBox 或 VMware然后下载一个 Linux 发行版如 Ubuntu Desktop的 ISO 镜像文件创建虚拟机。这种方式隔离性好不怕玩坏主机系统。方式二使用 WSL2Windows 用户首选适用于 Windows 10/11。在 Microsoft Store 中搜索并安装 “Ubuntu” 或其他发行版即可获得一个高度集成的原生 Linux 命令行环境。这是目前 Windows 上体验最好的方式之一。# 在 Windows PowerShell (管理员) 中启用 WSL 并安装 Ubuntu wsl --install # 安装指定发行版例如 Ubuntu-22.04 wsl --install -d Ubuntu-22.04方式三使用云服务器从阿里云、腾讯云、AWS 等厂商购买一台云服务器ECS通常选择 Linux 系统镜像。通过 SSH 工具如 PuTTY, Xshell, 或系统终端连接即可。这是最接近生产环境的方式。# 本地终端连接云服务器示例 ssh usernameyour_server_ip方式四使用 Docker 容器如果你已经熟悉 Docker可以快速拉取一个 Linux 镜像并运行一个临时容器来练习命令。# 运行一个交互式的 Ubuntu 容器 docker run -it ubuntu:latest /bin/bash基础工具准备终端Terminal无论哪种方式你最终都会在一个“终端”软件里输入命令。Windows 可选 Windows TerminalmacOS 和 Linux 自带 Terminal。文本编辑器准备一个命令行文本编辑器如vim或nano用于编辑配置文件。对于初学者nano更友好。4. 第一组生存命令文件与目录操作登录系统后你首先需要知道自己在哪、有什么、如何去别的地方。4.1 你在哪 (pwd)pwd(Print Working Directory) 命令告诉你当前所在的绝对路径。$ pwd /home/your_username4.2 这里有什么 (ls)ls(List) 命令列出当前目录下的文件和子目录。$ ls Desktop Documents Downloads Music Pictures Videos常用选项-l: 以长格式显示包含权限、所有者、大小、修改时间等详细信息。-a: 显示所有文件包括以.开头的隐藏文件。-h: 与-l一起使用以人类可读的格式K, M, G显示文件大小。$ ls -lah total 72K drwxr-xr-x 6 user user 4.0K Apr 10 10:00 . drwxr-xr-x 3 root root 4.0K Mar 1 00:00 .. -rw------- 1 user user 100 Apr 9 09:00 .bash_history drwxr-xr-x 2 user user 4.0K Apr 1 12:00 Desktop ...4.3 我要去那 (cd)cd(Change Directory) 命令用于切换目录。$ cd Documents # 进入当前目录下的 Documents 文件夹 $ cd .. # 返回上一级目录 $ cd ~ # 返回当前用户的家目录 (/home/username) $ cd /etc # 进入系统的 etc 目录绝对路径 $ cd - # 返回上一个所在的目录4.4 创建与删除 (mkdir,rm,rmdir)mkdir(Make Directory): 创建新目录。$ mkdir my_new_folder $ mkdir -p project/{src,doc,test} # 创建嵌套目录结构rmdir: 删除空目录。rm(Remove): 删除文件或目录。$ rm old_file.txt # 删除文件 $ rm -r old_folder # 递归删除目录及其内部所有内容 $ rm -rf some_directory # 强制递归删除无确认提示危险慎用警告rm -rf命令极其危险一旦执行数据难以恢复。删除重要数据前建议先mv到临时位置。4.5 复制与移动 (cp,mv)cp(Copy): 复制文件或目录。$ cp file1.txt file1_backup.txt # 复制文件 $ cp -r source_dir/ destination_dir/ # 递归复制整个目录mv(Move): 移动或重命名文件/目录。$ mv old_name.txt new_name.txt # 重命名文件 $ mv file.txt /tmp/ # 将文件移动到 /tmp 目录5. 查看与编辑文件内容5.1 快速查看 (cat,head,tail)cat(Concatenate): 连接并显示整个文件内容。适合查看小文件。$ cat config.yamlhead: 显示文件开头部分默认10行。$ head -n 20 large_log.log # 查看前20行tail: 显示文件末尾部分默认10行。实时查看日志是它的核心用途。$ tail -f /var/log/syslog # -f 参数可以实时追踪文件新增内容5.2 分页查看 (less)对于大文件cat会刷屏less命令允许你上下翻页查看。$ less very_large_file.log在less视图中按空格键向下翻一页。按b向上翻一页。按/后输入关键词进行搜索。按q退出。5.3 文本搜索 (grep)grep是文本搜索的瑞士军刀用于在文件或输入流中查找匹配特定模式的行。$ grep error app.log # 在 app.log 中查找包含 “error” 的行 $ grep -r TODO ./src/ # 递归查找当前 src 目录下所有文件中的 “TODO” $ grep -i warning system.log # -i 忽略大小写 $ grep -v success output.txt # -v 反向选择显示不匹配的行 $ ps aux | grep nginx # 常与管道结合查找 nginx 进程5.4 基础文本编辑 (nano/vim)nano:简单易用的命令行编辑器适合初学者。$ nano myfile.txt打开后屏幕底部会显示常用快捷键如CtrlO保存CtrlX退出。vim:功能强大但学习曲线陡峭的编辑器。这里仅介绍最基本的打开、编辑、保存、退出。$ vim myfile.txt打开后处于“普通模式”按i进入“插入模式”开始编辑。编辑完成后按Esc键返回“普通模式”。输入:wq然后按回车表示保存并退出。如果不想保存输入:q!强制退出。6. 系统状态与进程管理6.1 系统监控 (top,htop,free,df,du)top: 动态实时查看系统进程和资源占用情况CPU、内存。按q退出。htop:top的增强版界面更友好支持鼠标操作可能需要安装htop包。free: 查看内存使用情况。$ free -h # -h 以人类可读格式显示df(Disk Free): 查看磁盘空间使用情况。$ df -h # 查看所有挂载点的磁盘使用情况du(Disk Usage): 查看指定目录或文件的磁盘使用量。$ du -sh /home/username/Downloads # -s 总计-h 人类可读查看 Downloads 目录大小 $ du -h --max-depth1 /var/log # 查看 /var/log 下一级子目录的大小6.2 进程查看与管理 (ps,kill,pkill,nice)ps(Process Status): 查看当前进程快照。$ ps aux # 查看系统所有进程的详细信息 $ ps aux | grep python # 查找所有 Python 进程kill: 根据进程ID (PID) 终止进程。$ kill 1234 # 向 PID 为 1234 的进程发送默认终止信号 (SIGTERM) $ kill -9 1234 # 发送强制终止信号 (SIGKILL)用于进程无响应时pkill: 根据进程名终止进程。$ pkill firefox # 终止所有名为 firefox 的进程nice/renice: 调整进程的优先级Nice值。Nice值范围从 -20最高优先级到 19最低优先级。普通用户只能调低优先级增大Nice值。$ nice -n 10 ./long_running_task.sh # 以较低优先级启动任务 $ renice 15 -p 5678 # 将 PID 为 5678 的进程优先级调整为 157. 网络诊断与文件传输7.1 网络诊断 (ping,ifconfig/ip,netstat/ss)ping: 测试与目标主机的网络连通性。$ ping -c 4 baidu.com # -c 指定发送数据包次数ifconfig(旧) /ip(新): 查看和配置网络接口信息。推荐使用更强大的ip命令。$ ip addr show # 查看所有网络接口的 IP 地址信息 $ ip route show # 查看路由表netstat(旧) /ss(新): 查看网络连接、路由表、接口统计等信息。ss命令更快更高效。$ ss -tulnp # 查看所有 TCP/UDP 监听端口及对应进程 # -t: TCP, -u: UDP, -l: 监听状态 -n: 以数字形式显示 -p: 显示进程信息7.2 下载与传输 (curl,wget,scp)curl: 功能强大的网络数据传输工具支持多种协议。$ curl -O https://example.com/file.zip # -O 使用远程文件名保存 $ curl -o custom_name.zip https://example.com/file.zip # -o 指定本地文件名 $ curl -X POST -H Content-Type: application/json -d {key:value} http://api.example.comwget: 另一个经典的网络下载工具支持递归下载。$ wget https://example.com/file.zip $ wget -r -np https://example.com/docs/ # -r 递归-np 不追溯至父目录scp(Secure Copy): 基于 SSH 的安全文件传输命令用于在本地和远程主机间复制文件。# 从本地复制到远程 $ scp local_file.txt userremote_host:/path/to/destination/ # 从远程复制到本地 $ scp userremote_host:/path/to/remote_file.txt ./ # 递归复制整个目录 $ scp -r local_dir/ userremote_host:/path/to/destination/7.3 远程登录 (ssh)ssh(Secure Shell) 是远程管理 Linux 服务器的标准工具。$ ssh usernamehostname_or_ip # 例如 ssh root192.168.1.100 # 使用特定端口 $ ssh -p 2222 usernamehostname # 使用密钥对登录无需密码更安全 $ ssh -i ~/.ssh/my_private_key.pem usernamehostname8. 权限与用户管理8.1 理解文件权限 (ls -l)使用ls -l查看文件详细信息时第一列如-rwxr-xr--表示权限。第1位-表示普通文件d表示目录。第2-4位文件所有者user的读(r)、写(w)、执行(x)权限。第5-7位所属组group的权限。第8-10位其他用户others的权限。8.2 修改权限 (chmod)chmod(Change Mode) 用于修改文件或目录的权限。数字表示法常用r (读) 4w (写) 2x (执行) 1 权限是这三者之和。例如rwx 4217r-x 4015。$ chmod 755 my_script.sh # 所有者rwx 组r-x 其他r-x $ chmod 644 config.json # 所有者rw- 组r-- 其他r--符号表示法$ chmod ux my_script.sh # 给所有者增加执行权限 $ chmod g-w some_file # 移除所属组的写权限 $ chmod or-- public_file # 设置其他用户的权限为只读 $ chmod ax executable # 给所有用户增加执行权限8.3 修改所有者与所属组 (chown)chown(Change Owner) 用于修改文件的所有者和所属组。$ chown new_owner:new_group file.txt $ chown new_owner file.txt # 只修改所有者 $ chown :new_group file.txt # 只修改所属组 $ chown -R user:group directory/ # -R 递归修改目录下所有文件9. 命令组合与管道发挥命令行真正威力单个命令能力有限但通过管道|和重定向,可以将多个命令串联起来完成复杂任务。9.1 管道 (|)将前一个命令的标准输出作为后一个命令的标准输入。# 查找包含 “error” 的日志行然后统计有多少行 $ grep error app.log | wc -l # 查看占用内存最多的前10个进程 $ ps aux --sort-%mem | head -n 11 # 第一行是标题所以取11行 # 实时监控 Nginx 访问日志并过滤出 404 状态码的请求 $ tail -f /var/log/nginx/access.log | grep 404 9.2 输出重定向 (,): 将命令输出重定向到文件覆盖原文件内容。$ ls -la file_list.txt # 将 ls 的结果保存到 file_list.txt覆盖旧内容: 将命令输出重定向到文件追加到文件末尾。$ echo 备份开始于 $(date) backup.log # 在日志文件中追加一行时间戳9.3 输入重定向 ()将文件内容作为命令的输入。$ sort unsorted_list.txt sorted_list.txt # 从文件读取内容排序后输出到另一文件9.4 组合示例# 1. 查找当前目录下所有 .log 文件并计算每个文件的行数 $ find . -name *.log -exec wc -l {} \; # 2. 打包并压缩一个目录排除 node_modules 和 .git 文件夹 $ tar -czvf project_backup.tar.gz --excludenode_modules --exclude.git ./my_project/ # 3. 下载一个文件如果下载成功则解压否则打印错误 $ wget https://example.com/data.tar.gz tar -xzf data.tar.gz || echo 下载失败 # 表示前一个命令成功才执行下一个|| 表示前一个命令失败才执行下一个。10. Linux 核心命令速查大全以下表格按功能分类汇总了本文及日常最常用的核心命令建议收藏。类别命令主要用途常用选项/示例文件目录pwd显示当前工作目录pwdls列出目录内容ls -lahcd切换目录cd ..,cd ~,cd /pathmkdir创建目录mkdir new_dir,mkdir -p a/b/crm删除文件/目录rm file,rm -rf dir(危险)cp复制cp src dst,cp -r dir1/ dir2/mv移动/重命名mv old new,mv file /tmp/文件内容cat显示整个文件cat file.txtless分页显示文件less large.loghead显示文件开头head -n 20 filetail显示文件末尾tail -f logfile(实时追踪)grep文本搜索grep pattern file,grep -r text ./find查找文件find . -name *.py,find / -type f -size 100M编辑权限nano/vim文本编辑nano file,vim filechmod修改权限chmod 755 script.sh,chmod x filechown修改所有者chown user:group file系统信息top/htop动态进程监控top,htopps进程快照ps aux,ps -ef | grep nginxfree内存使用free -hdf磁盘空间df -hdu目录大小du -sh /pathuname系统信息uname -awho/w登录用户who,wuptime运行时间uptime进程管理kill终止进程kill 1234,kill -9 1234pkill按名终止pkill process_namenice调整优先级nice -n 10 command网络工具ping网络连通性ping -c 4 hostifconfig/ip网络配置ip addr show,ip routenetstat/ss网络连接ss -tulnpcurl网络传输curl -O url,curl -X POST ...wget下载文件wget urlscp安全复制scp file userhost:/pathssh远程登录ssh userhost压缩归档tar打包/解包tar -czvf a.tar.gz dir/,tar -xzvf a.tar.gzgzip/gunzip压缩/解压gzip file,gunzip file.gz其他实用echo输出文本echo Hello,echo $PATHdate显示日期date,date %Y-%m-%dhistory命令历史history,!100(执行历史第100条)man命令手册man ls(最重要)which/whereis查找命令位置which python,whereis lsalias命令别名alias llls -lah11. 最佳实践与学习建议多用man和--help遇到不熟悉的命令第一时间man command或command --help这是最权威的文档。理解输出和错误命令执行后注意观察输出信息。如果报错仔细阅读错误信息它通常指明了问题所在。谨慎使用rm -rf和sudo尤其是在根目录/或家目录~下操作时。删除前可先用ls确认目标或先mv到临时位置。善用 Tab 键补全输入命令或路径时按 Tab 键可以自动补全提高效率并减少拼写错误。命令组合练习尝试将grep,awk,sed,sort,uniq等文本处理命令与管道结合解决实际问题如分析日志、处理数据。编写 Shell 脚本将一系列重复执行的命令写入一个.sh文件赋予执行权限 (chmod x)即可实现自动化。环境变量了解PATH,HOME,USER等常用环境变量学会使用export设置临时变量或修改~/.bashrc设置永久变量。版本控制将重要的配置文件如~/.bashrc,~/.vimrc, 服务配置纳入 Git 版本控制方便管理和回溯。学习 Linux 命令是一个“肌肉记忆”和“场景积累”的过程。不要试图一次性记住所有命令和选项。从最常用的ls,cd,pwd,cat,grep,ps开始在真实的操作场景中反复使用遇到新需求时再去查阅和学习新命令。随着时间推移你会自然而然地建立起自己的命令行工具箱处理问题的效率和能力也将大幅提升。这份速查表可以作为你探索之旅的起点和随时参考的地图。