🐧 Linux 学习指南

Linux 是一个强大且免费的操作系统,掌握 Linux 对于开发者来说非常重要。

为什么学习 Linux?

  • 🌐 服务器主导 - 大部分服务器使用 Linux 系统
  • 💻 开发友好 - 强大的命令行和开发工具
  • 🔧 高度可定制 - 完全掌控你的系统
  • 📚 开源免费 - 自由使用和学习

学习路线

1. 基础知识

文件系统结构

/          # 根目录
/home      # 用户主目录
/etc       # 配置文件
/var       # 变量数据
/usr       # 用户程序
/tmp       # 临时文件

基本命令

# 文件操作
ls -la              # 列出文件
cd /path/to/dir     # 切换目录
pwd                 # 显示当前目录
mkdir dirname       # 创建目录
rm -rf filename     # 删除文件
cp source dest      # 复制文件
mv source dest      # 移动文件

# 文本查看
cat file            # 查看文件内容
less file           # 分页查看
head -n 10 file     # 查看前 10 行
tail -f file        # 实时查看文件末尾

# 系统信息
uname -a            # 系统信息
df -h               # 磁盘使用情况
free -h             # 内存使用情况
top                 # 进程监控

2. 用户和权限

# 用户管理
sudo useradd username    # 添加用户
sudo passwd username     # 设置密码
sudo userdel username    # 删除用户

# 权限管理
chmod 755 file          # 修改文件权限
chown user:group file   # 修改文件所有者

权限说明:

  • r (read) = 4
  • w (write) = 2
  • x (execute) = 1
  • 755 = rwxr-xr-x (所有者全权限,其他读+执行)

3. 包管理

Ubuntu/Debian 系统:

sudo apt update              # 更新包列表
sudo apt upgrade             # 升级所有包
sudo apt install package     # 安装软件包
sudo apt remove package      # 卸载软件包

CentOS/RHEL 系统:

sudo yum update              # 更新系统
sudo yum install package     # 安装软件包
sudo yum remove package      # 卸载软件包

4. 进程管理

ps aux              # 查看所有进程
ps aux | grep name  # 搜索特定进程
kill PID            # 终止进程
kill -9 PID         # 强制终止进程
jobs                # 查看后台任务
bg                  # 后台运行
fg                  # 前台运行

5. 网络操作

ping host           # 测试连接
ifconfig            # 查看网络配置
ip addr             # 查看 IP 地址
netstat -tuln       # 查看端口监听
curl url            # 下载文件
wget url            # 下载文件
ssh user@host       # SSH 连接

实用技巧

1. 管道和重定向

command > file          # 输出重定向到文件
command >> file         # 追加到文件
command1 | command2     # 管道传递
command 2>&1            # 错误输出重定向

2. 查找和搜索

find /path -name "*.txt"     # 查找文件
grep "pattern" file          # 在文件中搜索
grep -r "pattern" /path      # 递归搜索
locate filename              # 快速定位文件

3. 文本处理

sed 's/old/new/g' file      # 替换文本
awk '{print $1}' file       # 提取列
cut -d':' -f1 /etc/passwd   # 分割文本
sort file                   # 排序
uniq file                   # 去重

学习资源推荐

在线教程:

书籍推荐:

  • 《鸟哥的 Linux 私房菜》
  • 《Linux 命令行与 shell 脚本编程大全》
  • 《UNIX/Linux 系统管理技术手册》

实践建议

  1. 动手实践 - 理论结合实践,多敲命令
  2. 搭建环境 - 使用虚拟机或云服务器练习
  3. 记录笔记 - 整理常用命令和问题解决方案
  4. 阅读文档 - 善用 man 命令查看帮助文档
  5. 参与社区 - 在论坛和社区交流学习

常见问题

Q: 新手应该选择哪个发行版? A: 推荐 Ubuntu 或 Linux Mint,用户友好,社区活跃。

Q: 如何快速提升命令行技能? A: 日常工作尽量使用命令行,避免依赖图形界面。

Q: 忘记命令怎么办? A: 使用 man command 查看帮助,或者 command --help


总结

Linux 学习是一个持续的过程,不要急于求成。从基础命令开始,循序渐进,多实践多思考。

下一步:

  • 尝试编写简单的 Shell 脚本
  • 学习 vim 或 emacs 编辑器
  • 了解 Linux 系统管理和运维知识

加油!🚀


有问题欢迎在评论区讨论交流。