- 学习使用 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 终端。在那里,你要么已经掌握了基本命令,要么就只能盯着闪烁的光标发呆,不知所措。好消息是,你不需要记住成百上千条命令:只要掌握一套扎实的命令,就能应对你 90% 的日常任务。
在本指南中您会发现 一套统一且非常完整的 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– 删除当前目录中所有具有该扩展名的文件。
组合如 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_archivolocate -i "*.php"忽略大小写。sudo updatedb– 更新索引(对服务器很重要)。
的缺点 定位 它只有在数据库更新后才能看到新创建的文件,而 发现 始终要关注真实的系统。
grep、sed 和 awk:搜索、过滤和转换文本
对于处理日志、配置或任何纯文本,最好的方法是 grep, sed y awk.
- grep的 寻找符合某种模式的线条:
grep "ERROR" /var/log/apache2/error.loggrep -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只更改组。
当您使用 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 -noip 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– 删除不再使用的依赖项。
你也有 apt-cache 或直接 apt show 为 查看包裹信息及其依赖项和版本:
apt show nginxapt 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 fichero2unzip 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 命令有了相当完整的了解。 在系统管理、开发和托管中,每天都会用到终端:从浏览目录、管理文件、权限和进程,到监控网络、安装软件包,以及通过管道和重定向组合命令来自动化任务;从现在开始,每次打开终端,它不再是令人生畏的黑屏,而是一个比任何图形界面都更快、更易于控制的工具。