Bootstrap

LINUX——基础指令

引言

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

一、文件与目录操作

1. 基础导航与查看

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

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

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天前的日志)

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

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

二、文本处理三剑客

1. sed:流式文本编辑器

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

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

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

2. awk:文本分析工具

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

# 提取日志中第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

3. cut:按列切割文本

# 提取以冒号分隔的/etc/passwd第一列(用户名)
cut -d':' -f1 /etc/passwd

三、系统监控与管理

1. 进程管理

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

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

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. 用户管理

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 auxgrep nginx`

2. 快捷操作

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

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

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

六、实战演练:日志分析

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

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


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

;