Linux 是一种基于 UNIX 的开源操作系统。它最初由林纳斯·托瓦兹(Linus Torvalds)于 1991 年开发,后来吸引了全球范围内的开发者参与贡献。Linux 系统因其强大的性能、稳定性和灵活性,被广泛应用于服务器、嵌入式设备、桌面电脑和超级计算机等领域。
Linux 的核心特点
- 开源和自由
Linux 遵循 GNU 通用公共许可证(GPL),意味着用户可以自由使用、修改和分发 Linux 内核和相关软件。
- 稳定性和可靠性
Linux 系统在处理多任务和长时间运行的应用时非常稳定,广泛用于高负载的服务器环境。
- 安全性
Linux 社区快速响应漏洞,系统默认权限分离机制(如普通用户和超级用户的权限划分)也使其比很多其他系统更安全。
- 多用户和多任务
Linux 是一个真正支持多用户和多任务的操作系统,多个用户可以同时访问系统,而不会相互干扰。
- 高度定制化
用户可以根据需求修改和调整 Linux 系统,从内核到桌面环境都可以根据需要进行配置。
Linux 的主要组成部分
- 内核(Kernel)
内核是 Linux 的核心部分,负责管理系统资源,如处理器、内存、硬件设备等。
- Shell
Shell 是用户与内核交互的命令行接口,常见的 Shell 包括 Bash、Zsh 和 Fish。
- 文件系统
Linux 支持多种文件系统,如 ext4、XFS、Btrfs 和 FAT32,文件系统的结构为树状层次结构。
- 软件包管理器
Linux 使用软件包管理器安装和管理软件,例如:
- Debian 系列(如 Ubuntu):使用
apt
或 dpkg
。
- Red Hat 系列(如 CentOS):使用
yum
或 dnf
。
- Arch 系列:使用
pacman
。
- 图形界面(可选)
Linux 的图形界面是通过窗口管理器(如 GNOME、KDE、XFCE)实现的,提供用户友好的桌面环境。
Linux 的主要发行版
- Ubuntu
适合桌面用户和服务器,用户友好,社区活跃。
- CentOS / Rocky Linux / AlmaLinux
用于服务器环境,稳定性高,企业广泛使用。
- Debian
以稳定著称,是许多其他发行版(如 Ubuntu)的基础。
- Arch Linux
面向高级用户,强调用户定制和简单性。
- Fedora
强调新技术和快速更新,适合开发者和技术爱好者。
Linux 的主要组成部分
- 内核(Kernel)
内核是 Linux 的核心部分,负责管理系统资源,如处理器、内存、硬件设备等。
- Shell
Shell 是用户与内核交互的命令行接口,常见的 Shell 包括 Bash、Zsh 和 Fish。
- 文件系统
Linux 支持多种文件系统,如 ext4、XFS、Btrfs 和 FAT32,文件系统的结构为树状层次结构。
- 软件包管理器
Linux 使用软件包管理器安装和管理软件,例如:
- Debian 系列(如 Ubuntu):使用
apt
或 dpkg
。
- Red Hat 系列(如 CentOS):使用
yum
或 dnf
。
- Arch 系列:使用
pacman
。
- 图形界面(可选)
Linux 的图形界面是通过窗口管理器(如 GNOME、KDE、XFCE)实现的,提供用户友好的桌面环境。
Linux 的主要发行版
- Ubuntu
适合桌面用户和服务器,用户友好,社区活跃。
- CentOS / Rocky Linux / AlmaLinux
用于服务器环境,稳定性高,企业广泛使用。
- Debian
以稳定著称,是许多其他发行版(如 Ubuntu)的基础。
- Arch Linux
面向高级用户,强调用户定制和简单性。
- Fedora
强调新技术和快速更新,适合开发者和技术爱好者。
常用的 Linux 命令示例
一、文件与目录操作
命令 |
用途 |
示例 |
ls |
列出目录内容 |
ls -l 显示详细信息 |
cd |
切换目录 |
cd /home/user 切换到 /home/user |
pwd |
显示当前路径 |
pwd 显示当前所在目录 |
mkdir |
创建目录 |
mkdir new_folder 创建 new_folder |
rmdir |
删除空目录 |
rmdir empty_folder |
touch |
创建空文件 |
touch file.txt 创建 file.txt |
cp |
复制文件/目录 |
cp file1 file2 |
mv |
移动或重命名文件/目录 |
mv old_name new_name |
rm |
删除文件/目录 |
rm -r folder 删除非空目录 |
find |
查找文件 |
find / -name "*.log" |
stat |
查看文件属性 |
stat file.txt |
二、文件内容查看与编辑
命令 |
用途 |
示例 |
cat |
查看文件内容 |
cat file.txt |
tac |
倒序查看文件内容 |
tac file.txt |
more |
分页查看文件内容 |
more file.txt |
less |
分页查看,支持上下滚动 |
less file.txt |
head |
查看文件开头部分 |
head -n 10 file.txt |
tail |
查看文件末尾部分 |
tail -n 20 file.txt |
wc |
统计文件中的行数、单词数等 |
wc -l file.txt |
nano |
简单的文本编辑器 |
nano file.txt |
vim |
高级文本编辑器 |
vim file.txt |
三、用户和权限管理
命令 |
用途 |
示例 |
whoami |
显示当前用户 |
whoami |
id |
查看用户 ID 和组 ID |
id |
passwd |
修改用户密码 |
passwd user |
adduser |
添加新用户 |
adduser newuser |
deluser |
删除用户 |
deluser user |
chmod |
修改文件权限 |
chmod 755 file.txt |
chown |
更改文件所属用户和组 |
chown user:group file.txt |
groups |
查看用户所属的组 |
groups user |
usermod |
修改用户属性 |
usermod -aG sudo user |
四、磁盘与文件系统
命令 |
用途 |
示例 |
df |
查看磁盘空间使用情况 |
df -h |
du |
查看目录或文件占用空间 |
du -sh folder |
mount |
挂载文件系统 |
mount /dev/sdb1 /mnt |
umount |
卸载文件系统 |
umount /mnt |
fsck |
检查并修复文件系统错误 |
fsck /dev/sda1 |
blkid |
查看块设备信息 |
blkid |
mkfs |
格式化文件系统 |
mkfs.ext4 /dev/sda1 |
五、进程管理
命令 |
用途 |
示例 |
ps |
显示当前进程 |
ps aux |
top |
实时查看系统性能 |
top |
htop |
图形化进程管理工具 |
htop |
kill |
终止进程 |
kill 1234 |
killall |
按名称终止所有匹配的进程 |
killall firefox |
bg |
将进程置于后台运行 |
bg %1 |
fg |
将后台进程调回前台 |
fg %1 |
jobs |
查看后台运行的进程 |
jobs |
六、网络管理
命令 |
用途 |
示例 |
ping |
测试网络连通性 |
ping 8.8.8.8 |
ifconfig |
查看和配置网络接口 |
ifconfig |
ip |
管理网络接口和路由 |
ip addr show |
netstat |
查看网络连接状态 |
netstat -tuln |
curl |
发送网络请求 |
curl https://example.com |
wget |
下载文件 |
wget https://example.com/file.txt |
traceroute |
跟踪网络路由 |
traceroute google.com |
scp |
远程复制文件 |
scp file.txt user@host:/path |
七、系统管理
命令 |
用途 |
示例 |
uname |
查看系统信息 |
uname -a |
uptime |
查看系统运行时间 |
uptime |
free |
查看内存使用情况 |
free -m |
reboot |
重启系统 |
reboot |
shutdown |
关机 |
shutdown now |
systemctl |
管理系统服务 |
systemctl restart nginx |
journalctl |
查看系统日志 |
journalctl -u nginx |