LINUX——基础指令

引言

Linux 操作系统以其强大的命令行工具著称,掌握基础指令是高效使用 Linux 的必备技能。无论是文件管理、文本处理还是系统监控,命令行都能以极简的操作完成复杂任务。本文系统梳理 Linux 最核心的 30+ 基础指令,配合实际场景案例和进阶技巧,助你从"小白"快速进阶为命令行高手。

一、文件与目录操作

1. 基础导航与查看

指令 作用 常用参数 示例
pwd 显示当前工作目录 - pwd/home/user
ls 列出目录内容 -l(详情) -a(显示隐藏文件) ls -la → 显示所有文件详情
cd 切换目录 ..(上级目录) ~(家目录) cd ../documents → 进入上级目录的documents

场景示例:快速定位并查看隐藏配置文件

bash 复制代码
cd /etc          # 进入系统配置目录
ls -a | grep ssh # 列出所有文件并过滤包含"ssh"的项

2. 文件操作

指令 作用 关键特性 示例
cp 复制文件/目录 -r(递归复制目录) cp -r dir1 dir2
mv 移动或重命名文件 重命名无需额外参数 mv old.txt new.txt
rm 删除文件/目录 -r(递归删除) -f(强制) rm -rf tmp/ (⚠️慎用)
touch 创建空文件或更新文件时间戳 - touch file1.txt

避坑指南

  • rm -rf / 会删除系统所有文件!操作前务必确认路径。

  • 建议使用 alias rm='rm -i'rm 添加确认提示。


3. 文件内容查看与搜索

指令 作用 进阶用法
cat 查看完整文件内容 cat file1 file2 > merged.txt
head/tail 查看文件头部/尾部内容 tail -f log.txt (实时追踪日志)
grep 文本搜索 -i(忽略大小写) -v(反向匹配)
find 按条件搜索文件 find / -name "*.log" -mtime +7 (查找7天前的日志)

组合技:统计代码中特定关键词出现次数

bash 复制代码
grep -r "TODO" ./src | wc -l  # 递归搜索src目录下的"TODO"并计数

二、文本处理三剑客

1. sed:流式文本编辑器

核心功能:替换、删除、插入文本

bash 复制代码
# 替换文件中的字符串(原地修改)
sed -i 's/foo/bar/g' file.txt  

# 删除包含"debug"的行
sed '/debug/d' file.txt

2. awk:文本分析工具

经典用例:提取特定列数据

bash 复制代码
# 提取日志中第3列IP地址
awk '{print $3}' access.log  

# 统计各IP访问次数
awk '{ip_count[$3]++} END {for(ip in ip_count) print ip, ip_count[ip]}' access.log
  1. cut:按列切割文本
bash 复制代码
# 提取以冒号分隔的/etc/passwd第一列(用户名)
cut -d':' -f1 /etc/passwd

三、系统监控与管理

1. 进程管理

指令 作用 关键参数
ps 查看进程状态 -aux(显示所有进程)
top/htop 动态查看系统资源占用 htop需额外安装
kill 终止进程 -9(强制终止)

场景示例:批量结束僵尸进程

bash 复制代码
ps aux | grep 'Z' | awk '{print $2}' | xargs kill -9

2. 系统状态监控

指令 作用 实用技巧
df 查看磁盘空间 -h(人类可读格式)
free 显示内存使用情况 -m(以MB为单位)
netstat 查看网络连接状态 -tuln(显示所有监听端口)

四、权限与用户管理

1. 权限控制

指令 作用 数字权限示例
chmod 修改文件权限 chmod 755 script.sh
chown 修改文件所有者 chown user:group file

权限解释

  • 755 → 所有者:rwx,其他用户:rx

  • 644 → 所有者:rw,其他用户:r

2. 用户管理

bash 复制代码
sudo useradd new_user      # 创建新用户
sudo passwd new_user       # 设置密码
sudo usermod -aG sudo new_user  # 赋予sudo权限

五、高效命令行技巧

1. 管道与重定向

| 符号 | 作用 | 示例 |
|--------|-----------|------------------------------|----------|--------------|
| > | 输出重定向(覆盖) | ls > filelist.txt |
| >> | 输出重定向(追加) | echo "new line" >> log.txt |
| ` | ` | 管道(前命令输出作为后命令输入) | `ps aux | grep nginx` |

2. 快捷操作

  • 历史命令
    Ctrl+R 反向搜索历史命令,!! 重复上一条命令。

  • 通配符
    * 匹配任意字符,? 匹配单个字符,{a,b} 匹配多选项。

    bash 复制代码
    cp *.txt backup/      # 复制所有txt文件
    rm image-{1..5}.png   # 删除image-1.png到image-5.png

六、实战演练:日志分析

目标:分析 Nginx 访问日志,统计访问量最高的前5个IP

bash 复制代码
# 步骤1:提取IP列并排序统计
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -5

# 分解说明:
# awk → 提取第一列(IP)
# sort → 排序(为uniq做准备)
# uniq -c → 统计重复次数
# sort -nr → 按数值倒序排序
# head -5 → 取前5行

七、总结

本文涵盖了 Linux 命令行最核心的操作指令,掌握这些内容可应对 80% 的日常运维与开发需求。建议读者:

  1. 熟记常用指令的 高频参数组合

  2. 多用 man [命令] 查看官方手册(如 man grep

  3. 善用 Tab 键补全和 history 命令提升操作效率


附:学习资源推荐

  1. 《Linux命令行与Shell脚本编程大全》 - Richard Blum

  2. 在线练习平台Linux Journey

  3. 速查表Linux命令大全


如果对某个指令的用法有疑问,欢迎在评论区交流!

相关推荐
Lw老王要学习22 分钟前
Linux容器篇、第一章_02Rocky9.5 系统下 Docker 的持久化操作与 Dockerfile 指令详解
linux·运维·docker·容器·云计算
橙子小哥的代码世界37 分钟前
【大模型RAG】Docker 一键部署 Milvus 完整攻略
linux·docker·大模型·milvus·向量数据库·rag
_可乐无糖1 小时前
EC2安装WebRTC sdk-c环境、构建、编译
服务器·webrtc·aws
斯普信专业组1 小时前
Kafka主题运维全指南:从基础配置到故障处理
运维·分布式·kafka
倔强的石头1062 小时前
【Linux指南】用户与系统基础操作
linux·运维·服务器
云上艺旅2 小时前
centos升级内核
linux·运维·centos
kaikaile19952 小时前
centos开启samba服务
linux·运维·centos
云上艺旅2 小时前
centos部署k8s v1.33版本
linux·云原生·kubernetes·centos
好多知识都想学2 小时前
Centos 7 服务器部署多网站
linux·服务器·centos
好多知识都想学2 小时前
centos 7 部署awstats 网站访问检测
linux·运维·centos