linux命令必背
linux命令必背详细介绍
以下是 Linux 系统中必须掌握的核心命令分类整理,涵盖基础操作、文件管理、系统监控、网络工具等高频使用场景,附常用参数和示例,方便记忆和实践:
一、系统基础命令
| 命令 | 功能描述 | 常用参数 / 示例 |
|---|---|---|
uname |
查看系统信息(内核、架构等) | uname -a(完整信息) |
date |
显示 / 设置系统日期和时间 | date "+%Y-%m-%d %H:%M:%S"(指定格式) |
cal |
显示日历 | cal 2025(显示 2025 年全年日历) |
echo |
输出文本或变量值 | echo "Hello World" |
history |
查看命令历史记录 | history(列出所有历史命令) |
二、文件与目录操作(核心中的核心)
1. 目录操作
| 命令 | 功能描述 | 常用参数 / 示例 |
|---|---|---|
ls |
列出目录内容 | ls -l(详细信息)ls -a(显示隐藏文件) |
cd |
切换目录 | cd ~(到家目录)cd ..(返回上级目录) |
mkdir |
创建目录 | mkdir -p dir1/dir2(递归创建多层目录) |
rmdir |
删除空目录 | rmdir dir |
pwd |
显示当前工作目录 | pwd |
2. 文件操作
| 命令 | 功能描述 | 常用参数 / 示例 |
|---|---|---|
cp |
复制文件 / 目录 | cp file.txt dir/(复制文件到目录)cp -r dir1 dir2(复制目录) |
mv |
移动文件 / 目录(重命名) | mv old.txt new.txt(重命名) |
rm |
删除文件 / 目录 | rm file.txtrm -r dir(删除目录)rm -f(强制删除,不提示) |
cat |
查看文件内容(适合小文件) | cat file.txt |
more/less |
分页查看文件(less支持搜索) |
less log.txt(按/关键词搜索,q退出) |
head/tail |
查看文件开头 / 结尾内容 | head -n 10 file(前 10 行)tail -f log(实时监控日志) |
nano/vim |
文本编辑 | nano file.txt(简单编辑器)vim file.txt(进入后按i编辑,:wq保存退出) |
touch |
创建空文件或更新时间戳 | touch new.txt |
chmod |
修改文件权限 | chmod 755 script.sh(赋予执行权限)chmod u+x file(给用户添加执行权限) |
chown |
修改文件所有者 / 所属组 | chown user:group file.txt |
du |
查看文件 / 目录大小 | du -sh dir(以人类可读格式显示目录大小) |
df |
查看磁盘空间使用情况 | df -h(以 GB/MB 为单位显示) |
find |
搜索文件 / 目录 | find /path -name "*.txt"(按名称搜索)find . -size +10M(找大于 10MB 的文件) |
三、文本处理与过滤(三剑客 +)
| 命令 | 功能描述 | 常用参数 / 示例 | |
|---|---|---|---|
grep |
搜索文本中的关键词 | grep "error" log.txt(找包含 error 的行)grep -v "ignore" file(排除包含 ignore 的行) |
|
awk |
按列处理文本(数据提取) | awk '{print $1}' file(打印第一列)awk -F: '{print $1}' /etc/passwd(以冒号分隔) |
|
sed |
流文本编辑(替换、删除等) | sed 's/old/new/g' file(替换所有 old 为 new)sed -i(直接修改文件) |
|
sort |
排序文本 | sort file.txt |
|
uniq |
去重(需先排序) | `sort file.txt | uniq(去重)<br>uniq -c`(统计重复次数) |
wc |
统计文件行数、字数、字节数 | wc -l file.txt(统计行数) |
四、压缩与解压缩
| 命令 | 功能描述 | 常用参数 / 示例 |
|---|---|---|
tar |
打包 / 压缩文件(支持多种格式) | tar -czvf file.tar.gz dir/(压缩目录为 gz 格式)tar -xzvf file.tar.gz(解压 gz 文件) |
gzip/gunzip |
压缩 / 解压缩单个文件(不打包) | gzip file.txt(生成 file.txt.gz)gunzip file.txt.gz |
zip/unzip |
压缩 / 解压缩 zip 格式文件 | zip -r archive.zip dir/(压缩目录)unzip archive.zip |
五、系统监控与进程管理
| 命令 | 功能描述 | 常用参数 / 示例 | |
|---|---|---|---|
top/htop |
实时监控进程(htop 交互性更强) | top(按M按内存排序,P按 CPU 排序) |
|
free |
查看内存使用情况 | free -h(以 GB/MB 显示) |
|
vmstat |
虚拟内存统计(系统性能分析) | vmstat 5(每 5 秒更新一次) |
|
ps |
查看进程状态 | ps -aux(显示所有用户进程)`ps -ef |
grep python`(找 Python 进程) |
kill |
终止进程 | kill -9 1234(强制终止 PID 为 1234 的进程) |
|
netstat/ss |
查看网络连接状态(ss 更高效) | netstat -tunlp(查看监听端口)ss -lntp(同上,推荐) |
|
lsof |
查看打开的文件和端口 | lsof -i:80(查看占用 80 端口的进程) |
|
df/du |
磁盘空间监控(见文件操作部分) | - |
六、网络工具
| 命令 | 功能描述 | 常用参数 / 示例 |
|---|---|---|
ping |
测试网络连通性 | ping www.baidu.com |
traceroute |
追踪网络路由 | traceroute www.google.com |
nslookup/dig |
DNS 查询 | nslookup baidu.com |
wget/curl |
下载文件 | wget https://example.com/file.zipcurl -O https://url(下载并保存为原文件名) |
scp |
安全复制文件(跨主机) | scp local.txt user@remote:/path/ |
ssh |
远程登录 Linux 主机 | ssh user@remote_ip |
telnet |
远程登录(不安全,逐渐被 ssh 替代) | telnet remote_ip port(测试端口连通性) |
七、包管理与服务控制
1. 包管理(根据发行版选择)
| 发行版 | 安装命令 | 示例 |
|---|---|---|
| Debian/Ubuntu | apt-get |
apt-get install nginxapt-get update |
| RedHat/CentOS | yum(旧)/dnf(新) |
yum install httpddnf update |
| Arch | pacman |
pacman -S git |
| 通用 | rpm/dpkg |
rpm -ivh package.rpm(安装 rpm 包)dpkg -i deb包 |
2. 服务管理
| 命令 | 功能描述 | 常用参数 / 示例 |
|---|---|---|
systemctl |
systemd 服务管理(主流) | systemctl start nginx(启动服务)systemctl enable nginx(设置开机启动) |
service |
传统服务管理(兼容旧系统) | service httpd start |
chkconfig |
查看 / 设置服务开机启动(旧版 RedHat) | chkconfig --list |
八、快捷键与实用技巧
| 快捷键 | 功能描述 | |
|---|---|---|
Ctrl+C |
终止当前进程(如ping) |
|
Ctrl+D |
退出当前终端(等效于exit) |
|
Ctrl+Z |
暂停进程并放入后台 | |
Ctrl+L |
清屏(等效于clear命令) |
|
Tab |
自动补全命令 / 路径(连按两次显示所有可能) | |
| ` | ` | 管道符(将前一个命令的输出作为后一个的输入) |
>/>> |
重定向输出(>覆盖,>>追加) |
|
sudo |
以管理员权限执行命令 | sudo apt-get install ... |
man |
查看命令手册 | man ls(查看 ls 命令帮助) |
九、实践建议
- 按功能分类记忆:如文件操作、网络、监控等,避免零散记忆。
- 多用示例练习:通过实际操作加深理解,例如用
ls -l查看文件权限,用grep过滤日志。 - 掌握通配符:
*(匹配任意字符)、?(单个字符)、[](字符范围),提升命令效率。 - 善用帮助:不确定参数时用
command --help或man command查询。
这些命令覆盖了 Linux 日常使用的 80% 以上场景,熟练掌握后可进一步学习进阶工具(如docker、k8s等)。建议从文件操作和系统监控开始,逐步扩展到网络和服务管理。