详细讲解Linux基本命令

最后更新: 四月14 2026
  • 学习使用 ls、cd 和 pwd 命令浏览文件系统,并使用 mkdir、rm 和 cp 命令管理文件夹。
  • 熟练使用 cat、less、grep、sed、awk 和 find 命令查看和搜索文本文件。
  • 在服务器环境中,使用 chmod、chown、ps、top、htop、ping、ip 和 ss 命令控制权限、进程和网络。
  • 使用 apt 安装和更新软件,使用 tar/zip、wget 和 scp,并通过组合命令和重定向来自动化任务。
基本的linux命令

无论您是从事服务器相关工作、网站开发,还是仅仅想充分发挥电脑的性能,我们都能为您提供帮助。你迟早会用到 Linux 终端。在那里,你要么已经掌握了基本命令,要么就只能盯着闪烁的光标发呆,不知所措。好消息是,你不需要记住成百上千条命令:只要掌握一套扎实的命令,就能应对你 90% 的日常任务。

在本指南中您会发现 一套统一且非常完整的 Linux 基本命令集融合了多本参考指南的精华:文件管理、流程、网络、软件包、权限、自动化……所有内容均以西班牙语从西班牙进行解释,并附有服务器管理、托管和本地工作的真实示例,组织结构清晰,方便您在需要时用作速查表。

基本的Linux命令

什么是Linux命令?为什么它们如此重要?

Un Linux 命令是指从命令行运行的程序或实用程序。您无需点击按钮,而是输入命令名称,还可以选择性地输入一些参数。 选项(或标志) 以及一个或多个 论点 例如文件路径、模式或服务名称。

这个想法很简单: 该终端是一个非常高效的文本界面单击即可完成操作固然不错,但要执行命令链、使用 cron 自动备份、使用过滤器查看大量日志或通过 SSH 管理远程服务器,输入几个命令比费力地操作图形菜单要方便得多。

在几乎所有现代发行版(Ubuntu、Debian、CentOS、Fedora、Arch 等)中,您都会打开一个终端。 Ctrl + Alt + T 或者在应用程序菜单中搜索“终端”。在服务器上,通常的步骤是: 通过 SSH 登录 从您的本地计算机。

基本目录导航命令

你首先需要掌握的是如何 浏览文件系统:了解你所在的位置、每个位置的内容以及如何快速切换文件夹。

ls:列出文件和目录

命令 ls 它会显示当前目录(或您指定的路径)的内容。这是您最常用的命令之一:

  • ls – 列出当前目录中可见的文件和文件夹。
  • ls -l – 显示详细信息:权限、所有者、大小、日期。
  • ls -a – 包括隐藏文件(以句点开头的文件)。
  • ls -lh 就像 -l但具有清晰易读的尺码(K、M、G)。
  • ls -lah – 结合了长字、隐蔽字和清晰字号。
  • ls -R – 递归列出子目录。
  • ls -t 按修改日期排序。
  • ls -S 按大小排序。

在 Web 服务器上,通常会这样做: ls -lah /var/www/html 查看所有项目文件,包括 隐藏的配置文件.htaccess 或文件夹 .git.

pwd:知道你当前所在的文件夹。

当你在不同的路线之间来回切换一段时间后,很容易迷路。 pwd (打印工作目录)你会得到 当前目录的完整路径,例如:

/home/usuario/proyectos/mi-sitio

它特别适用于 脚本当你需要知道自己在哪,以便安全地使用相对路线时。

cd:更改目录

要浏览文件系统,您可以使用 cd (更改目录)。一些重要的变化:

  • cd /ruta/completa ——它正走向一条绝对的道路。
  • cd carpeta – 输入相对于当前目录的文件夹。
  • cd ~ 跳转至 个人目录 用户。
  • cd - – 返回上一个目录(非常实用,用起来之前看起来很傻)。
  • cd .. – 在层级结构中向上移动一级。
  • cd ../.. 向上移动两层,以此类推。

