Linux 常用命令
1. 文件与目录管理
在 Linux 系统中,一切皆文件。掌握文件和目录的基本操作是使用 Linux 的基石。这些命令能帮助你快速在文件系统中导航、创建和整理资源。
目录导航与查看
ls(List):列出目录内容。这是最常用的命令之一。ls -l:以长格式显示,包含权限、所有者、大小和修改时间等详细信息。ls -a:显示所有文件,包括以.开头的隐藏文件。ls -lh:配合-l使用,以人类可读的格式(如 KB, MB)显示文件大小。
cd(Change Directory):切换当前工作目录。cd /path/to/dir:切换到绝对路径。cd ..:返回上一级目录。cd ~:回到当前用户的家目录。
pwd(Print Working Directory):显示当前工作目录的绝对路径。当你迷失在目录树中时,这个命令非常有用。
文件操作
mkdir(Make Directory):创建新目录。mkdir -p a/b/c:递归创建目录树,如果父目录不存在会自动创建。
cp(Copy):复制文件或目录。cp file1 file2:将file1复制为file2。cp -r dir1 dir2:递归复制整个目录及其内容。
mv(Move):移动文件或重命名。mv oldname.txt newname.txt:重命名文件。mv file.txt /path/to/destination/:将文件移动到指定目录。
rm(Remove):删除文件或目录。请务必小心使用此命令,删除后通常无法恢复。rm file.txt:删除文件。rm -rf directory:强制递归删除目录及其所有内容(慎用!)。
2. 文件内容查看与搜索
Linux 提供了多种工具来查看和搜索文件内容,从简单的全量查看到复杂的模式匹配。
查看内容
cat(Concatenate):查看小型文件的全部内容,或合并文件。cat file.txt:在终端输出文件内容。
less:分页查看大型文件。相比more,它允许向前和向后翻页。- 进入后按
q退出,按/进行搜索。
- 进入后按
head/tail:查看文件的开头或结尾。head -n 10 file.txt:查看前 10 行。tail -n 10 file.txt:查看后 10 行。tail -f log.txt:实时追踪文件的新增内容,常用于监控日志。
搜索内容
grep(Global Regular Expression Print):强大的文本搜索工具。grep "error" log.txt:在文件中查找包含 "error" 的行。grep -r "function" .:在当前目录及子目录下递归查找包含 "function" 的文件。
3. 系统状态与进程管理
作为系统管理员或开发者,了解系统的负载和运行状态至关重要。
资源监控
top/htop:实时显示系统进程和资源占用情况(CPU、内存)。htop是top的增强版,界面更友好。df(Disk Free):查看磁盘空间使用情况。df -h:以人类可读格式显示。
free:查看内存使用情况。free -m:以 MB 为单位显示。
进程管理
ps(Process Status):查看当前进程快照。ps aux:显示系统中所有进程的详细信息。
kill:向进程发送信号,通常用于终止进程。kill <PID>:终止指定进程 ID 的进程。kill -9 <PID>:强制终止进程(发送 SIGKILL 信号)。
4. 权限与用户管理
Linux 拥有严格的权限控制机制,确保系统的安全性。
权限修改
chmod(Change Mode):修改文件或目录的权限。 权限可以使用数字表示:读 (),写 (),执行 ()。例如,
rwx的值为 。chmod 755 script.sh:设置所有者拥有读写执行权限 (7),组和其他人拥有读执行权限 (5)。chmod +x script.sh:赋予文件可执行权限。
chown(Change Owner):修改文件所有者。chown user:group file.txt:将文件的所有者修改为user,所属组修改为group。
超级用户
sudo(SuperUser Do):以超级用户(root)身份执行命令。sudo apt update:以管理员权限更新软件包列表。
5. 网络操作
在服务器维护和应用部署中,网络命令是必不可少的工具。
ping:测试主机之间的连通性。ping google.com:测试与 Google 服务器的连接。
curl(Client URL):强大的网络请求工具,支持多种协议。curl <https://example.com>:获取网页内容。curl -O <url>:下载文件。
netstat/ss:查看网络连接和端口状态。ss是netstat的现代替代品,速度更快。ss -tuln:查看当前监听的 TCP 和 UDP 端口。
6. 归档与压缩
Linux 下常见的压缩格式包括 .tar.gz 和 .zip。
tar(Tape Archive):打包和解包工具。tar -czvf archive.tar.gz dir/:将目录打包并压缩为.tar.gz。-c: 创建归档-z: 使用 gzip 压缩-v: 显示详细过程-f: 指定文件名
tar -xzvf archive.tar.gz:解压.tar.gz文件。
zip/unzip:处理.zip格式文件。zip -r archive.zip dir/:递归压缩目录。unzip archive.zip:解压文件。
7. 管道与重定向
Linux 的强大之处在于可以将简单的命令组合起来完成复杂的任务。
|(Pipe):管道符,将前一个命令的输出作为后一个命令的输入。ps aux | grep python:查找所有包含 "python" 的进程。
>/>>(Redirect):重定向输出。echo "Hello" > file.txt:将输出写入文件(覆盖原有内容)。echo "World" >> file.txt:将输出追加到文件末尾。