仅python是不够的 不学习linux的开发者不是一个合格的开发者,不管是要做后端开发、运维方向从业者,Linux 都是绕不开的核心操作系统。几乎所有线上业务、服务器环境都基于 Linux 体系运行。本文结合部分知识脉络,从零梳理开发者必须掌握的 Linux 基础框架,覆盖系统认知、环境获取、目录结构、核心命令、用户权限、远程连接等内容,适合新手系统学习。也可作为日常速查手册!!!

目录

一、认识 Linux 操作系统

如何获取一套 Linux 运行环境

二、Linux 文件系统与标准目录结构

可执行文件目录(区分普通用户 /root 管理员)

三、Linux 核心基础命令

1. 路径跳转与目录查看

2. 文件与文件夹管理

3. 软硬链接(快捷方式)

4. 文件查看、统计、分页阅读

5. 重定向、管道、过滤 grep

四、压缩与归档

五、用户与用户组管理

六、SSH 远程连接与服务管理

1. SSH 远程连接部署

2. 服务启停两种管理方式

七、写给开发者的学习建议


一、认识 Linux 操作系统

Linux 是专业开发者主流使用的开源操作系统,整体分为两大层级:内核版发行版

  1. 内核:负责操作系统和硬件直接交互,是系统底层核心。
  2. 发行版 = Linux 内核 + 配套生态软件。 市面上主流发行版:Ubuntu、CentOS、RedHat、Debian。

核心特点:底层内核一致,差异仅在于预装软件、包管理工具,基础命令通用。

Linux 三大核心优势:开源免费、稳定安全、基于命令行操作

如何获取一套 Linux 运行环境

日常开发中,一共有 4 种主流方案:

  1. 物理机双系统:电脑直接安装 Windows+Linux,缺点:无法同时运行两套系统,切换需要重启。
  2. 本地虚拟机:Windows 系统安装虚拟机软件,虚拟出多套硬件,同时运行多个 Linux 系统;适合本地学习。
  3. 云服务器:阿里云、腾讯云、华为云等厂商云主机,线上真实 Linux 环境,最贴近生产环境,项目部署首选。
  4. 在线开发环境(Cloud Studio):腾讯云 Cloud Studio,内置 Linux 环境。 ⚠️ 注意:仅适合练习基础命令,不能等同于正式 Linux 服务器使用;平台有时长限制,闲置建议关闭系统节省时长。

二、Linux 文件系统与标准目录结构

Linux 和 Windows 最大区别:没有盘符,一切皆文件,根目录 / 是所有文件起点。 下面是开发最常用目录作用:

表格

目录 作用说明
/boot 存放系统启动文件、内核程序
/etc 软件配置文件目录;/etc/apt/sources.list 是 apt 软件镜像源配置
/root root 超级管理员家目录
/home 普通用户家目录,例如 /home/zzy
/lib 程序依赖库文件
/opt 第三方软件默认安装存放位置
/proc 进程虚拟目录,每一个进程对应一个文件,体现 “一切皆文件” 思想
/var 软件工作目录,存放运行日志、缓存数据
/tmp 临时文件目录,系统会自动清理

可执行文件目录(区分普通用户 /root 管理员)

  1. 普通用户可执行命令/bin/usr/bin/usr/local/bin
  2. 仅 root 管理员可执行命令/sbin/usr/sbin/usr/local/sbin

三、Linux 核心基础命令

1. 路径跳转与目录查看

bash

pwd                 # 查看当前所在路径
ls                  # 列出目录文件
ls -l               # 列表形式展示详情,首字符 -=文件 d=文件夹
ls -h               # 人性化显示文件大小
ls -a               # 显示所有文件(包含隐藏文件,以.开头)

cd /                # 进入根目录
cd ..               # 进入上一级目录
cd ~                # 回到当前用户家目录
cd -                # 切换回上一次所在路径

2. 文件与文件夹管理

bash

mkdir test              # 创建文件夹
mkdir -p a/b/c          # 递归创建多级目录
touch demo.txt          # 创建空文件

rm test.txt             # 删除文件
rmdir empty_dir         # 删除空文件夹
rm -rf dir              # 强制删除非空文件夹(高危命令谨慎使用)

# 复制 cp
cp demo.txt /opt/              # 复制不改名
cp demo.txt /opt/new_demo.txt  # 复制并重命名
cp -r folder /opt/             # 复制文件夹必须加-r

# 移动/重命名 mv
mv demo.txt /opt/              # 剪切移动
mv demo.txt /opt/new_demo.txt  # 移动并重命名

3. 软硬链接(快捷方式)