如果你使用 Linux 主机,你会厌倦使用 cd /var/www/html 或者使用类似路径访问您网站的根目录。

基本文件和目录命令

一旦你掌握了如何移动,就该学习如何…… 创建、复制、删除和查看文件和文件夹这种情况在PC和VPS上每天都会发生。

mkdir 和 rmdir:创建和删除空目录

连接器 mkdir 您可以创建新文件夹。它支持同时创建多个路径,并提供非常实用的功能:

  • mkdir nuevo_directorio 创建一个简单的文件夹。
  • mkdir dir1 dir2 – 一次创建多个。
  • mkdir -p padre/hijo/nieto – 创建完整的嵌套结构,即使其中一部分已经存在,也不会报错。
  • mkdir -m 755 carpeta_web 创建具有特定权限的文件夹。

项目设置过程中的典型模式如下: mkdir -p /var/www/mi-sitio/{public_html,logs,backups} 从一开始就把所有事情安排妥当。

要删除空目录,可以使用以下方法: rmdir:

  • rmdir carpeta_vacia – 只要文件夹内没有任何内容,就可以删除它。
  • rmdir -p dir1/dir2/dir3 – 如果所有层级都为空,则移除整个链条。

如果目录包含内容,则需要使用 rm -r我们很快就会看到。

触摸:创建空文件或更新日期

命令 touch 它主要用于 创建空文件 或者更新修改日期而不修改其内容:

  • touch archivo.txt – 如果文件不存在,则创建该文件。
  • touch archivo1 archivo2 – 一次创建多个。
  • touch -t 202501010000 archivo.txt 强制指定时间戳。

它生成起来非常方便 配置文件或占位符 类型 touch .env o touch index.html.

rm:谨慎删除文件(和目录)

连接器 rm 您可以删除文件,并且通过正确的选项,还可以删除目录树。 没有垃圾桶如果犯了错误,想要挽回损失可能会很复杂甚至不可能。

  • rm archivo.txt 删除文件。
  • rm archivo1 archivo2 删除几个。
  • rm -i archivo.txt – 请求确认,这在学习过程中尤为理想。
  • rm -r carpeta – 递归删除文件夹及其所有内容。
  • rm -rf carpeta – 强制执行递归删除而不询问; 只有在你完全确定自己在做什么时才使用它。.
  • rm *.tmp – 删除当前目录中所有具有该扩展名的文件。
  高级 NixOS Linux:面向高要求用户的声明式发行版

组合如 rm -rf / 或者类似的方法都是让系统无法使用的快速修复方案,因此 将 RM 和 RF 与通用或通配符路由混合使用时要小心。.

cp 和 mv:复制、移动和重命名

要复制文件,您可以使用 cp 要移动或重命名,您可以使用 mv你们俩联手,就能搞定任何文件重组工作。

一些典型用途 cp:

  • cp origen.txt destino.txt 复制文件。
  • cp archivo.txt /otra/ruta/ 复制到另一个目录。
  • cp -i archivo.txt copia.txt ——先问问再动手。
  • cp -p archivo.txt backup.txt – 保留许可证、所有者和日期。
  • cp -r carpeta_origen carpeta_destino – 目录的递归复制。

对于网站的完整副本来说,这种情况非常常见。 cp -rp /var/www/html /backup/html-$(date +%Y%m%d)这样就留下了一个过时的备份,其中保留了权限和所有权。

连接器 mv 你可以移动和重命名:

  • mv archivo.txt nuevo_nombre.txt 重命名。
  • mv archivo.txt /otra/ruta/ 把它移开。
  • mv directorio nuevo_nombre 重命名文件夹。
  • mv *.log /var/log/backups/ – 迁移所有日志。

