
Linux 是一个强大的开源操作系统,其命令行界面(CLI)是其核心功能之一。通过命令行,你可以高效地管理系统、文件和进程。本教程针对初学者,介绍一些最常用的命令,按照类别组织。每个命令包括简要说明、语法示例和使用场景。
假设你已经在终端中操作(例如,通过 SSH 或本地终端)。命令通常以小写字母输入,按 Enter 执行。许多命令支持选项(如 -h 查看帮助)。
1. 导航和目录操作
这些命令用于浏览文件系统和管理系统目录。
pwd:显示当前工作目录的路径。
- 示例:
pwd - 输出:
/home/user/documents - 场景:确认你当前的位置。
- 示例:
ls:列出当前目录的内容。
- 示例:
ls -l(详细列表,包括权限、大小和修改时间) - 示例:
ls -a(显示隐藏文件) - 场景:查看文件夹中的文件。
- 示例:
cd:切换目录。
- 示例:
cd /path/to/directory(绝对路径) - 示例:
cd ..(返回上级目录) - 示例:
cd ~(返回用户主目录) - 场景:移动到不同的文件夹。
- 示例:
mkdir:创建新目录。
- 示例:
mkdir new_folder - 示例:
mkdir -p parent/child(递归创建) - 场景:组织文件时新建文件夹。
- 示例:
rmdir:删除空目录。
- 示例:
rmdir empty_folder - 场景:清理无用目录(注意:目录必须为空)。
- 示例:
2. 文件操作
管理文件的创建、复制、移动和删除。
touch:创建空文件或更新文件时间戳。
- 示例:
touch newfile.txt - 场景:快速创建一个新文件。
- 示例:
cp:复制文件或目录。
- 示例:
cp file.txt /path/to/destination/(复制文件) - 示例:
cp -r dir/ /path/to/destination/(递归复制目录) - 场景:备份文件。
- 示例:
mv:移动或重命名文件/目录。
- 示例:
mv oldname.txt newname.txt(重命名) - 示例:
mv file.txt /path/to/new/location/(移动) - 场景:整理文件结构。
- 示例:
rm:删除文件或目录。
- 示例:
rm file.txt(删除文件) - 示例:
rm -r dir/(递归删除目录) - 示例:
rm -f file.txt(强制删除,无提示) - 警告:删除不可恢复,使用时谨慎!
- 示例:
3. 查看和编辑文件
阅读文件内容或进行简单编辑。
cat:显示文件内容。
- 示例:
cat file.txt - 示例:
cat file1.txt file2.txt > combined.txt(合并文件) - 场景:快速查看小文件。
- 示例:
less 或 more:分页查看文件(适合大文件)。
- 示例:
less largefile.log - 操作:空格翻页,q 退出。
- 场景:浏览日志文件。
- 示例:
head:显示文件开头几行。
- 示例:
head -n 10 file.txt(前 10 行) - 场景:检查文件头部。
- 示例:
tail:显示文件结尾几行。
- 示例:
tail -n 10 file.txt(后 10 行) - 示例:
tail -f logfile.log(实时监控) - 场景:跟踪日志更新。
- 示例:
nano 或 vi/vim:文本编辑器。
- 示例:
nano file.txt(简单编辑器) - 示例:
vi file.txt(高级编辑器,i 插入模式,:wq 保存退出) - 场景:修改配置文件。
- 示例:
4. 系统信息和监控
了解系统状态和资源使用。
uname:显示系统信息。
- 示例:
uname -a(所有信息,包括内核版本) - 场景:检查操作系统类型。
- 示例:
whoami:显示当前用户名。
- 示例:
whoami - 场景:确认用户身份。
- 示例:
df:显示磁盘空间使用情况。
- 示例:
df -h(人类可读格式,如 GB) - 场景:检查硬盘剩余空间。
- 示例:
du:显示目录或文件大小。
- 示例:
du -sh /path/to/dir/(总结大小) - 场景:找出占用空间的文件。
- 示例:
ps:显示当前进程。
- 示例:
ps aux(所有进程详情) - 场景:查看运行程序。
- 示例:
top 或 htop:实时监控进程(htop 需要安装)。
- 示例:
top(q 退出) - 场景:监控 CPU 和内存使用。
- 示例:
kill:终止进程。
- 示例:
kill PID(PID 从 ps 获取) - 示例:
kill -9 PID(强制杀死) - 场景:停止挂起的程序。
- 示例:
5. 权限和所有权
管理文件访问权限。
chmod:更改文件权限。
- 示例:
chmod 755 script.sh(所有者可执行,其他人可读) - 示例:
chmod +x file(添加执行权限) - 场景:使脚本可运行。
- 示例:
chown:更改文件所有者。
- 示例:
chown user:group file.txt(需要 sudo) - 场景:转移文件所有权。
- 示例:
6. 网络和下载
基本网络操作。
ping:测试网络连接。
- 示例:
ping google.com - 场景:检查互联网连通性。
- 示例:
ip 或 ifconfig:显示网络接口信息(ifconfig 可能需安装)。
- 示例:
ip addr show - 场景:查看 IP 地址。
- 示例:
wget 或 curl:下载文件。
- 示例:
wget https://example.com/file.zip - 示例:
curl -O https://example.com/file.zip - 场景:从 web 下载资源。
- 示例:
7. 包管理和更新
取决于你的 Linux 发行版(例如 Ubuntu 用 apt,CentOS 用 yum/dnf)。
apt(Debian/Ubuntu):
- 示例:
sudo apt update(更新包列表) - 示例:
sudo apt install package-name(安装包) - 示例:
sudo apt search keyword(搜索包)
- 示例:
yum/dnf(Red Hat/CentOS/Fedora):
- 示例:
sudo dnf update(更新系统) - 示例:
sudo dnf install package-name
- 示例:
- 场景:安装软件或保持系统更新。
高级提示
sudo:以超级用户权限运行命令(需密码)。
- 示例:
sudo command - 警告:小心使用,避免破坏系统。
- 示例:
man:查看命令手册。
- 示例:
man ls(q 退出) - 场景:学习命令细节。
- 示例:
grep:搜索文本。
- 示例:
grep "pattern" file.txt - 场景:过滤输出。
- 示例:
管道(|)和重定向(>、>>):
- 示例:
ls | grep txt(过滤 ls 输出) - 示例:
echo "text" > file.txt(写入文件)
- 示例:
alias:创建命令别名。
- 示例:
alias ll='ls -l'(在 ~/.bashrc 中永久化)
- 示例: