Linux 命令学习路线
介绍 《Linux-命令》(笔记) 收集了超过 130 个 Linux 命令的使用方法。我将它们放置在数个目录中,你可以按照下述顺序学习它们:
1. 基础命令 🛠️
首先,了解基本的文件操作命令和系统管理命令是必须的。
文件和目录操作 📁
- ls:列出目录内容
- cd:更改目录
- pwd:显示当前路径
- mkdir:创建目录
- rmdir:删除空目录
- rm:删除文件或目录
- cp:复制文件或目录
- mv:移动文件或目录
- touch:创建空文件
- find:查找文件
- locate:快速查找文件(需安装并更新数据库)
文件权限和所有者 🔒
- chmod:修改文件权限
- chown:改变文件所有者
- chgrp:改变文件所属的组
- umask:设置默认权限
文件内容查看和编辑 📝
- cat:显示文件内容
- more:分页显示文件内容
- less:分页查看文件,支持上下滚动
- head:查看文件开头部分
- tail:查看文件末尾部分
- grep:搜索文件内容
- sed:流编辑器,文本处理
- awk:文本分析和处理
文件压缩和解压 📦
- tar:归档和解压
- gzip / gunzip:压缩/解压 .gz 文件
- zip / unzip:压缩/解压 .zip 文件
- bzip2 / bunzip2:压缩/解压 .bz2 文件
2. 文件系统管理 💾
接下来,学习如何管理 Linux 文件系统,包括磁盘、分区和挂载。
磁盘和分区管理 🛠️
- df:显示文件系统磁盘空间
- du:显示目录空间使用情况
- mount:挂载文件系统
- umount:卸载文件系统
- fdisk / parted:磁盘分区
- lsblk:列出块设备
- blkid:查看磁盘分区信息
文件系统操作 ⚙️
- mkfs:创建文件系统
- fsck:检查和修复文件系统
- mount:挂载磁盘分区或设备
- mount -t:挂载不同类型的文件系统
- tune2fs:调整 ext 文件系统的参数
3. 进程管理 🔄
在 Linux 中,进程管理是很重要的技能。
查看进程 👀
- ps:列出当前进程
- top:实时查看进程
- htop:更友好的进程查看工具(需要安装)
- pgrep:根据名称查找进程
- pidof:获取进程 ID
- pstree:以树状图查看进程关系
进程控制 ✋
- kill:发送信号终止进程
- killall:按名称终止进程
- pkill:按名称或其它条件终止进程
- bg:将作业放到后台
- fg:将作业放到前台
- jobs:查看后台作业
4. 用户和权限管理 👤
Linux 是一个多用户 操作系统,理解如何管理用户和权限非常重要。
用户和组管理 👥
- useradd:创建用户
- userdel:删除用户
- usermod:修改用户
- groupadd:创建组
- groupdel:删除组
- groups:查看用户所属的组
- passwd:修改用户密码
- chage:管理用户密码有效期
权限管理 🔑
- chmod:修改文件/目录权限
- chown:修改文件/目录所有者
- chgrp:修改文件/目录的组
- umask:设置文件默认权限
5. 网络管理 🌐
掌握网络命令可以帮助你配置和排除网络问题。
网络配置 🌍
- ifconfig:查看和配置网络接口(被 ip 命令替代)
- ip:更强大的网络配置工具
- hostname:查看或设置主机名
- nmcli:通过命令行管理 NetworkManager(如果安装)
网络诊断 🔍
- ping:测试网络连接
- traceroute:追踪路由路径
- netstat:查看网络连接状态
- ss:显示更详细的网络连接信息(替代 netstat)
- nslookup:查询 DNS
- dig:查询 DNS
- curl:传输数据(支持 HTTP/FTP 等协议)
- wget:下载文件
6. 日志管理 📜
了解如何查看和管理日志有助于你监控和排查系统问题。
查看日志 🧐
- dmesg:显示系统启动日志
- journalctl:查看系统日志(适用于使用 systemd 的系统)
- tail -f /var/log/syslog:实时查看日志(系统日志)
- logrotate:管理和轮换日志文件
7. 系统管理 ⚙️
系统管理涉及安装和维护系统的任务。
包管理 📦
- apt-get / apt:Debian/Ubuntu 系统的包管理工具
- yum / dnf:RedHat/CentOS 系统的包管理工具
- rpm:管理 RPM 包
- dpkg:管理 Debian 包
- snap:管理 Snap 包
- flatpak:管理 Flatpak 包
系统服务 🔧
- systemctl:控制 systemd 服务
- service:管理传统的 SysVinit 服务
- journalctl:查看服务日志
- chkconfig:管理服务开机启动(传统的 CentOS/RHEL)
8. 高级命令与脚本编程 🖥️
进阶的部分包括自动化和系统脚本。
Shell 脚本基础 📜
- #!/bin/bash:Bash 脚本的开头
- echo:输出文本
- read:读取用户输入
- for / while:循环
- if / else:条件判断
- function:定义函数
- awk:文本处理
- sed:流编辑器
任务调度 🕐
- cron:定时任务
- crontab:管理定时任务
- at:一次性定时任务
9. 安全性管理 🛡️
掌握 Linux 安全性命令和技巧是非常重要的。
防火墙管理 🔥
- iptables:配置防火墙(老版本)
- firewalld:新一代防火墙工具
- ufw:简化的防火墙管理工具(Ubuntu 默认)
SSH 安全 🔐
- ssh:安全远程连接
- scp:安全复制文件
- rsync:远程同步文件
加密和密钥管理 🔑
- gpg:加密/解密工具
- openssl:生成证书、密钥管理
10. 容器化与虚拟化(进阶) 🐳
对于 DevOps 或云计算环境中的用户来说,掌握容器化和虚拟化技术是非常重要的。
Docker 🚢
- docker:容器化管理工具
- docker-compose:多个容器管理
- docker run:启动容器
- docker ps:查看容器状态
- docker build:构建镜像
虚拟化 🖥️
- virsh:管理 KVM 虚拟机
- vagrant:虚拟机自动化工具
- qemu:虚拟化管理工具
学习建议 📚
-
循序渐进:从基础命令开始,逐步深入了解进程管理、网络配置等。
-
多做练习:通过实际操作来巩固命令的使用。可以在 Linux 虚拟机、WSL 环境中实践。
-
读书:读《Linux命令行与shell脚本编程大全》系统的学习 Linux 命令。
-
Linux终端中查询命令用法:
curl cheat.sh/命令
-
使用 AI 查询(注意:辨认信息真伪)。 根据个人使用感受, GPT 仍然是最佳选择。国内 AI 推荐 智谱清言,其余 AI “宣传大于疗效”。