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命令大全


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

相关推荐
kk努力学编程4 分钟前
Linux基础14-C语言篇之变量与标识符【入门级】
java·linux·c语言
小小AK1 小时前
数据集成实例分享:金蝶云星空对接旺店通实现库存管理自动化
java·运维·自动化
娶个名字趴1 小时前
网络编程(TCP/UDP)
java·服务器·网络·网络协议·tcp/ip·udp·java-ee
史嘉庆1 小时前
基于Linux系统理解 IO文件系统
linux·c++
霜雪殇璃1 小时前
(定时器,绘制事件,qt简单服务器的搭建)2025.2.11
运维·服务器·qt·学习
苏寅1 小时前
zsh: command not found: conda
linux·conda·zsh
@@庆1 小时前
linux的基础入门2
linux
TT-Kun2 小时前
Linux | 系统调用
linux·运维·操作系统
人7862 小时前
LVSNAT服务搭建
linux·服务器·网络
Lightning-py2 小时前
工具-screen-管理终端会话(服务器长时间运行任务)
linux·运维·服务器·前端·chrome