一、Linux概述:开源世界的基石
Linux诞生于1991年,由美国学院生林纳斯·托瓦兹(LinusTorvalds)开发。其基于Unix理念linux是什么,以开源、自由、稳定和高度可订制的特点,迅速在全球范围内获得广泛应用。不同于Windows等商业操作系统,Linux的源代码对所有人开放,这促使全球开发者才能共同参与开发和维护,不断建立和扩充其功能。
从服务器领域到嵌入式设备,从超级计算机到智能手机(如基于Linux的Android系统),Linux的身影无处不在。在服务器市场,Linux以其卓越的性能、安全性和稳定性,成为承载网站、云估算、大数据等服务的核心平台。在嵌入式领域,其轻量化和可剪裁性满足了智能硬件、工业控制等设备的需求。
二、Linux发行版:多元化的选择
Linux内核本身并不包含用户界面、应用程序等完整的使用环境,不同的组织和社区基于Linux内核,搭配各类软件包和工具,产生了诸多的Linux发行版,每位发行版都有其独到的定位和适用场景。
1. Debian:以稳定性和强悍的软件包管理系统享誉,是许多其他发行版的基础。其软件源丰富,更新相对保守,适宜对稳定性要求极高的服务器环境。
2. Ubuntu:基于Debian开发,拥有友好的用户界面和庞大的社区支持,对菜鸟极为友好。无论是日常办公、软件开发还是服务器布署,都能轻松胜任,广泛应用于教育、企业办公等场景。
3. CentOS:在企业级服务器领域抢占重要地位,与RedHatEnterpriseLinux(RHEL)高度兼容,系统稳定可靠,更新频度适中,遭到诸多企业运维人员的偏爱,常用于搭建Web服务器、数据库服务器等。
4. Fedora:由Fedora项目社区开发,重视新技术的引入,更新速率快,是测试和体验新功能的理想选择,适宜开发者和技术爱好者,也是RedHat新技术的试验田。
5. ArchLinux:以简约、轻量和高度可订制闻名,秉持“KeepItSimple”(KISS)原则,须要用户具备一定的技术基础,适宜追求极至多样化和深入了解Linux系统运行机制的用户。
三、Linux系统安装:开启探求之旅
(一)安装前的打算
在安装Linux之前,须要进行一系列打算工作:
1. 硬件要求:不同的发行版对硬件的要求略有不同,但通常来说,现代Linux发行版起码须要1GB显存和10GB以上的硬碟空间。假如要运行图形界面,还须要一块支持的显存。
2. 下载镜像:从官方网站下载合适的Linux发行版镜像文件,一般为.iso格式。诸如,Ubuntu镜像可从Ubuntu官方网站获取,CentOS镜像可从CentOS官方镜像站下载。
3. 制做安装介质:可以使用USB闪存盘或光碟作为安装介质。通过工具如Rufus(Windows下)或Etcher(跨平台)将下载的镜像文件写入USB闪存盘。
(二)安装过程解读(以Ubuntu为例)
1. 步入安装界面:将制做好的安装介质插入计算机,设置从USB或光碟启动(可在计算机启动时步入BIOS或UEFI设置)。步入安装界面后,选择“InstallUbuntu”开始安装。
2. 语言选择:选择安装过程和系统使用的语言,如英文或法文。
3. 按键布局:按照实际情况选择合适的按键布局,通常默认即可。
4. 安装类型选择:
-全新安装:假如计算机上没有其他重要数据,或希望完全使用Linux系统,可以选择全新安装,将Linux安装在整个硬碟上,安装程序会手动进行分区等操作。
-与其他操作系统共存:假如计算机上早已安装了Windows等其他操作系统,可以选择与现有系统共存安装。安装程序会手动测量到已有的系统,并提供分区方案,实现多系统启动。
-自动分区:对于有一定经验的用户,可以选择自动分区,依照需求自定义c盘分区,如界定根分区(/)、交换分区(swap)、家目录分区(/home)等。
5. 网路联接:假如计算机联接了网路,可以在安装过程中配置网路联接,如设置无线网路联接或自动配置有线网路的IP地址、子网网段、网关等参数。
6. 用户设置:创建用户名和密码,设置计算机名称等信息。
7. 开始安装:确认所有设置无误后,点击“InstallNow”开始安装过程。安装程序会手动下载和安装所需的软件包,这个过程可能须要一些时间,具体取决于网路速率和计算机性能。
8. 安装完成:安装完成后,根据提示重启计算机,即可步入全新的Linux系统。
四、Linux基础操作:命令行与图形界面
(一)命令行基础
命令行是Linux系统的真谛所在,通过输入命令,用户可以高效地完成各类操作。打开终端(在图形界面下通常可以通过搜索“Terminal”找到,也可以使用快捷键如Ctrl+Alt+T快速打开),即可步入命令行环境。
1. 常用命令:
-文件和目录操作:
-- ls :列举目录内容,加上 -l 参数以长格式显示详尽信息,如文件大小、权限、修改时间等;加上 -a 参数显示包括隐藏文件在内的所有文件。
-- cd :切换目录,如 cd/home/user 步入指定用户的家目录; cd.. 返回上一级目录; cd~ 步入当前用户的家目录。
-- mkdir :创建新目录,比如 mkdirnew_folder 创建名为new_folder的新目录。
-- rm :删掉文件或目录, rmfile.txt 删掉名为file.txt的文件; rm-rfolder 递归删掉名为folder的目录及其内容(使用时需慎重,防止删掉重要数据)。
-- cp :复制文件或目录, cpsource_filetarget_file 复制文件; cp-rsource_foldertarget_folder 复制目录及其内容。
-- mv :联通或重命名文件或目录, mvold_namenew_name 重命名文件; mvfile/destination 将文件联通到指定目录。
-文本编辑:
-- nano :简单易用的文本编辑器linux 桌面操作系统,适宜快速编辑文本文件。打开文件时使用 nanofile.txt ,编辑完成后按Ctrl+X,之后按Y保存修改,最后按Enter确认文件名。
-- vim :功能强悍但学习曲线较陡的文本编辑器,在Linux系统管理和软件开发中广泛使用。步入编辑模式按 i ,退出编辑模式按 Esc ,保存并退出使用 :wq ,强制退出不保存使用 :q! 。
-系统信息查看:
-- uname-a :显示系统内核版本、主机名等信息。
-- top :实时显示系统中正在运行的进程及资源占用情况,类似于Windows下的任务管理器。
-- free-h :查看系统显存使用情况,以人类可读的格式显示总显存、已用显存、空闲显存等信息。
2. 命令行进阶方法:
-命令组合:通过管线符 | 可以将一个命令的输出作为另一个命令的输入。诸如, ls-l|greptxt 表示先列举目录内容的详尽信息,之后筛选出包含“txt”字样的行,即显示所有文本文件的信息。
-转义: * 代表任意字符序列, ? 代表单个字符。诸如, rm*.txt 删掉当前目录下所有扩充名为.txt的文件; lsfile?.txt 列举文件名以file开头,后跟一个任意字符,扩充名为.txt的文件。
-环境变量: PATH 环境变量定义了系统在什么目录中查找可执行文件。可以通过 echo$PATH 查看当前 PATH 变量的值,也可以通过更改 .bashrc 或 .bash_profile 文件(不同发行版略有差别)来添加自定义的目录到 PATH 中,便于在任意目录下都能执行该目录中的命令。
(二)图形界面操作
大多数Linux发行版都提供了图形界面,便捷用户进行直观的操作,常见的桌面环境有GNOME、KDE、XFCE等。
1. GNOME:简约、美观、易用,重视用户体验,是Ubuntu默认的桌面环境之一。其界面布局清晰,应用程序菜单、任务栏等设计直观,适宜日常办公和普通用户使用。
2. KDE:功能丰富、高度可订制,提供了大量的个性化设置选项,如主题、窗口式样、桌面小部件等。适宜追求个性化和对功能有较高要求的用户。
3. XFCE:轻量级桌面环境,占用系统资源较少,运行速率快,适宜在配置较低的计算机上使用,同时也能满足基本的图形界面操作需求。
在图形界面下,用户可以通过键盘操作完成文件管理、应用程序启动、系统设置等任务。比如,通过文件管理器(如Nautilus或Dolphin)进行文件的复制、粘贴、删除等操作;在应用程序菜单中找到并启动所需的软件;通过系统设置工具调整屏幕码率、声音、网络等系统参数。
五、Linux文件系统:数据储存的基石
(一)文件系统结构
Linux文件系统采用树状结构,以根目录(/)为起点,所有的文件和目录都挂载在根目录下的不同分支上。常见的目录及其作用如下:
1. /bin:储存基本的二补码可执行文件linux 桌面操作系统,如 ls 、 cd 等常用命令,系统启动时须要使用这种命令,因而该目录在所有文件系统中都存在。
2. /sbin:储存系统管理相关的二补码可执行文件,如 fdisk (c盘分区工具)、 init (系统初始化进程)等,只有root用户可以执行这种文件。
3. /etc:系统配置文件目录,储存系统和各类服务的配置文件,如网路配置文件 /etc/network/interfaces 、用户信息文件 /etc/passwd 等。更改那些文件可以调整系统和服务的运行参数。
4. /home:用户家目录,每位普通用户都有一个独立的家目录,如 /home/user1 ,用于储存用户个人的文件、数据和配置信息。
5. /root:root用户的家目录,与普通用户家目录类似,但仅root用户可访问。
6. /tmp:临时文件目录,用于储存系统和应用程序运行过程中形成的临时文件,系统重启时该目录下的文件可能会被删掉。
7. /var:储存系统运行过程中不断变化的数据,如日志文件(/var/log)、邮件(/var/mail)、Web服务器数据(/var/www)等。
8. /proc:虚拟文件系统,用于储存系统运行时的进程信息、硬件信息等,这种文件并不实际储存在c盘上,而是由内核动态生成,比如 /proc/cpuinfo 显示CPU信息, /proc/meminfo 显示显存信息。
9. /sys:也是虚拟文件系统,用于提供内核对象的信息,如设备驱动、文件系统等,帮助用户和程序了解系统硬件和设备的状态。
(二)文件权限与用户管理
1. 文件权限:在Linux中,每位文件和目录都有特定的权限设置,用于控制不同用户对其的访问和操作。权限分为读(r)、写(w)、执行(x)三种,分别对应数字4、2、1。文件权限针对所有者(owner)、所属组(group)和其他用户(others)三类用户进行设置。
-比如,文件权限 rwxr-xr-- 表示所有者具有读、写、执行权限;所属组用户具有读和执行权限;其他用户只有读权限。可以使用 chmod 命令更改文件权限,如 chmod754file.txt 将文件file.txt的权限设置为所有者可读、写、执行,所属组用户可读、执行,其他用户可读。
-- chown 命令用于修改文件的所有者, chgrp 命令用于修改文件的所属组,如 chownuser1file.txt 将文件file.txt的所有者改为user1; chgrpgroup1file.txt 将文件file.txt的所属组改为group1。
2. 用户管理:
-用户创建与删掉:使用 useradd 命令创建新用户,如 useraddnew_user 创建名为new_user的用户;使用 userdel 命令删掉用户, userdel-rnew_user 除了删掉用户帐号,还删掉该用户的家目录及其内容。
-用户组管理: groupadd 命令用于创建新用户组, groupdel 命令用于删掉用户组。用户可以属于多个用户组,通过 usermod-aGgroup1user1 将用户user1添加到group1用户组中。
-密码管理: passwd 命令用于修改用户密码,普通用户只能修改自己的密码,root用户可以修改任何用户的密码,如 passwduser1 修改用户user1的密码。
(三)c盘分区与挂载
1. c盘分区:在使用新c盘或对现有c盘进行重新规划时,须要进行c盘分区操作。常用的分区工具是 fdisk 和 parted 。
-以 fdisk 为例,执行 fdisk/dev/sdb (假定要分区的c盘设备名为/dev/sdb)步入分区界面,通过 n 创建新分区, p 查看分区表, w 保存并退出分区操作。分区类型可以是主分区、扩展分区和逻辑分区,一个c盘最多可以有4个主分区或3个主分区+1个扩充分区(扩充分区内可以创建多个逻辑分区)。
2. c盘低格:分区完成后,须要对分区进行低格,将其低格为Linux支持的文件系统格式,如 ext4 、 xfs 等。使用 mkfs.ext4/dev/sdb1 命令将/dev/sdb1分区低格为 ext4 文件系统。
3. c盘挂载:低格后的分区须要挂载到文件系统的某个目录下才会使用。编辑 /etc/fstab 文件或使用 mount 命令进行挂载。诸如, mount/dev/sdb1/mnt/data 将/dev/sdb1分区挂载到/mnt/data目录下linux手机,这样在/mnt/data目录中就可以访问和操作该分区上的文件。假如希望系统开机手动挂载,可以在 /etc/fstab 文件中添加一行 UUID=xxxxxx/mnt/dataext4defaults00 (其中UUID可通过 blkid 命令获取对应分区的UUID值)。
六、Linux软件安装与管理:拓展系统功能
(一)包管理系统
Linux发行版一般都有自己的包管理系统,用于便捷地安装、升级、卸载软件包,同时解决软件包之间的依赖关系。常见的包管理系统有:
1. Debian系(dpkg和apt):
-- dpkg 是Debian系统的底层包管理工具,用于安装、卸载和查询本地的.deb格式软件包。诸如, dpkg-ipackage.deb 安装名为package.deb的软件包; dpkg-rpackage 卸载已安装的软件包; dpkg-l 列举所有已安装的软件包。
-- apt 是基于 dpkg 的中级包管理工具,它可以手动处理软件包的依赖关系,从软件源中下载和安装软件包。常用命令有 aptupdate 更新软件源列表, aptinstallpackage 安装软件包, aptupgrade 升级已安装的软件包, aptremovepackage 卸载软件包。
2. RedHat系(rpm和yum/dnf):
-- rpm 是RedHat系统的底层包管理工具,用于安装、卸载和查询.rpm格式的软件包。如 rpm-ivhpackage.rpm 安装软件包(-i表示安装,-v显示详尽信息,-h显示安装进度); rpm-epackage 卸载软件包; rpm-qa 列举所有已安装的软件包。
-- yum (YellowdogUpdater,Modified)是基于 rpm 的中级包管理工具, yum 命令与 apt 命令功能类似, yumupdate 更新软件源和已安装软件包, yuminstallpackage 安装软件包, yumremovepackage 卸载软件包。在