1. Linux系统环境概述
Linux作为一款开源操作系统内核,自1991年由Linus Torvalds发布以来,已经发展成为服务器、嵌入式设备和开发环境的首选平台。与Windows等商业系统不同,Linux采用模块化设计,其核心只包含进程管理、内存管理、文件系统等基本功能,其他所有功能都通过外围程序实现。这种设计使得Linux具有极高的可定制性——用户可以根据需要选择不同的发行版(Distribution),比如面向新手的Ubuntu、追求稳定的CentOS,或是专为渗透测试设计的Kali Linux。
典型的Linux系统环境包含以下几个关键组件:
- 内核(Kernel):负责硬件抽象和资源管理
- Shell:命令解释器,如Bash、Zsh等
- 工具集:GNU核心工具(cp、mv、grep等)
- 桌面环境(可选):GNOME、KDE等图形界面
- 应用软件:办公套件、浏览器等
实际使用中,90%的Linux管理操作都是通过命令行完成的。这也是为什么掌握基础命令是学习Linux的第一步。
2. 终端与Shell基础
2.1 终端访问方式
在图形界面中可以通过快捷键Ctrl+Alt+T打开终端模拟器。如果是远程服务器,通常使用SSH连接:
bash复制ssh username@192.168.1.100 -p 22
2.2 Shell基本操作
Bash(Bourne Again Shell)是最常用的Shell环境,支持以下基础操作:
- 命令历史:上下箭头键浏览,
history查看完整记录 - 自动补全:Tab键补全命令/文件名
- 通配符:
*匹配任意字符,?匹配单个字符 - 重定向:
>输出到文件,>>追加到文件 - 管道:
|将一个命令的输出作为下一个命令的输入
3. 文件系统操作命令
3.1 目录导航
bash复制pwd # 显示当前工作目录
cd /path # 切换目录
ls -lah # 显示详细文件信息(包括隐藏文件)
Linux文件系统采用树形结构,重要目录包括:
/:根目录/home:用户主目录/etc:系统配置文件/var:经常变化的文件(如日志)/bin、/sbin:基础命令
3.2 文件操作
bash复制cp -r source dest # 递归复制目录
mv old new # 移动/重命名
rm -rf dir # 强制删除目录(慎用)
touch file # 创建空文件
使用
rm命令时要特别小心,Linux没有回收站机制。建议先使用ls确认要删除的内容。
4. 系统信息查询命令
4.1 硬件信息
bash复制uname -a # 系统内核信息
lscpu # CPU信息
free -h # 内存使用情况
df -h # 磁盘空间
lsblk # 块设备列表
4.2 进程管理
bash复制ps aux # 查看所有进程
top # 动态进程监控
kill -9 PID # 强制终止进程
systemctl status # 查看服务状态
5. 用户与权限管理
5.1 用户账户
bash复制sudo adduser newuser # 创建用户
passwd username # 修改密码
su - username # 切换用户
5.2 文件权限
Linux使用三组权限(所有者/组/其他用户),每组包含rwx(读/写/执行):
bash复制chmod 755 file # 设置权限(rwxr-xr-x)
chown user:group # 修改所有者
权限数字表示法:
- 4:读(r)
- 2:写(w)
- 1:执行(x)
例如chmod 600表示只有所有者可读写。
6. 网络相关命令
6.1 网络配置
bash复制ifconfig # 查看网络接口(需安装net-tools)
ip addr # 更现代的替代方案
ping example.com # 测试网络连通性
netstat -tulnp # 查看网络连接和监听端口
6.2 远程操作
bash复制scp file user@host:/path # 安全复制
rsync -avz src dest # 增量同步
wget url # 下载文件
curl -O url # 更强大的下载工具
7. 文本处理三剑客
7.1 grep文本搜索
bash复制grep "pattern" file # 基础搜索
grep -r "text" /dir # 递归搜索
grep -i "word" file # 忽略大小写
7.2 sed流编辑器
bash复制sed 's/old/new/g' file # 替换文本
sed -i.bak '3d' file # 删除第三行(保留备份)
7.3 awk数据处理
bash复制awk '{print $1}' file # 打印第一列
awk -F: '{print $1}' /etc/passwd # 以冒号分隔
8. 软件包管理
不同发行版使用不同的包管理工具:
| 发行版 | 安装命令 | 更新命令 |
|---|---|---|
| Ubuntu/Debian | sudo apt install package |
sudo apt update && sudo apt upgrade |
| CentOS/RHEL | sudo yum install package |
sudo yum update |
| Arch Linux | sudo pacman -S package |
sudo pacman -Syu |
9. 实用技巧与排错
9.1 后台任务管理
bash复制command & # 后台运行
jobs # 查看后台任务
fg %1 # 将任务1调到前台
Ctrl+Z + bg # 暂停并后台继续运行
9.2 常见问题排查
- 命令找不到:检查是否安装对应软件包,或使用
which cmd查找 - 权限不足:使用
sudo或检查文件权限 - 磁盘空间不足:使用
df -h和du -sh *查找大文件 - 进程占用端口:
lsof -i :端口号查看占用进程
10. 学习资源推荐
-
在线练习:
-
参考手册:
bash复制man command # 查看命令手册 command --help # 快速帮助 -
进阶命令:
bash复制find / -name "*.log" -mtime +30 -exec rm {} \; # 查找并删除30天前的日志 tar -czvf archive.tar.gz dir/ # 创建压缩包 ssh-keygen -t rsa # 生成SSH密钥
掌握这些基础命令后,你已经可以完成大多数Linux系统管理任务。建议在日常使用中逐步熟悉这些命令,遇到问题时善用man手册和网络搜索。Linux的学习曲线虽然陡峭,但一旦掌握,你将拥有一个无比强大的工具集。
