一、Linux 简介
Linux 是一种免费、开源、功能强大的类 Unix 操作系统内核,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。它以稳定性、安全性、灵活性和高性能著称,广泛应用于服务器、云计算、嵌入式设备、超级计算机以及开发环境等领域。
通常所说的"Linux"指的是基于 Linux 内核的完整操作系统,即 GNU/Linux 发行版。常见的发行版包括:
- Ubuntu:用户友好,适合初学者
- CentOS / Rocky Linux:企业级服务器常用
- Debian:稳定、社区驱动
- Fedora:前沿技术,适合开发者
- Arch Linux:高度可定制,面向高级用户
Linux 的核心优势在于其命令行界面(CLI),通过终端执行命令可以高效地管理系统资源、处理文件、监控性能等。掌握常用命令是使用 Linux 的基础技能。
二、Linux 命令行基础
在 Linux 中,所有操作几乎都可以通过终端(Terminal)中的命令完成。命令的基本格式如下:
command [options] [arguments]
command:命令名称(如 ls、cp)options:选项或参数,用于修改命令行为(如 -l、-a)arguments:操作对象(如文件名、目录路径)
例如:
ls -la /home
表示使用 ls 命令,加上 -l 和 -a 选项,列出 /home 目录下的所有文件(包括隐藏文件)及其详细信息。
三、Linux 常用命令分类详解
下面将 Linux 常用命令按功能分为六大类,并逐一介绍典型命令及其用法。
1. 文件与目录操作命令
这类命令用于浏览、创建、复制、移动和删除文件与目录。
| 命令 | 功能 | 示例 |
|---|---|---|
ls |
列出目录内容 | ls -l 显示详细信息 ls -a 显示隐藏文件 |
cd |
切换当前目录 | cd /home 进入 home 目录 cd .. 返回上级目录 |
pwd |
显示当前工作目录路径 | pwd 输出如 /home/user |
mkdir |
创建新目录 | mkdir mydir mkdir -p a/b/c 递归创建多级目录 |
touch |
创建空文件或更新文件时间戳 | touch file.txt |
cp |
复制文件或目录 | cp file1.txt file2.txt cp -r dir1/ dir2/ 复制目录 |
mv |
移动或重命名文件 | mv old.txt new.txt 重命名 mv file.txt /tmp/ 移动 |
rm |
删除文件或目录 | rm file.txt rm -r dir/ 删除目录 rm -f 强制删除不提示 |
⚠️ 注意:
rm -rf /是危险命令,切勿随意执行!
2. 文件查看与编辑命令
用于查看文件内容、搜索文本、编辑配置等。
| 命令 | 功能 | 示例 |
|---|---|---|
cat |
查看文件全部内容 | cat file.txt |
more / less |
分页查看文件 | less large.log 支持上下滚动和搜索 |
head |
查看文件前几行 | head -10 file.txt 默认前10行 |
tail |
查看文件末尾几行 | tail -20 log.txt tail -f log.txt 实时追踪日志 |
grep |
文本搜索工具 | grep "error" log.txt grep -r "pattern" /dir/ 递归搜索 |
nano / vim / emacs |
文本编辑器 | vim config.conf 编辑文件 |
推荐:初学者可用
nano,熟练后建议学习vim。
3. 权限与用户管理命令
Linux 是多用户系统,权限控制严格,以下命令用于管理用户、组和文件权限。
| 命令 | 功能 | 示例 |
|---|---|---|
chmod |
修改文件权限 | chmod 755 script.sh 设置 rwxr-xr-x |
chown |
修改文件所有者 | chown user:group file.txt |
useradd / userdel |
添加/删除用户 | sudo useradd alice |
passwd |
修改用户密码 | passwd alice |
su |
切换用户 | su - root 切换到 root 用户 |
sudo |
以管理员权限执行命令 | sudo apt update |
groups |
查看用户所属组 | groups alice |
文件权限说明:
r=读(4),w=写(2),x=执行(1),如755表示所有者可读写执行,其他用户可读执行。
4. 系统信息与进程管理命令
用于查看系统状态、资源使用情况和管理运行中的进程。
| 命令 | 功能 | 示例 |
|---|---|---|
uname |
显示系统信息 | uname -a 查看内核版本等 |
df |
查看磁盘使用情况 | df -h 以人类可读方式显示 |
du |
查看目录占用空间 | du -sh /home 显示总大小 |
free |
查看内存使用 | free -m 以 MB 显示 |
top / htop |
实时查看进程与资源占用 | top 动态监控 CPU 和内存 |
ps |
查看当前进程 | ps aux 列出所有进程 |
kill |
终止进程 | kill 1234 发送终止信号 kill -9 1234 强制杀死 |
systemctl |
管理系统服务(Systemd) | sudo systemctl start nginx sudo systemctl enable ssh 开机自启 |
5. 网络相关命令
用于配置网络、测试连接和排查问题。
| 命令 | 功能 | 示例 |
|---|---|---|
ifconfig / ip |
查看网络接口信息 | ip addr show |
ping |
测试网络连通性 | ping google.com |
netstat / ss |
查看网络连接与端口 | ss -tuln 显示监听端口 |
curl / wget |
下载文件或调用 API | curl http://example.com wget https://site/file.zip |
ssh |
安全远程登录 | ssh user@192.168.1.100 |
scp |
安全复制文件到远程主机 | scp file.txt user@remote:/tmp/ |
6. 软件包管理命令
不同发行版使用不同的包管理器来安装、更新和卸载软件。
| 发行版 | 包管理器 | 常用命令 |
|---|---|---|
| Ubuntu / Debian | apt |
|
apt update 更新软件源索引 |
||
apt install nginx 安装软件 |
||
apt remove nginx 卸载 |
||
apt upgrade 升级所有软件 |
| CentOS / Rocky Linux | yum 或 dnf | | | dnf update 更新系统
| | dnf install httpd 安装 Apache
| | dnf remove package 卸载
| Arch Linux | pacman | | | pacman -Syu 同步并升级
| | pacman -S firefox 安装软件
四、实用技巧与建议
-
使用 Tab 键自动补全:输入命令或路径时按 Tab 可自动补全,提高效率。
-
使用历史命令 :按 ↑ 键查看之前执行过的命令,或使用
history命令。 -
管道(|)与重定向(> >>) :
ls -la \| grep ".txt":将前一个命令输出作为后一个输入echo "hello" > file.txt:写入文件(覆盖)echo "world" >> file.txt:追加内容
-
后台运行任务 :在命令后加
&可使其在后台运行,如ping google.com & -
结合使用命令 :Linux 强大之处在于命令组合,例如:
ps aux \| grep nginx \| awk '{print $2}' \| xargs kill上述命令查找 Nginx 进程并杀死。
五、总结
Linux 不仅是一个操作系统,更是一种思维方式------强调自动化、脚本化和高效管理。掌握其常用命令,是进入运维、开发、安全、数据分析等领域的必备技能。
本文介绍了 Linux 的基本概念,并将常用命令按功能分类讲解,涵盖文件操作、系统管理、网络配置、权限控制等多个方面。建议读者在实际环境中多加练习,逐步熟悉命令语法与组合技巧。
随着对 Linux 的深入理解,你将能够编写 Shell 脚本、自动化部署服务、优化系统性能,真正发挥其强大潜力。
附录:快速记忆表
| 类别 | 关键命令 |
|---|---|
| 文件操作 | ls, cd, cp, mv, rm, mkdir |
| 查看内容 | cat, less, tail -f, grep |
| 权限管理 | chmod, chown, sudo, su |
| 系统信息 | df -h, free -m, top, ps, uname -a |
| 网络工具 | ping, ssh, curl, ip, ss |
| 软件管理 | apt, dnf, pacman |