1. Linux基本指令概述
第一次接触Linux终端时,那闪烁的光标和黑底白字的界面总让人望而生畏。但就像学骑自行车一样,掌握几个核心指令后,你会发现这个看似复杂的系统其实比图形界面更高效。Linux指令是操作系统的神经末梢,通过简单的文本命令就能完成文件管理、进程控制、系统监控等复杂操作。
我至今记得第一次用ls命令列出目录内容时的惊喜——原来不需要鼠标点击就能快速浏览文件。经过多年的运维工作,我整理出这套最常用、最核心的Linux指令集,特别适合从Windows转来的新手。这些指令在CentOS、Ubuntu等主流发行版中通用,掌握后能完成80%的日常操作。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 文件与目录操作指令
2.1 导航与查看
pwd(Print Working Directory)是最该第一个掌握的指令。它像GPS一样告诉你当前所在位置,避免在目录迷宫中迷失方向。执行后会显示完整路径,例如/home/username/documents。
ls指令相当于Windows的资源管理器,但更强大。基础用法是直接输入ls,但加上参数后功能倍增:
bash复制ls -l # 显示详细信息(权限、所有者、大小)
ls -a # 显示隐藏文件(以点开头的文件)
ls -lh # 人类可读的文件大小(自动转换为KB/MB)
经验:在陌生服务器上,先用
ls -la查看所有文件,特别注意.bash_history等隐藏文件,常能发现重要线索。
2.2 目录操作
创建目录用mkdir,删除空目录用rmdir。但实际工作中更常用的是:
bash复制mkdir -p project/{src,doc,test} # 一次性创建多级嵌套目录
rm -r temp_dir # 递归删除非空目录(慎用!)
移动和重命名都是mv命令:
bash复制mv old.txt new.txt # 重命名
mv file.txt ~/backups/ # 移动到备份目录
复制文件时,cp的-i参数能防止覆盖重要文件:
bash复制cp -i important.txt backup/ # 若目标存在会询问
cp -v *.log /var/log/ # -v显示复制进度
2.3 文件操作
查看文件内容有多种方式:
bash复制cat config.conf # 显示全部内容(适合小文件)
less long_file.log # 分页查看(支持搜索)
head -n 20 access.log # 显示前20行
tail -f app.log # 实时追踪日志更新
查找文件时,find比图形界面搜索更快:
bash复制find /home -name "*.jpg" # 按文件名查找
find /var -size +10M -type f # 找大于10MB的文件
3. 文本处理三剑客
3.1 grep:文本搜索
grep是日志分析的利器:
bash复制grep "ERROR" system.log # 搜索包含ERROR的行
grep -v "DEBUG" app.log # 排除DEBUG行
grep -i "warning" *.conf # 忽略大小写
grep -r "main()" /usr/src/ # 递归搜索目录
3.2 sed:流编辑器
批量替换文本时,sed比手动编辑高效百倍:
bash复制sed 's/foo/bar/g' file.txt # 替换所有foo为bar
sed -i.bak '2d' data.csv # 删除第2行并备份原文件
3.3 awk:数据处理
生成报告时,awk能提取特定列并计算:
bash复制awk '{print $1,$3}' data.txt # 打印第1和第3列
awk '$3 > 100 {print $0}' sales.csv # 筛选第3列大于100的行
4. 系统管理指令
4.1 进程管理
ps和top是监控进程的必备工具:
bash复制ps aux | grep nginx # 查看nginx进程
top -u mysql # 监控mysql用户进程
kill -9 1234 # 强制终止PID为1234的进程
4.2 权限管理
Linux严格的权限系统通过chmod和chown控制:
bash复制chmod 755 script.sh # 所有者可读写执行,其他人只读执行
chown user:group file # 修改文件所有者和所属组
4.3 网络工具
bash复制ping example.com # 测试网络连通性
netstat -tuln # 查看监听中的端口
ssh user@remote_host # 远程登录
scp file.txt remote:~/ # 安全复制文件
5. 实用技巧与避坑指南
5.1 组合指令
通过管道(|)组合简单指令完成复杂任务:
bash复制# 统计当前目录下每种文件类型的数量
find . -type f | sed 's/.*\.//' | sort | uniq -c
# 找出内存占用最高的5个进程
ps aux | sort -nk +4 | tail -5
5.2 危险指令
这些指令务必谨慎使用:
bash复制rm -rf / # 删除根目录(系统毁灭)
:(){ :|:& };: # fork炸弹(会卡死系统)
血泪教训:执行删除前先用
echo测试,如echo rm -rf /tmp/*确认无误后再去掉echo。
5.3 历史记录优化
利用history提升效率:
bash复制!vi # 执行最近以vi开头的命令
ctrl+R # 反向搜索历史命令
6. 环境与配置
6.1 变量管理
bash复制echo $PATH # 查看环境变量
export EDITOR=vim # 设置临时环境变量
6.2 软件安装
不同发行版的包管理命令:
bash复制# Ubuntu/Debian
sudo apt update
sudo apt install nginx
# CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx
6.3 服务管理
bash复制systemctl start nginx # 启动服务
systemctl enable nginx # 设置开机启动
journalctl -u nginx # 查看服务日志
7. 进阶学习建议
掌握基础指令后,建议通过man命令深入学习:
bash复制man ls # 查看ls的完整手册
man 7 signal # 查看信号量手册
每个手册都包含:
- NAME:指令名称和简要说明
- SYNOPSIS:使用语法
- DESCRIPTION:详细描述
- EXAMPLES:使用示例(最实用部分)
我习惯把常用指令保存在~/.bashrc的别名中:
bash复制alias ll='ls -alF'
alias grep='grep --color=auto'
