Linux入门必备:15个核心命令覆盖日常开发运维80%场景

发布时间:2026/8/29 4:11:33
Linux入门必备:15个核心命令覆盖日常开发运维80%场景 这次我们不看花哨的框架也不讲复杂的源码就解决一个最现实的问题很多人在 Windows 上操作熟练一打开 Linux 终端就发懵不知道先敲什么命令。热词搜索里大量出现“linux删除文件夹命令”“linux常用命令大全”“vim命令”“linux find用法”“history命令详解”说明不少人卡在了同一个地方——不是 Linux 学不会而是没有一条清晰的命令主线。这篇文章把 Linux 入门路线压缩成 15 个命令。它们覆盖目录切换、文件操作、日志查看、权限判断、进程排查、压缩解压、服务启动和端口检测。跟着敲一遍就能覆盖日常开发和运维中 80% 以上的场景。重点是每个命令都给出适用场景和最容易踩的坑而不是像命令大全那样只贴参数。文章会按“环境准备 → 文件操作 → 文本处理 → 用户权限 → 系统查看 → 网络服务 → 高频排错 → 最佳实践”的顺序展开。每个命令都配了可复制的示例最后还给出一套验收练习和生产环境建议。1. 核心能力速览能力项说明适用范围Linux 服务器、云主机、虚拟机、WSL、嵌入式 Linux 开发板命令数量15 个核心命令覆盖文件、文本、权限、进程、网络、服务管理技能门槛零基础可学不需要编程经验硬件要求本地虚拟机 2 核 4G 内存即可云服务器 1 核 2G 也能跑系统支持Ubuntu / Debian / CentOS / Rocky Linux / openEuler 等主流发行版核心能力目录操作、文件操作、日志查看、权限判断、进程排查、压缩解压、服务启动、端口检测扩展能力命令组合后可完成批量部署、日志分析、环境初始化、服务排错本文演示内容安装环境、命令实操、验收流程、常见问题排查、生产环境最佳实践先说明一点Linux 命令不需要背参数表。你只需要记住“这个命令是干什么的”以及“遇到什么场景先用哪条命令”参数用多了自然记住。这篇文章的目标就是帮你建立这条主线。2. 适用场景与使用边界2.1 适合谁用刚接触 Linux 服务器的新人需要快速掌握日常操作。开发人员需要在 Linux 服务器上部署项目、查看日志、重启服务。运维人员需要排查进程、端口、磁盘和服务状态。准备 Linux 面试的读者需要掌握命令的实际含义和组合用法。做嵌入式 Linux、边缘设备调试的工程师需要通过命令查看系统资源。2.2 能解决什么问题发布项目时不知道把文件放在哪里不知道如何解压包、如何启动服务。程序启动失败不知道看什么日志、不知道进程是否还活着。端口被占用不知道如何找到占用进程并释放端口。磁盘空间不足不知道如何定位大文件和高占用目录。批量操作多个服务器不会用命令组合快速处理。2.3 使用边界与合规提醒需要注意几点涉及敏感数据的场景需要先确认数据归属不要越权访问其他用户的目录。生产环境执行rm、kill、修改配置文件等操作需要在测试环境验证后执行。出于安全考虑不要随意关闭系统服务或修改系统核心配置。在合法获得授权的服务器、虚拟机、开发板上进行学习和测试禁止对未授权的设备扫描或操作。使用sudo执行管理员权限命令时需要确认操作授权和影响范围。不要在公共教程中公开真实服务器 IP、密钥、账号口令。3. 15 个命令全景图先把 15 个命令按用途分组方便从整体上建立框架分组命令核心作用目录与文件pwd查看当前所在目录目录与文件cd切换目录目录与文件ls查看目录内容目录与文件mkdir创建目录目录与文件touch创建空文件目录与文件cp复制文件或目录目录与文件mv移动或重命名目录与文件rm删除文件或目录目录与文件find查找文件文本处理cat查看文件内容文本处理grep按关键词过滤文件内容文本处理tail/head查看文件尾部或头部文本编辑vim编辑文件压缩打包tar打包和解压系统进程ps查看进程系统进程kill结束进程系统资源free查看内存使用系统资源df查看磁盘使用服务管理systemctl启动、停止、查看服务网络排查ping/telnet/ss测试连通性、端口监听用户权限whoami/sudo查看当前用户、提权执行软件安装apt/yum安装和卸载软件历史记录history查看历史命令严格来说15 个命令的说法是一个“起手式”。你完全可以按上面的分组把每一组当作一个单元来练。下面从环境准备开始。4. 环境准备与前置条件4.1 三种最快得到 Linux 环境的方式方式一云服务器这是最接近生产环境的方式。云服务器通常自带公网 IP可以直接用 SSH 登录。第一次购买建议选带 Ubuntu 或 CentOS 镜像的机型1 核 2G 内存足够学习。方式二本地虚拟机在 Windows 上安装 VMware Workstation Player 或 VirtualBox再选择一个 Linux 镜像安装。虚拟机的好处是本地测试不产生额外费用可以随便折腾命令。缺点是占用本机内存和磁盘。方式三WSLWindows Subsystem for Linux如果只是想在 Windows 里快速体验 Linux 命令WSL 是最快的方式。在 Windows PowerShell 中执行wsl --install安装后默认会得到一个 Ubuntu 环境。WSL 比较适合做命令练习和真实 Linux 服务器还是有一些差异但如果只是学命令它足够用。不管是哪条路径学习命令的思路完全一致登录后先用pwd确认位置再用ls看目录然后用cd切换路径。这套流程就是 Linux 操作的基本动作。4.2 用 SSH 远程登录如果用的是云服务器登录命令一般是ssh root服务器IP这里包含两层信息root是登录用户名服务器IP是目标主机地址。输入回车后终端会提示输入密码。判断是否连接成功Welcome to Ubuntu 22.04.4 LTS看到欢迎信息或命令提示符就说明已经进入 Linux 终端了。4.3 本地登录终端如果是虚拟机或 WSL直接打开终端即可。这句话的意思是你的命令提示符通常是$普通用户或#管理员用户。ubuntutest:~$这里ubuntu是用户名test是主机名~表示当前位于当前用户的家目录。Linux 终端不会显示太多废话所有信息都通过提示符本身传递。4.4 环境安全检查进入系统后先确认三件事当前用户、当前目录、系统类型。whoami当前登录用户。pwd当前所在目录完整路径。cat /etc/os-release查看系统发行版信息。常见的有 Ubuntu、CentOS、Debian、Rocky Linux、openEuler 等。uname -a查看内核版本。如果需要在特定内核版本上测试命令先看这里。第二步是执行第一个完整流程用pwd确认位置用ls查看目录内容用cd进入目标目录用mkdir创建新目录用touch创建文件。这一套流程跑通Linux 基本操作就算入门了。4.5 通过 Xshell / MobaXterm / VS Code 连接很多读者是在 Windows 上学习 Linux。热词里提到“xshell命令回退目录”“企业微信linux”说明这类需求很常见。这里推荐几类终端工具XshellWindows 下常用支持 SSH 和 SFTP操作习惯和资源管理器接近。MobaXterm自带文件管理、端口转发适合做批量运维。VS Code Remote-SSH适合开发场景也支持直接ssh 用户名IP连接。Windows 11 自带 OpenSSH 客户端可在 PowerShell 里直接执行 SSH 命令。连接后依然用pwd、ls、cd这套命令操作。配置好 SSH 密钥后可以免密登录后续执行命令效率更高。5. 15 个命令实操文件与目录操作5.1 ls查看目录内容ls是 Linux 里使用频率最高的命令。它用来列出目录下的文件和子目录。基本用法ls列出当前目录下可见文件。ls -l长格式显示权限、链接数、属主、属组、大小、修改时间、文件名。ls -a显示隐藏文件包括以.开头的文件例如.bashrc、.ssh。ls -lh以人类可读格式显示文件大小例如 1.2K、34M。ls -lt按修改时间倒序排列适合查找最近刚修改的文件。面试或工作中ls -l的字段含义是高频考点-rw-r--r-- 1 root root 1024 Jan 10 10:30 test.txt第 1 位-表示普通文件d表示目录l表示软链接。后 9 位是权限位前三组分别对应属主、属组、其他用户。r读取w写入x执行。后面的数字是硬链接数目录一般显示 2 或 3。再后面是属主、属组、文件大小、最后修改时间和文件名。想快速记忆权限记住r4、w2、x1所以755表示属主可读写执行属组和其他用户只读和执行。5.2 cd切换目录cd用于切换当前工作目录。cd /tmp直接进入绝对路径。cd ..返回上一级目录。cd ~回到当前用户家目录。cd -切换到上次所在目录。cd -会在终端里打印上一次的目录路径适合在两个目录之间来回操作。常见疑问cd后面没有路径时默认回到家目录。热词里提到“xshell命令回退目录”其实就是cd ..和cd -的组合使用。每次进入深层路径后先cd ~回位再重新进入不容易迷路。5.3 pwd显示当前目录pwd是 Print Working Directory 的缩写。当命令提示符没有显示完整路径或者脚本里需要判断当前位置时用它确认。pwd输出示例/root/projects/test在写脚本、执行相对路径命令时先pwd确认目录能避免误删文件或生成到错误位置。5.4 mkdir创建目录mkdir用来创建目录。mkdir logs创建单级目录。mkdir -p logs/2025/01递归创建多级目录。-p的作用是如果父目录不存在会一并创建。这个参数在部署项目中非常常用因为目标目录可能还没建好。创建目录后用ls -ld验证ls -ld logs如果看到d开头的权限串说明目录创建成功。5.5 rm删除文件或目录rm是风险最高的命令之一。热词里“linux删除文件夹命令”属于高频搜索。rm test.txt删除单个文件。rm -r logs递归删除目录。rm -rf logs递归强制删除目录不提示确认。-f会忽略不存在的文件也不会逐个确认。安全建议生产环境尽量先ls确认路径再执行rm -rf。写脚本时避免把/、~、*等通配符直接拼在rm -rf后面。重要目录可以设置为只读或做备份快照。如果不确定目标路径先用find查看再删除。删除前给自己一个“先pwd再rm”的固定习惯。5.6 cp复制文件或目录cp用于复制文件复制目录要加-r。cp test.txt /tmp/复制文件到 /tmp 目录。cp -r projects /tmp/projects_backup递归复制整个目录。cp -a /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak归档复制保留权限、属主、时间戳等属性。改配置前备份文件推荐用cp -a或cp -p。5.7 mv移动或重命名mv用来移动文件也可以在同一个目录下实现重命名。mv test.txt /tmp/移动文件到 /tmp。mv test.txt demo.txt将 test.txt 重命名为 demo.txt。mv nginx.conf nginx.conf.bak这是运维中修改配置前常见的快速备份方式适合临时改名。5.8 touch创建空文件touch用于创建空文件也用于更新时间戳。touch /tmp/empty.txt如果文件不存在创建空文件。touch oldfile.log如果文件已存在更新它的修改时间为当前时间。调试时可以用touch快速制造测试文件再配合ls -l查看。6. 15 个命令实操文件内容查看与文本处理6.1 cat查看与拼接文件cat直接输出文件内容。cat /etc/hostname查看主机名。cat -n /etc/passwd显示行号。cat file1.txt file2.txt merge.txt将两个文件内容拼接到一个新文件。cat适合查看小文件。需要看核心配置文件全部内容时用cat最快捷。6.2 grep按关键词过滤grep是文本过滤命令。日志排查的第一步几乎都是用它。grep error app.log在 app.log 中查找包含 error 的行。grep -i error app.log忽略大小写。grep -r nginx.conf /etc/nginx/递归搜索目录下所有文件。grep -v # /etc/nginx/nginx.conf过滤掉注释行适合快速查看有效配置。grep -E 2025-01-10|2025-01-11 access.log使用正则写法一次匹配多个日期。grep 是“日志排错、配置检查、面试题目”里出现频率最高的命令。建议重点掌握-i、-v、-r、-E、-c这几个参数。6.3 tail查看文件尾部tail常用于查看日志最后几行。tail -n 50 app.log查看最后 50 行。tail -f app.log实时追踪文件末尾内容日志新增一行就输出一行。tail -f -n 100 /var/log/syslog先显示最后 100 行再持续跟踪。排错时新开一个终端窗口执行tail -f再另开一个终端执行服务重启命令就能实时看到日志输出。6.4 head查看文件头部head用于查看文件头部内容。head -n 20 app.log查看前 20 行。head -n 5 /etc/passwd快速查看系统用户文件前 5 行。日志量很大时先用head看格式再用tail看最新内容避免一次读出几万行。6.5 vim文本编辑器vim 在热词中出现频率很高。它是 Linux 终端里最常用的文本编辑器。vim /etc/nginx/nginx.conf打开文件进行编辑。vim 有三种模式记不住其他命令先记这三个普通模式打开文件后默认处于普通模式可以移动光标、删除、复制。插入模式按i进入插入模式此时可以输入文字。命令行模式按Esc返回普通模式再输入:进入命令行模式。必备操作i 进入插入模式 Esc 返回普通模式 :wq 保存并退出 :q! 不保存退出 dd 删除当前行 yy 复制当前行 p 粘贴 G 跳到最后一行 gg 跳到第一行高频坑不知道当前在哪个模式或者按了Esc后不确定是否退出插入模式。解决办法是连续按两次Esc再输入:wq或:q!。如果按了CtrlS导致终端冻结可以按CtrlQ恢复。修改系统配置文件后如果不确定改动是否正确先用cat或grep预览再重启服务。6.6 find查找文件热词里“linux find用法”“linux find”都被提到。find 是定位文件最可靠的方式。find /etc -name nginx.conf在 /etc 目录下按名称查找。find /var/log -mtime -7查找 7 天内修改过的文件。find /tmp -type f -size 100M查找大于 100MB 的文件。find /root -name *.log -exec rm -rf {} \;找到以 .log 结尾的文件并删除。和grep搭配grep在文件内容里搜关键词find在文件系统里搜文件名。6.7 tar压缩与解压热词里tar命令出现次数不少。tar 在 Linux 中打包压缩是标准操作。tar -czvf backup.tar.gz /data/logs打包并压缩为 tar.gz 格式。参数含义c 创建归档z 使用 gzip 压缩v 显示过程f 指定归档文件名。tar -xzvf backup.tar.gz解压。参数含义x 解压。tar -tzvf backup.tar.gz只查看压缩包内容不实际解压。tar -xzvf backup.tar.gz -C /opt/restore解压到指定目录-C指定目标路径。在 Linux 服务器上发布程序常见做法是把 jar 包、配置文件、日志打成 tar.gz再传到目标服务器解压。掌握tar -czvf和tar -xzvf这一对就能覆盖多数场景。7. 15 个命令实操用户权限与系统查看7.1 sudo提权执行Linux 中普通用户权限有限某些系统操作需要管理员权限。sudo apt update使用管理员权限执行包管理更新命令。Ubuntu/Debian 系统适用。sudo systemctl restart nginx使用管理员权限重启服务。在环境上执行依赖安装等操作建议先确认当前用户和当前目录。把权限范围控制在本人负责的目录也便于平时排查命令运行时留下的结果和历史记录。7.2 whoami查看当前用户whoami输出例子root或ubuntu。如果是普通用户很多系统目录没有写权限需要加sudo。7.3 uname查看系统信息uname -a输出包括内核名称、主机名、内核版本、硬件架构。部署应用前需要确认系统是 x86_64 还是 arm64这决定了软件包下载版本执行uname -m即可。7.4 free查看内存free -h以人类可读方式显示内存总量、已用、可用、缓存。输出示例total used free shared buff/cache available Mem: 7.6G 2.1G 3.2G 128M 2.3G 5.0Gavailable是真正可以分配给新进程的内存量。内存吃紧时优先看available而不是只看free。7.5 df查看磁盘df -h显示各分区的磁盘使用情况。df -h /data只显示指定路径所在分区。排查磁盘满问题先看df -h确认哪个分区满再用du或find定位大文件。7.6 ps查看进程ps -ef显示所有进程的详细信息。ps -ef | grep nginx过滤出 nginx 相关进程。ps aux --sort-%mem按内存占用降序排列进程适合排查内存占用高的应用。启动服务后用ps -ef | grep 进程名验证进程是否存在是排错的基本操作。7.7 kill结束进程kill -9 12345强制结束进程号为 12345 的进程。kill 12345正常结束进程。先ps -ef | grep 进程名拿到 PID再kill -9 PID。注意如果进程是服务进程先看有没有启动脚本尽量使用systemctl stop正常停止服务只有服务卡死时才考虑kill -9。8. 网络、软件安装与杂项命令8.1 网络排查命令热词中“telnet命令怎么用”“linux scp命令”“redis命令”都被提到。网络基础命令里ip和ping最常用telnet 适合测试端口连通性。ip addr查看 IP 地址。ping -c 4 10.0.0.1发送 4 个 ICMP 包测试网络连通性。telnet 127.0.0.1 6379测试本地 6379 端口是否连通。telnet 不一定会默认安装如果没有需要先安装 telnet 客户端。不同发行版安装方式不同在 Debian/Ubuntu 系使用sudo apt install telnet在 CentOS/RHEL 系使用sudo yum install telnet或sudo dnf install telnet。ss -tlnp查看端口监听状态和对应进程。代替旧版netstat -tlnp。scp test.txt root192.168.1.10:/root/通过 SSH 将本地文件传到远程服务器。排错顺序建议先ping测网络通不通再telnet测端口通不通最后用ss -tlnp看服务有没有监听。8.2 systemctl服务管理systemctl 是 systemd 服务管理命令也是运维场景中出现频率最高的命令之一。systemctl status nginx查看服务状态。systemctl start nginx启动服务。systemctl restart nginx重启服务。systemctl enable nginx设置开机自启。systemctl disable nginx取消开机自启。修改配置文件后执行systemctl restart或systemctl reload。先status确认服务状态再tail日志检查启动结果是标准流程。8.3 apt / yum软件安装Linux 发行版不同包管理命令不同。Debian/Ubuntu 系sudo apt update更新软件源索引。sudo apt install git安装 git。sudo apt remove git卸载 git。CentOS/RHEL 系sudo yum install git使用 yum 安装 git。sudo dnf install git较新版本使用 dnf。热词中“linux安装docker”“linux安装nginx”“linux安装python”“linux镜像”都涉及包管理。安装软件前建议先apt search或访问官方文档确认源里有没有对应软件包。8.4 history查看历史命令热词里“history命令详解”出现频率很高。history 能显示当前用户在此终端下输入过的命令记录。history显示全部历史命令。history 20显示最后 20 条。!100重新执行编号为 100 的命令。!!执行上一条命令。终端里想快速重跑上一条命令输入!!即可。关注命令历史也能排查关键操作是不是自己做的。8.5 type / which查找命令位置热词“type命令”同样值得展开。type cd显示 cd 是 shell 内置命令。which python3显示 python3 可执行文件的路径。type -a python3显示所有同名命令路径。排查“命令找不到”时先which 命令看有没有安装再看 PATH 环境变量有没有包含可执行文件目录。如果不熟悉系统类型再使用uname、cat /etc/os-release确认。9. 快速上手与验收练习把最常用的命令整理成一张速查表。每一条都建议先在一个测试目录里执行一遍再进入真实项目目录。分类命令说明目录操作ls查看目录内容目录操作cd切换目录目录操作pwd查看当前目录文件操作mkdir创建目录文件操作touch创建空文件文件操作cp复制文件操作mv移动或重命名文件操作rm删除文件操作find查找文件文本处理cat查看文件文本处理grep过滤关键词文本处理tail/head查看文件尾部或头部编辑器vim编辑文件压缩打包tar压缩解压系统进程ps查看进程系统进程kill结束进程服务运行systemctl服务管理软件安装apt/yum安装软件网络ping测试连通性网络ss查看端口监听历史记录history查看历史命令建议的第一套练习流程mkdir ~/linux_practice cd ~/linux_practice touch test.txt echo hello linux test.txt cat test.txt grep linux test.txt tar -czvf test.tar.gz test.txt tar -xzvf test.tar.gz -C /tmp rm -rf ~/linux_practice这一套流程涵盖了创建目录、切换目录、创建文件、写入内容、查看文件、过滤关键词、压缩、解压、删除目录。全程跑通Linux 命令基本就算上手了。再做一个验收练习查看 nginx 状态。如果系统没有 nginx可以先安装。systemctl status nginx ps -ef | grep nginx ss -tlnp | grep 80如果能看到 nginx 进程和 80 端口监听说明服务管理、进程查看、端口排查三类命令已经能组合使用。这里建议在恰当授权的测试环境上执行先确认测试环境是否安装并放通端口再按实际情况调整。10. 高频错误与排查方法初学者除了记不住命令还容易在路径和权限上踩坑。下面把常见问题整理成排查表。问题现象可能原因排查方式解决方案提示 command not found软件未安装或 PATH 不对which 命令echo $PATH安装软件或修正 PATHPermission denied当前用户无权操作该文件ls -l查看权限换用户或加sudo确认是否允许执行文件不存在目录路径写错pwd、ls先用find定位再复制正确路径删除失败目录非空或权限不足ls -ld 目录使用rm -r必要时sudotar 解压报错压缩包损坏或格式不对file 包名查看格式用正确命令解压对应格式vim 卡住按了 CtrlS 或进入错误模式查看终端状态按 CtrlQ 恢复按 Esc 返回普通模式端口被占用服务重复启动或进程残留ss -tlnp | grep 端口kill 旧进程或更换端口systemctl 命令不存在系统使用非 systemd 初始化ps -p 1检查 PID 1改用 service 命令或检查发行版文档命令执行后报错但看不到原因日志级别或位置不对journalctl、tail -f日志根据日志信息定位具体错误安装软件失败软件源或网络问题apt update或检查 DNS更换软件源镜像确认网络如果一条命令执行报错建议依次做三步先看完整报错信息再检查当前目录和用户最后用history回看刚才执行的命令。11. 最佳实践与工程化建议掌握命令本身只是第一步真正把这些命令用好要靠习惯。以下几点在实际服务器环境中会被反复验证。第一为每个项目建立清晰的目录结构。建议统一使用/projects/应用名/ ├── conf/ # 配置文件 ├── logs/ # 日志文件 ├── scripts/ # 部署脚本 └── data/ # 数据文件这样日志清理、权限控制、备份策略都更容易管理。批量操作时先在一两台上验证命令再推广到其他机器避免把测试命令误用到生产环境。第二重要配置文件修改前先备份。cp或mv都可以但要注意命令不会污染生产配置。cp nginx.conf nginx.conf.bak.20250110第三批量任务要有日志和失败重试。如果给多台服务器批量执行systemctl restart建议把每台机器的执行状态记录到文件。for host in server01 server02 server03; do echo $host | tee -a restart.log ssh $host systemctl restart nginx restart.log 21 echo exit code: $? restart.log done这样一旦失败grep exit code: [^0] restart.log就能快速定位。第四命令写进脚本前一定要做人工预演。可以先在测试目录里执行一遍确认不影响目标服务的状态。第五注意遵循安全合规要求。在实验设备上进行本地测试时需要确认自己拥有实验环境授权不越权访问其他设备或数据。云服务器上执行系统命令可能涉及账号授权和权限边界要遵守服务商安全规范。12. 总结这 15 个命令只是一个切入点真正的能力来自组合使用。比如排查一次服务无法访问很可能是systemctl status、tail -f、ss -tlnp、grep四条命令的组合。写脚本时pwd、find、grep、tar又是最常用的基础组件。如果现在是刚开始接触 Linux建议先把本文的速查表收藏到浏览器每天花 10 分钟在虚拟机里练一遍。遇到“命令找不到”或“权限不够”的错误能自己通过which、ls -l、history找到原因就已经超过大多数初学者了。下一阶段可以往三个方向扩展学 shell 脚本语法把多条命令串成自动化任务学 ssh 密钥登录和免密批量操作学 systemd 服务单元文件的编写。这三个方向任选一个都能把当前掌握的 15 个命令真正变成生产能力。