我在大一接触到Linux,从最初看着黑色终端发呆,后来热爱Linux,拥抱开源。我不断尝试在物理机、云服务器、树莓派上玩转各种的Linux发行版,用云服务器搭建网站,用Uubuntu搞嵌入式开发。过程非常折腾但也非常快乐。
Linux是一个伟大的操作系统,是真正意义上的计算机操作系统。它简洁、稳定、自由、美丽。学习过程中,我从网络汲取了大量知识,而现在我将学到的知识整理为博客,将收获回馈给互联网,希望帮助到和我当年一样初次接触Linux的朋友。
如果你觉得我写的博客对你有帮助,还请点赞和关注我。
Linux系统是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年创建。经过几十年的发展,Linux已从一个小型的项目逐渐演变为一个稳定、功能齐全的操作系统,影响了全球的IT产业。由于其强大的可定制性和稳定性,Linux已被广泛应用于服务器、移动设备、物联网设备等多个领域。
它的发展历史可以追溯到上个世纪80年代,当时Unix操作系统非常流行。由于高昂的许可费用和限制,一些计算机科学家开始尝试创建一个免费、开源的替代品。Linus Torvalds是其中一位,他在赫尔辛基大学学习时,决定编写一个自己的操作系统内核。他的目标是创建一个允许用户自由修改和分享的系统。
1991年,Linus Torvalds发布了第一个Linux内核版本,伟大的Linux操作系统就此诞生。
Linux系统在发展过程中吸引了全球范围内的开发者,形成了一个强大的社区。它采用了GNU通用公共许可证(GPL),这意味着它是自由开源的,并鼓励用户共享和修改代码。这也导致了许多不同的Linux发行版,如Ubuntu、Fedora、Debian等。
Linux系统的发展历史还包括了对服务器、嵌入式系统和超级计算机的广泛应用。今天,Linux系统已经成为许多领域的首选,包括服务器、云计算、移动设备和嵌入式系统。 Linus Torvalds和Linux社区的贡献使其成为计算机科学领域中最成功的开源项目之一。
Linux系统的核心是由Linus Torvalds创建的Linux内核。这个内核是操作系统的核心组件,负责管理硬件资源、提供系统调用接口等基本功能。
发行版本(Distribution)则是包含Linux内核以及其他系统组件和工具的完整操作系统套装。 不同的发行版本可以在相同的Linux内核基础上构建,但它们可能有不同的软件包管理系统、默认安装的软件、配置方式等。发行版本的目的是为用户提供一个易于安装和使用的Linux系统。
一些知名的Linux发行版本包括:
- Ubuntu: 由Canonical公司维护,以易用性和用户友好性而闻名。
- Debian: 以稳定性和自由软件的支持而著称,许多其他发行版基于Debian构建。
- RHEL (Red Hat Enterprise Linux): 面向企业市场,提供长期支持和专业的技术支持。
- CentOS: 由Red Hat公司提供支持,注重稳定性和企业应用。
- Fedora: 由Red Hat公司支持,注重创新和最新的软件。
- Arch Linux: 以简洁和灵活而著称,面向高级用户。
- openSUSE: 由openSUSE项目维护,有两个主要版本:Leap(稳定版)和Tumbleweed(滚动更新)。
- Gentoo: 以源代码为基础,允许用户根据自己的硬件和需求定制系统。
- Slackware: 是最古老的现代Linux发行版之一,注重简洁和纯净。
- Manjaro: 基于Arch Linux,提供易用性和用户友好的桌面环境。
- Linux Mint: 基于Ubuntu和Debian,注重用户友好性和多媒体支持。
- Elementary OS: 以漂亮的用户界面和直观的设计而著称。
- Kali Linux: 专注于网络安全和渗透测试,包含许多安全工具。
- Alpine Linux: 专注于轻量级和安全性,常用于容器化环境。
虽然它们有不同的特点,但它们都共享Linux内核,这使得Linux系统具有广泛的兼容性和可移植性。用户可以根据个人或企业的需求选择适合的发行版本。
虚拟机软件推荐:VMware(商业) or VirtualBox(开源) or Hyper-V(微软).
使用VMware虚拟机软件可以模拟真实的计算机环境,方便我们在自己的电脑上测试和学习Linux系统。
要在VMware中安装Linux(例如:Ubuntu20.04),具体安装过程自行搜索,在此概述安装步骤:
官网: https://www.vmware.com/
百度网盘: https://pan.baidu.com/s/11CUSSqSIeHVhj1-8JiuOdQ?pwd=2003 提取码: 2003
以上是在VMware中安装Ubuntu 20.04虚拟机的概述步骤。
Linux桌面版本是为个人电脑用户设计的,提供了丰富的图形界面和应用程序,如GNOME、KDE等。而Linux服务器版本则更注重稳定性和安全性,通常没有图形界面,通过命令行进行管理。常见的服务器版本有Ubuntu Server、CentOS等。
Linux 系统有桌面版本和服务器版本,它们主要在以下几个方面有区别:
Linux系统桌面版面向个人电脑使用者,可以进行文字处理、网页浏览、多媒体播放和玩游戏。本质上说,这是一个为普通用户所定制的多用途操作系统。
服务器版旨在充当web服务器,可用来托管文件、网页及相似内容。
总体而言,桌面版本适用于个人使用和开发,而服务器版本则专注于提供网络服务和最大化性能。
Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后目录下在创建其他的目录。这种结构使得几乎所有的应用程序都能使用到这些共享库。
1. /:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。
2. /bin,/usr/bin:该目录为命令文件目录,也称为二进制目录。包含了供系统管理员及普通用户使用的重要的Linux命令和二进制(可执行)文件,包含shell解释器等。
3. /boot:该目录中存放系统的内核文件和引导装载程序文件,/boot/vmlinuz为Linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可。
4. /dev:设备(device)文件目录,存放Linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,存放连接到计算机上的设备(终端、磁盘驱动器、光驱及网卡等)的对应文件,包括字符设备和块设备等,常用的是挂载光驱mount /dev/cdrom/mnt。
5. /etc:这个目录存放着系统管理所需要的配置文件和子目录。
6. /home:用户的主目录,存放用户的数据和文件。
7. /lib:这个目录包含了系统最基本的动态链接共享库,几乎所有的应用程序都会用到这些共享库。
8. /lib/modules:这个目录存放了系统核心可加载各种模块。
9. /media:这个目录用于挂载可移动媒体设备,例如U盘、光驱等。
10. /mnt:这个目录用于挂载临时文件系统。
11. /opt:给主机额外安装软件所摆放的目录。
12. /proc:这是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
13. /srv:该目录存放一些服务器启动之后需要提取的数据。
14. /sys:这个目录是一个虚拟的目录,它是Linux2.6内核的一个新特性,它以一种层次结构的方式提供了对内核对象设备以及内核模块的直接访问。
更多Linux命令可查阅手册:Linux命令大全
Linux有许多强大的命令行工具,用于管理文件、查看系统状态、网络操作等。以下列举部分常用命令:
ls
: 列出目录内容。例如,ls -l
以长格式显示。cd
: 切换目录。使用 cd 目录名
进入目标目录。pwd
: 显示当前工作目录的完整路径。cp
: 复制文件或目录。例如,cp 文件1 文件2
复制文件1为文件2。mv
: 移动文件或目录,也可用于重命名。例如,mv 文件1 文件2
将文件1移动/重命名为文件2。rm
: 删除文件或目录。谨慎使用,rm -r 目录
可以递归删除目录及其内容。mkdir
: 创建目录。例如,mkdir 新目录
。cat
: 显示整个文件内容。例如,cat 文件名
。less
或 more
: 分页显示文件内容,方便大文件查看。nano
或 vim
: 文本编辑器,用于编辑文件。例如,nano 文件名
。chmod
: 修改文件权限。例如,chmod +x 文件
赋予文件执行权限。chown
: 修改文件所有者。例如,chown 用户名:组名 文件
修改文件所有者和所属组。chgrp
: 修改文件所属组。例如,chgrp 组名 文件
修改文件所属组。uname
: 显示系统信息,如内核版本和系统架构。df
: 显示磁盘空间使用情况。free
: 显示内存使用情况。top
或 htop
: 实时显示系统资源使用情况。ps
: 显示当前运行的进程。kill
: 终止进程。例如,kill -9 进程ID
强制终止指定进程。killall
: 终止指定名称的所有进程。ping
: 测试网络连通性。例如,ping google.com
。ifconfig
或 ip
: 显示和配置网络接口。netstat
: 显示网络连接和路由表。tar
: 打包和解包文件。例如,tar -cvf archive.tar 文件1 文件2
创建tar归档。gzip
或 gunzip
: 压缩和解压缩文件。例如,gzip 文件
。useradd
和 adduser
: 添加用户。passwd
: 修改用户密码。groupadd
和 addgroup
: 添加用户组。WSL2是Windows Subsystem for Linux的缩写,它允许在Windows环境下运行Linux子系统。通过安装WSL2,我们可以在Windows环境下直接运行Linux命令和应用程序。安装步骤如下:
具体步骤可参考我创作的文章:WSL介绍和安装
Linux系统因其稳定性、安全性、可定制性等特点,被广泛应用于服务器、云计算、大数据、人工智能等领域。
由于其开源的特性,Linux成为了软件开发和开源社区的首选操作系统。以下列举了几个Linux应用场景:
Linux的学习资源和学习路线可以根据不同的需求和目标而有所不同。以下是一些常见的学习资源和建议的学习路线:
Linux Kernel 官网:https://www.kernel.org/
鸟哥的Linux私房菜:https://linux.vbird.org/ (必读)
Linux 中国:https://linux.cn/
Linux命令查询:https://www.linuxcool.com/
Linux 爱好者与全栈开发者:https://www.myfreax.com/
Linus Torvalds 的 Github:https://github.com/torvalds
Linux 在 Github 开源地址:https://github.com/torvalds/linux
以上仅是一个大致的学习路线,具体的学习内容和进度可以根据个人的兴趣和需求进行调整。在学习过程中,多实践、多交流、多总结是非常重要的。