很多人第一次用 Linux,是因为要搭建网站、学习编程,或者工作需要操作服务器。但打开终端看到黑底白字的界面,心里就开始犯嘀咕:这和 Windows 完全不一样啊,咋用?
其实 Linux 不难理解。它就是个操作系统,和 Windows、macOS 性质一样,只是设计理念不同。这篇把基础知识一次性讲清楚,看完你对 Linux 就有个整体认知了。
📌 建议收藏,以后遇到问题可以对照查阅。

Linux 是个操作系统内核,加上各种软件工具,就成了完整系统。
打个比方:
内核最早由 Linus Torvalds 1991 年开发,后来开源了,全世界都能贡献代码。现在从手机到服务器到超级计算机,都在用 Linux。
最大的区别:Windows 鼠标点几下就行,Linux 很多操作要敲命令。但命令的优势是效率高、能自动化、能远程操作。
服务器领域:
开发领域:
嵌入式设备:
简单说:服务器上 Linux 是主流,个人电脑上 Windows 是主流。
内核只是核心,要变成能用的系统,还要加上图形界面、常用软件、配置工具等。不同组织把这些打包成不同的"发行版"。
打比方:内核是面粉,发行版是面条、面包、馒头——原料相同,形态不同。
Ubuntu 🔰 最适合新手
特点:
适合:新手、个人用户、开发者
CentOS / Rocky Linux 🏢 服务器常用
特点:
适合:运维、服务器部署
⚠️ 注意:CentOS 7 在 2024年6月停止维护,新项目推荐 Rocky Linux。
Debian ⚙️ 老牌稳定
特点:
适合:追求稳定的服务器用户
Fedora 🚀 新技术试验
特点:
适合:想体验新技术的开发者
Arch Linux 🔧 高度自定义
特点:
适合:Linux 高手
Linux 没有 C盘D盘的概念,所有文件在一个树里,根目录是 /。
/ 根目录(起点)├── bin 基础命令├── boot 启动文件├── dev 设备文件├── etc 配置文件├── home 用户主目录│ ├── user1 用户1的目录│ └── user2 用户2的目录├── lib 库文件├── root root用户主目录├── tmp 临时文件├── usr 用户程序├── var 可变数据(日志等)└── ...
/etc 配置文件 ⚙️
系统大部分配置在这:
/etc/passwd/etc/shadow/etc/fstab/etc/hosts/etc/resolv.conf/etc/ssh/sshd_config💡 修改配置需要 root 权限。
/home 用户主目录 🏠
每个用户有专属目录:/home/用户名
可以简写为 ~:
cd ~ # 进入主目录ls ~/Documents # 查看主目录下的Documents
/var 可变数据 📊
经常变化的数据:
/var/log/var/cache/var/lib/tmp 临时文件 🗑️
存放临时文件,重启后通常清空。所有用户都能读写。
/proc 进程信息 📈
虚拟文件系统,存放内核和进程信息:
cat /proc/meminfo # 内存信息cat /proc/cpuinfo # CPU信息
/dev 设备文件 🔌
硬件当作文件管理:
/dev/sda/dev/null/dev/zero绝对路径:从 / 开始的完整路径
/etc/passwd/home/user/file.txt
相对路径:从当前目录开始
Documents/file.txt # 当前目录下../etc/passwd # 上级目录下
💡 ./ 是当前目录,../ 是上级目录。
root 用户 👑
普通用户 👤
系统用户 🔧
权限分三部分:用户、组、其他人。
每部分有三种权限:
权限用数字表示:
ls -l file.txt # 输出:-rw-r--r-- 1 user group 1024 file.txt解析:
- 文件,d 目录)这个文件权限是 644。
目录权限含义不同:
💡 要进入目录并查看,需要 rx 权限。
chmod 修改权限:
chmod 755 file.sh # 用户全权限,其他人rxchmod 644 file.txt # 用户rw,其他人rchmod +x script.sh # 给所有人加执行权限
💡 常用权限组合:
chown 修改所有者:
chown user file.txt # 改用户chown user:group file.txt # 改用户和组
普通用户执行 root 权限命令:
sudo command # 以root执行sudo -l # 查看能用sudo执行哪些命令
配置 sudo:编辑 /etc/sudoers
user ALL=(ALL) ALL # 允许user执行所有命令%wheel ALL=(ALL) ALL # 允许wheel组成员执行所有
Shell 是用户和内核的桥梁,解释用户输入的命令。
常见 Shell:
查看当前Shell:
echo $SHELL# 输出:/bin/bash
echo $SHELL# 输出:/bin/bash
例子:
ls -l /home # 命令ls,选项-l,参数/homecp -r a b # 命令cp,选项-r,参数a和b
管道 |:前一个输出传给后一个
ls | grep txt # ls结果传给grep搜索ps aux | grep nginx # 进程列表传给grep
重定向:输出写入文件
command > file.txt # 输出到文件(覆盖)command >> file.txt # 输出到文件(追加)command 2> error.txt # 错误输出到文件
匹配文件名:
*.txt | ||
file?.txt | ||
file[1-5].txt |
ls *.txt # 所有txt文件rm file[1-5].txt # 删除file1到file5
Shell运行时的参数,影响程序行为。
常用变量:
查看和设置:
echo $PATH # 显示PATHexport VAR=value # 设置临时变量
永久设置: 写入 ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-11export PATH=$PATH:$JAVA_HOME/bin
加载配置:
source ~/.bashrc # 立即生效(1)包管理器 📌 最推荐
自动处理依赖,最省心。
(2)源码编译
下载源码,自己编译:
tar -xzvf source.tar.gz # 解压cd source./configure # 配置make # 编译make install # 安装
(3)二进制文件
下载编译好的可执行文件,直接运行。
yum(CentOS):
yum install package # 安装yum remove package # 删除yum update # 更新所有yum search keyword # 搜索
apt(Ubuntu):
apt update # 更新软件源apt install package # 安装apt remove package # 删除apt upgrade # 升级所有apt search keyword # 搜索
💡 apt 是 apt-get 的简化版,推荐用 apt。
/usr/bin/usr/lib | |
/usr/local/bin | |
~/bin |
进程是程序的运行实例。
进程属性:
ps 命令:
ps aux # 所有进程ps aux | grep nginx # 搜索进程
top 命令:
top # 实时监控进入后:
htop 命令:
htop # 更友好的监控(需要安装)启动进程:
./program # 前台运行./program & # 后台运行nohup ./program & # 后台运行,不因终端关闭而终止
终止进程:
kill PID # 正常终止kill -9 PID # 强制终止killall nginx # 按名字杀死
服务是长期运行的进程(如nginx、mysql)。
systemctl start nginx # 启动systemctl stop nginx # 停止systemctl restart nginx # 重启systemctl status nginx # 查看状态systemctl enable nginx # 开机自启systemctl disable nginx # 关闭自启
journalctl:
journalctl # 所有日志journalctl -u nginx # nginx日志journalctl -f # 实时查看
日志文件位置:
/var/log/ 目录下:
/var/log/messages/var/log/auth.log/var/log/nginx/error.logip addr # 显示所有IPifconfig # 传统命令
ping 测试连通:
ping 192.168.1.1 # ping IPping www.baidu.com # ping 域名
查看端口:
netstat -tunlp # 查看 TCP/UDP 端口ss -tunlp # 新命令
关机:
shutdown -h now # 立即关机shutdown -h +10 # 10分钟后关机shutdown -c # 取消关机
重启:
reboot # 重启/etc/passwd/etc/shadow/etc/group/etc/hosts/etc/resolv.conf/etc/fstab/etc/profile/etc/ssh/sshd_config/etc/sudoers症状: Permission denied
解决:
ls -l filesudo commandchmod症状: Command not found
解决:
which commandyum install packageecho $PATH症状: 服务启动失败
解决:
netstat -tunlp | grep 端口kill PID症状: No space left
解决:
df -hdu -sh * | sort -rh | head -10建议顺序:
1️⃣ 安装一个 Linux 系统(Ubuntu 或 Rocky Linux)
2️⃣ 熟悉终端操作(cd、ls、mkdir、rm、cp、mv)
3️⃣ 理解文件系统(目录结构)
4️⃣ 学习权限管理(chmod、chown、sudo)
5️⃣ 掌握常用命令(grep、find、tar)
6️⃣ 了解服务管理(systemctl)
7️⃣ 学习 Shell 脚本
✅ 不要怕出错:Linux错误提示很明确
✅ 多用命令手册:man command
✅ 记录常用命令:建自己的速查表
✅ 搭建实验环境:虚拟机或云服务器
✅ 遇到问题先查日志:日志能告诉你发生了什么
这篇把 Linux 基础知识梳理了一遍:是什么、发行版怎么选、文件系统、用户权限、Shell操作、软件安装、进程服务、网络配置……
理解了这些,对 Linux 就有了整体认知。Linux 不难,难的是一开始的不习惯。多练多用,很快就能上手。
更多关于Linux的配置命令可以参考上篇文章,有详细讲解140+的命令以及每条命令有什么效果。
Linux 命令大全:140+ 条命令,小白也能看懂的入门指南
📌 建议收藏,以后遇到问题可以对照查阅。
有问题欢迎留言讨论 👋