bash

ln 源文件 hard_link        # 硬链接
ln -s 源文件 soft_link     # 软链接(符号链接)
  • 硬链接:不能链接文件夹;多个入口指向同一个文件;删除其中一个,文件依旧存在。
  • 软链接:类似 Windows 快捷方式,可以链接文件夹;源文件删除后,链接失效。

4. 文件查看、统计、分页阅读

bash

wc -l test.txt   # 统计行数
wc -w test.txt   # 统计单词数
wc -m test.txt   # 统计字符数

cat test.txt           # 一次性读取整个文件

head -n 10 test.txt    # 查看前10行

tail -n 10 test.txt    # 查看末尾10行(日志排查高频)

less test.txt          # 分页浏览:空格翻页、回车单行滚动、q退出
more test.txt

5. 重定向、管道、过滤 grep

bash

# 重定向
ls -al > info.txt    # > 覆盖写入文件
ls -al >> info.txt   # >> 追加写入文件

# 管道 | 左边输出作为右边命令输入
cat info.txt | grep -n msg   # 过滤包含msg的内容,显示行号

四、压缩与归档

Linux 归档压缩是运维日常高频操作,重点掌握 tarzipgzip

bash

# tar 参数:c创建、t查看、x解压、v打印详情、f指定归档文件(f必须写在最后)
tar -cf  归档文件.tar   要归档的文件1 文件2 文件3.. "归档 -c 创建 -t查看 -x解开 -v 查看信息 -f归档名 放在最后"
tar -xf  归档文件.tar   "解包"

# gzip 压缩tar包(tar.gz)
gzip  -r  归档文件.tar  "将 .tar 文件压缩"
gzip  -d  归档文件.tar.gz  "将 归档文件.tar.gz 解压为 归档文件.tar"

# zip 工具
zip  -r 文件.zip  文件  "压缩文件"
zip  -r 目录.zip  目录  "压缩目录"

unzip  文件.zip/目录.zip  "解压"

注意:gzip 压缩默认会删除原始文件;tar 归档操作不会破坏原有文件。

五、用户与用户组管理

Linux 是多用户操作系统,生产环境严禁直接使用 root 日常操作,需要创建普通用户分配权限。 核心配置文件:

  • /etc/passwd:保存所有用户信息
  • /etc/group:保存用户组信息

bash

# 创建用户
useradd -m username        # -m自动创建家目录
useradd -m username -s /bin/bash  # 指定登录shell
useradd -m username -g temp       # 指定归属用户组

userdel -r username        # 删除用户,同时删除家目录

passwd                # 修改当前root密码
passwd username       # 修改指定用户密码

su username           # 切换普通用户
su                    # 切换至root用户
exit                  # 退出当前用户终端

groupadd temp         # 创建用户组
groupdel temp         # 删除用户组

六、SSH 远程连接与服务管理

线上服务器几乎都通过 SSH 远程连接操作,是开发者必备技能。

1. SSH 远程连接部署

bash

# Ubuntu安装ssh服务
sudo apt install openssh-server

# 连接语法 
ssh 用户名@服务器公网IP

"自己的公网ip 可在百度输入 我的ip 或 终端输入 curl ifconfig.me 查询"

阿里云服务器常见问题:默认禁止密码登录,需要修改配置开启密码认证

bash

sudo nano /etc/ssh/sshd_config
# 修改 PasswordAuthentication no → yes
# Ctrl+O 保存,Ctrl+X退出

⚠️ 前提:登录用户必须预先设置密码;安全最佳实践:生产环境优先密钥登录而非密码登录。

2. 服务启停两种管理方式

现代 Linux 主流使用 systemctl,兼容旧版 service 命令:

bash

# systemctl(推荐)
systemctl status ssh    # 查看运行状态
systemctl start ssh     # 启动
systemctl stop ssh      # 停止
systemctl restart ssh   # 重启

# service 兼容写法
service ssh status
service ssh start
service ssh stop
service ssh restart

七、写给开发者的学习建议

  1. 命令不要死记硬背:理解参数含义,多用多练,搭建一台云服务器持续实操。
  2. 建立目录思维:记住 Linux 一切皆文件,所有配置、进程、硬件都以文件形式访问。
  3. 养成权限意识:日常尽量使用普通用户,非必要不使用 root,避免误操作删库、删文件。
  4. 优先熟悉日志排查命令tailgrep 排查线上问题使用频率极高。
  5. 打好基础再进阶:掌握本文基础后,再学习权限 chmod/chown、进程管理、防火墙、软件部署、Shell 脚本。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