项目部署中常用的一种模式是 mv sitio-nuevo/* /var/www/html/ 用新版本网站替换旧版本网站。

猫,更少,头和尾巴:查看文件内容

要检查文本文件的内容,您可以使用多种工具,每种工具都有其自身的优势。

  • cat archivo.txt 在终端中显示整个文件。非常适合用于 小文件 或者将多个连接起来: cat archivo1 archivo2.
  • less archivo.log 用于 大文件因为它允许你逐页浏览、搜索(/texto),来回走动,然后离开 q.
  • head archivo 默认情况下显示前 10 行; head -n 50 你来决定数量。
  • tail archivo 它显示了最后几行; tail -f archivo.log 您可以实时查看日志的更新情况,这在您重现网站上的错误时非常有用。

在 Web 服务器调试中,您会不断看到诸如此类的组合 tail -f /var/log/nginx/error.log o less /var/log/apache2/access.log 了解正在发生的事情。

用于搜索文件和文本的命令

随着系统不断发展壮大,项目、日志和配置信息越来越多,了解这一点就变得至关重要。 快速查找文件和文本字符串.

查找和定位:按名称、大小或日期搜索文件

命令 find 它会扫描文件系统,并允许您按名称、类型、大小、修改日期等进行搜索,甚至还可以进行其他搜索。 根据结果​​采取行动:

  • find /ruta -name "nombre_archivo" 按确切名称搜索。
  • find /var/www -name "*.php" – 找到该区域内的所有 PHP 文件。
  • find /home -type f -size +100M – 文件大于 100 MB。
  • find /var/log -mtime -7 – 最近 7 天内修改过的文件。
  • find . -name "*.tmp" -delete - 查找并删除临时文件。
  • find /var/www -type f -exec chmod 644 {} \; – 调整所有文件的权限。

就其本身而言, locate 拉一 索引数据库因此,对于简单的姓名搜索来说,速度要快得多:

  • locate nombre_archivo
  • locate -i "*.php" 忽略大小写。
  • sudo updatedb – 更新索引(对服务器很重要)。

的缺点 定位 它只有在数据库更新后才能看到新创建的文件,而 发现 始终要关注真实的系统。

grep、sed 和 awk:搜索、过滤和转换文本

对于处理日志、配置或任何纯文本,最好的方法是 grep, sed y awk.

  • grep的 寻找符合某种模式的线条:
    grep "ERROR" /var/log/apache2/error.log
    grep -i "texto" archivo.txt 忽略大写字母。
    grep -r "cadena" /directorio – 递归搜索。
    grep -n "texto" archivo.txt 显示行号。
  • 口渴 允许 替换或删除文本 无需在编辑器中打开文件:
    sed 's/viejo/nuevo/g' archivo.txt – 替换所有出现的匹配项。
    sed -i 's/old_database/new_database/g' wp-config.php – 直接编辑(务必谨慎操作)。
  • AWK 它非常适合 工艺塔 (例如,日志):
    awk '{print $1}' access.log – 提取第一列(通常为 IP 地址)。
    awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10 – 您最活跃的 10 个 IP 地址。

虽然它们乍一看可能令人生畏,但一旦你掌握了这些工具的使用方法,就会发现它们其实非常实用。 你可以在几秒钟内完成在编辑器中会非常棘手的分析。.

权限、所有者和基本安全性的管理

Linux 基于非常清晰的权限系统,允许你 控制谁可以阅读、编写或执行什么这在多用户环境中至关重要,尤其是在 Web 服务器上。

ls -l:查看权限和所有者

我们之前已经提到过,但值得再次强调: ls -l 除了文件名之外,它还会教你…… 权限、所有者、组和大小典型示例:

-rw-r--r-- 1 usuario grupo 12345 Jan 1 12:34 archivo.txt
drwxr-xr-x 2 usuario grupo 4096 Jan 1 12:34 carpeta/

第一列内容如下: 类型 (- 存档, d 目录)以及三组权限:用户、组和其他(r 阅读, w 写作, x 执行)。

chmod:更改权限

连接器 chmod 您可以调整文件或文件夹的权限。您可以使用以下方式执行此操作: 数字符号 o 象征性的:

  • chmod 755 script.sh – rwxr-xr-x(拥有所有权限,其余用户仅拥有读取/执行权限)。
  • chmod 644 index.html – rw-r–r–,在网页文件中非常常见。
  • chmod u+x backup.sh – 赋予用户执行权限。
  • chmod g-w archivo.txt – 从群组中移除文字。
  • chmod -R 755 directorio – 递归地更改权限。

将数值相加: 4 次读取,2 次写入,1 次执行所以 7 = 4+2+1 (rwx),6 = 4+2 (rw-),5 = 4+1 (rx),等等。

chown 和 chgrp:所有者和组

除了权限之外,每个文件还有 所有者和关联团体例如,这使您可以让 Web 服务器拥有它必须提供的文件。

  • chown usuario archivo.txt 所有权变更。
  • chown usuario:grupo archivo.txt – 更改所有者和组。
  • chown -R www-data:www-data /var/www/html – 常见于 Debian/Ubuntu 上的 Apache/Nginx 服务器。
  • chgrp grupo archivo.txt 只更改组。
  Android操作系统:历史、架构和演变

当您使用 FTP 以一个用户身份上传文件,而 Web 服务器(另一个用户)无法读取或写入这些文件时, 几乎总可以通过正确使用 chown 或 chmod 命令来解决这个问题。.

sudo:以管理员身份运行,但无需 root 权限

命令 sudo (superuser do)是运行管理任务的推荐方法,无需直接以 root 用户身份登录,因为这样做很危险。

简单地 你需要在想要以提升权限运行的任何命令前加上 `sudo`。:

  • sudo apt update – 更新软件包列表(Debian/Ubuntu)。
  • sudo systemctl restart nginx 重启 Nginx。
  • sudo useradd nuevo_usuario 创建用户。

它会要求你输入密码,如果你的用户属于正确的组,你将以 root 权限执行命令。这可以防止你被…… 一直拥有 root 权限,存在意外删除或修改关键文件的风险。.

流程管理和系统性能

当某件事进展缓慢或出现异常时,就该仔细检查一下了。 哪些进程正在运行?它们如何使用资源?这些命令是你的最佳帮手。

ps、top 和 htop:查看正在运行的程序

命令 ps 拍摄当时正在进行的过程的照片。 ps aux 您可以查看所有系统进程,包括用户活动、CPU 和内存使用情况等。您可以使用以下方式进行筛选: grep:

  • ps aux | grep nginx – 仅查看 Nginx 进程。
  • ps -u usuario – 特定用户的进程。

如果你想要什么 动态的、实时的, 你用 top 或其维生素强化版 htop:

  • top – 按 CPU 使用率排序列出进程,并会不断更新。
  • 在顶部可以按内存排序(M),终止进程(k)等
  • htop – 功能相同,但增加了颜色、CPU 进度条、鼠标支持、进程树……在许多系统中,需要先安装它(sudo apt install htop 或类似)。

在爬虫服务器上,打开 HTOP 通常是第一步是观察。 什么程序或设备占用了过多的CPU或内存?.

kill 和 killall:终止恶意进程

如果某个进程挂起或触发后没有响应,您可以使用以下命令停止它: kill o killall.

  • kill 1234 – 向 PID 为 1234 的进程发送 TERM (15) 信号,要求其“静默”终止。
  • kill -9 1234 – KILL 信号(9),立即终止进程;请将其作为最后的手段。
  • killall nombre_proceso 例如,终止所有具有该名称的进程。 killall php-fpm.

查找 PID 的常用方法是: ps o 最佳 然后把它传递下去 kill 轻柔地。如果它不听话,那就拉它。 -9.

df 和 du:控制磁盘空间

当服务器空间不足时, 一切都开始出错了。无法写入的数据库、没有增长的日志、不断崩溃的服务。要监控这些问题,您可以使用 df y du.

  • df -h – 以可读格式显示每个已挂载文件系统的已用空间和可用空间。
  • df -h /var 仅包含来自该分区的信息。
  • du -sh /var/www/* – 该路径下每个 Web 项目的大小。
  • du -h --max-depth=1 / 哪些根目录占用空间最大?

一个非常实用的定位命令 最重的文件夹 这就像 du -h --max-depth=1 /var | sort -hr | head -5其中列出了五个最大的,按从大到小的顺序排列。

基本网络命令

一旦你开始接触服务器、域名和网络流量,你就需要了解 如果网络连接正常,您的 IP 地址是什么?哪些端口已打开?您的网站响应情况如何?.

ip、ifconfig、ping 和路由

现代系统中,星际指挥部是 ip特别 ip a (o ip addr),它会显示所有网络接口、它们的 IP 地址、状态等。以前它曾被使用过。 ifconfig今天推荐 ip虽然 使用ifconfig 它仍然以软件包的形式存在于许多系统中。 net-tools.

  • ip a – 所有接口和 IP 地址。
  • ip addr show dev eth0 – 特定接口的详细信息。
  • ping google.com – 检查您是否解决了问题并联系了 Google,并显示时间。
  • ping -c 4 8.8.8.8 – 只向该 IP 地址发送 4 个数据包。
  • route -n o ip route show – 路线表,用于查看交通流量的来源。

如果服务器“不可见”,则首先要采取的步骤总是 ping 该域名,ping 该 IP 地址,查看服务器的 IP 地址及其网关。ip route.

netstat/ss 和 curl:开放端口和 HTTP 响应

看看是什么 哪些端口处于打开状态?哪些进程正在监听? 在它们之中,你有 netstat (经典)和 ss (现代、速度更快):

  • ss -tuln – TCP/UDP 端口监听,但不解析名称。
  • ss -tlnp | grep :80 – 是否有程序在监听 80 端口?
  • netstat -tuln – 在具有此功能的系统中等效。

快速测试 网站如何从服务器端响应,没有什么比 curl:

  • curl -I https://tu-dominio.com – 仅 HTTP 标头(状态码、服务器等)。
  • curl https://tu-dominio.com 下载原始HTML代码。

结合 ping、ip、ss 和 curl 您可以诊断几乎所有基本的连接或服务中断问题。

软件包管理:安装、更新和清理软件

每个 Linux 发行版系列都有自己的 包装经理掌握它能让你 无需费力手动安装二进制文件,即可安装和更新软件。.

Debian/Ubuntu 中的 apt 和 apt-get

在 Debian、Ubuntu 及其衍生发行版中,标准是 apt (或其经典版本) apt-get):

  • sudo apt update – 更新可用套餐列表。
  • sudo apt upgrade – 将所有已安装的软件包更新到最新版本。
  • sudo apt install nombre_paquete 安装一个或多个软件包。
  • sudo apt remove nombre_paquete 卸载软件包,但保留其配置。
  • sudo apt purge nombre_paquete 它会清除所有内容,包括设置。
  • sudo apt autoremove – 删除不再使用的依赖项。
  Windows 和 Unix 系统上的内存转储和内核分析

你也有 apt-cache 或直接 apt show查看包裹信息及其依赖项和版本:

  • apt show nginx
  • apt search php

yum/dnf 和吃豆人:其他家族

在基于 Red Hat 的系统(例如 CentOS 或 RHEL)上,您将拥有 yum 或其继任者 dnf:

  • sudo yum install httpd – 安装 Apache。
  • sudo dnf update – 将所有内容更新到最新版本。

在 Arch Linux 及其衍生版本中,管理器是 pacman:

  • sudo pacman -S gimp – 安装 GIMP。
  • sudo pacman -Syu 同步并更新系统。

即使语法发生变化, 其理念相同。更新索引、安装软件包、删除软件包并清理剩余的依赖项。

压缩、解压缩和传输文件

使用以下方式可以大大简化大型文件或文件集的管理: 压缩文件 并具备远程下载和复制功能。

焦油,拉链/解拉链:包装和压缩

命令 tar 它是 Linux 中创建和提取的标准工具。 tar包 (文件 .tar、.tar.gz、.tar.bz2 等):

  • tar -czvf backup.tar.gz carpeta/ – 创建一个使用 gzip 压缩的 .tar.gz 文件。
  • tar -xzvf backup.tar.gz 提取内容。
  • tar -tzvf backup.tar.gz – 列出里面的物品,无需取出。

最常见的旗帜是 c(创建),x(提取),t(列表),v(详细),f(文件),z(gzip),j(bzip2),J(xz).

跟...共事 ZIP文件 (在 Windows 环境中非常常见)您有 zip y unzip:

  • zip archivo.zip fichero1 fichero2
  • unzip archivo.zip

wget、curl 和 scp:在机器之间下载和复制文件

除了使用 curl 浏览网页外,你还可以使用 wget 要从 HTTP 或 FTP 下载文件:

  • wget https://wordpress.org/latest.zip – 下载最新版本的 WordPress。
  • wget -c URL – 恢复中断的下载。

在您的计算机和服务器之间安全地复制文件 通过 SSH,您可以 scp:

  • scp archivo.txt usuario@servidor:/ruta/destino/ 上传文件。
  • scp -r carpeta usuario@servidor:/ruta/ – 递归复制文件夹。
  • scp usuario@servidor:/ruta/archivo.txt ./ – 从服务器下载。

这一切的背后是 SSH,这也是你用来……的工具。 连接到远程终端 (命令 ssh usuario@servidor).

自动化、历史和提高生产力的小技巧

掌握了基础知识后,下一步就是开始…… 组合命令并自动执行重复性任务这正是Linux真正开始展现优势的地方。

历史记录、别名和 which:快捷方式和快速参考

连接器 history 您可以查看最后执行的命令,并直接重复使用,无需重新编写:

  • history – 列出行号。
  • !255 – 再次运行命令 255。

创建临时快捷方式alias:

  • alias ll="ls -lah" 从这里 ll 等于 ls -lah.
  • unalias ll – 删除别名。

如果你想知道 程序安装位置 你使用的是哪个可执行文件? which:

  • which php 例如,显示 PHP 的路径。 /usr/bin/php.
  • which -a python – PATH 中的所有匹配项。

重定向和管道:像专业人士一样组合命令

命令行真正的力量源于权力 链式小型工具这是通过以下方式完成的: 管道 (|)Y 重定向 (>, >>, 2>等)。

  • comando1 | comando2 – 出口 comando1 作为条目进入 comando2.
    例如: ls -la | grep ".php" – 仅列出包含“.php”的文件。
  • ls > listado.txt – 将输出保存到文件(覆盖)。
  • echo "línea" >> archivo.txt – 添加到文件末尾。
  • comando > todo.log 2>&1 – 将正常输出和错误重定向到同一个文件。
  • comando &> /dev/null 把所有东西都送到“黑洞”去。

有了它,你可以做很多很棒的事情,例如 计数 404 个错误 在日志中使用类似这样的命令 grep " 404 " access.log | wc -l清理旧文件find y -delete.

如果你已经看到这里,那么你已经对基本的(以及不太基本的)Linux 命令有了相当完整的了解。 在系统管理、开发和托管中,每天都会用到终端:从浏览目录、管理文件、权限和进程,到监控网络、安装软件包,以及通过管道和重定向组合命令来自动化任务;从现在开始,每次打开终端,它不再是令人生畏的黑屏,而是一个比任何图形界面都更快、更易于控制的工具。