Linux 入门学习指南:从零开始掌握操作系统核心
1. 为什么学习 Linux
Linux 是一款开源的操作系统内核,广泛应用于服务器、嵌入式设备、云计算和开发环境。学习 Linux 不仅有助于理解计算机系统的运行原理,也是进入后端开发、运维、网络安全等领域的重要基础。
与 Windows 或 macOS 不同,Linux 强调命令行操作和文件权限管理,掌握这些能力可以让你更高效地完成自动化任务和远程服务器管理。
2. Linux 的常见发行版
Linux 有众多发行版,不同发行版面向不同使用场景。初学者可以从社区活跃、资料丰富的发行版入手。
- Ubuntu:界面友好,社区庞大,适合新手入门和日常开发。
- CentOS / Rocky Linux:稳定性强,常用于服务器环境。
- Debian:稳定可靠,是许多发行版的基础。
- Arch Linux:高度可定制,适合希望深入理解系统的进阶用户。
3. 安装与启动
学习 Linux 的第一步是搭建可用的实验环境。常见方式包括安装双系统、使用虚拟机或借助云服务器。
对于初学者,推荐使用虚拟机软件安装 Ubuntu,这样可以在不影响主系统的情况下自由练习。安装完成后,你会进入图形界面,但真正的学习重点在于终端。
4. 文件系统与目录结构
Linux 采用树状目录结构,所有文件和设备都挂载在根目录 / 之下。理解常用目录的作用是使用 Linux 的基础。
/home:普通用户的主目录。/etc:系统配置文件目录。/var:存放日志、缓存等动态数据。/usr:系统软件和应用程序的安装位置。/tmp:临时文件目录。
5. 常用基础命令
命令行是 Linux 的核心操作方式。以下命令是日常使用频率最高的基础命令。
pwd # 查看当前所在目录
ls # 列出当前目录下的文件
cd /home # 切换目录
mkdir mydir # 创建目录
touch file.txt # 创建空文件
cp file.txt copy.txt # 复制文件
mv file.txt new.txt # 移动或重命名文件
rm file.txt # 删除文件
cat file.txt # 查看文件内容
6. 文件权限管理
Linux 使用权限机制控制文件和目录的访问。每个文件都有所有者、所属组和其他用户的读、写、执行权限。
使用 ls -l 可以查看文件权限详情,使用 chmod 修改权限。例如,将脚本设置为可执行:
chmod +x script.sh
./script.sh
7. 用户与进程管理
Linux 是多用户操作系统,用户管理是系统管理的重要部分。常用命令包括:
whoami # 查看当前用户
sudo useradd newuser # 创建新用户
ps aux # 查看所有进程
top # 实时查看系统资源
kill 1234 # 结束指定进程
8. 网络与软件安装
联网是服务器和开发环境的基本需求。常用网络命令包括 ping、curl 和 ifconfig。软件安装则依赖发行版的包管理器。
# Ubuntu / Debian 系列
sudo apt update
sudo apt install nginx
CentOS / Rocky 系列
sudo yum install nginx
9. 学习建议与进阶方向
学习 Linux 需要坚持动手实践。建议从搭建环境开始,逐步熟悉命令、权限和脚本编写,再深入 Shell 编程、服务部署和系统调优。
进阶方向包括:Shell 脚本自动化、Linux 网络服务配置、容器化技术(Docker)、以及云计算平台上的 Linux 运维。持续练习和阅读官方文档是提升的关键。
10. 实战:从零搭建一个 Linux 开发环境
前面学习了 Linux 的基础知识,下面通过一个完整实战,在 Ubuntu 上从零搭建一套可用的开发环境。整个过程分为三步:安装常用开发工具、配置 SSH 远程登录、编写 Shell 脚本自动化部署 Nginx。
10.1 安装常用开发工具
首先更新软件源,然后安装 Git、Vim 和 VS Code。Git 用于版本管理,Vim 是终端下的轻量编辑器,VS Code 则提供图形化的开发体验。
# 更新软件源
sudo apt update
安装 Git 和 Vim
sudo apt install -y git vim
安装 VS Code(通过微软官方仓库)
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt update
sudo apt install -y code
安装完成后,可以验证各工具的版本:
git --version
vim --version
code --version
10.2 配置 SSH 远程登录
SSH 是远程管理 Linux 服务器的标准方式。先在本地生成密钥对,再把公钥复制到服务器,即可实现免密登录。
# 在本地生成密钥对(一路回车即可)
ssh-keygen -t rsa -b 4096
将公钥复制到远程服务器
ssh-copy-id user@server_ip
测试免密登录
ssh user@server_ip
出于安全考虑,建议修改 SSH 配置文件,禁止 root 直接登录并关闭密码登录:
sudo vim /etc/ssh/sshd_config
在文件中找到并修改以下两行:
PermitRootLogin no
PasswordAuthentication no
保存后重启 SSH 服务使配置生效:
sudo systemctl restart sshd
10.3 编写 Shell 脚本自动化部署 Nginx
下面编写一个 Shell 脚本,自动完成 Nginx 的安装、启动和状态检查。脚本会先判断系统是否已安装 Nginx,未安装则自动安装,最后输出服务状态。
#!/bin/bash
# deploy_nginx.sh - 自动化部署 Nginx
set -e
echo "===== 开始部署 Nginx ====="
1. 更新软件源
echo "[1/4] 更新软件源..."
sudo apt update
2. 安装 Nginx
echo "[2/4] 安装 Nginx..."
if ! command -v nginx > /dev/null; then
sudo apt install -y nginx
else
echo "Nginx 已安装,跳过安装步骤。"
fi
3. 启动并设置开机自启
echo "[3/4] 启动 Nginx 并设置开机自启..."
sudo systemctl enable nginx
sudo systemctl start nginx
4. 检查服务状态
echo "[4/4] 检查服务状态..."
if systemctl is-active --quiet nginx; then
echo "Nginx 部署成功,服务运行中。"
echo "访问地址:http://$(hostname -I | awk '{print $1}')"
else
echo "Nginx 启动失败,请检查日志:sudo journalctl -u nginx"
exit 1
fi
echo "===== 部署完成 ====="
保存脚本后,赋予执行权限并运行:
chmod +x deploy_nginx.sh
./deploy_nginx.sh
脚本执行完成后,在浏览器中访问服务器 IP 即可看到 Nginx 的默认欢迎页面。至此,一套包含开发工具、远程登录和自动化部署的 Linux 开发环境就搭建完成了。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)