linux简介
近些年来随着Internet的发展,Linux系统已经逐渐成为服务器的主流操作系统之一。众多互联网巨头将其作为关键服务器的操作系统。由于linux在安全性、稳定性上比windows要好,而且linux是开源免费的,配合免费的GNU软件可以实现免费而且成熟的服务环境部署!大到google,小到个人博客,绝大多数都是部署在linux环境下的!学习linux不但可以方便对linux服务器的管理!还帮助开发者更好地开发出可以在linux上运行的应用程序!
Linux系统简介
Linux系统是一个功能强大的操作系统,同时它是一个*软件,是免费的,开放源代码的。编制它的目的是建立不受任何商品化软件版权制约,全世界都能*使用的UNIX兼容产品。
Linux系统能做什么
linux系统能为我们做些什么呢?这是每个用户都关心的问题。目前Linux系统的应用主要分为桌面环境和企业环境两个方面。
- 桌面环境。对于家庭用户而言,linux提供了比较方便的KDE和GNOME桌面环境。桌面环境中自带的软件能够满足用户的不同需求。如用Mozilla Firefox等浏览器可以浏览网页,利用KMail可以收发电子邮件,利用XMMS、Kxine等多媒体播放器,可以播放音乐和视频等多媒体。开源的OpenOffice是一个功能强大的办公软件。除此之外,Linux中还有许多有特色的软件。
- 企业环境。Linux作为一个类UNIX系统,不仅继承了UNIX系统中许多优秀服务器软件,而且还有许多开源服务器软件,企业可以用这些软件构建自己的网络服务器。如:利用BIND可以构建企业级域名服务器;利用MySQL和PostgreSQL可以构建企业级数据中心;Linux系统中拥有知名的web服务器软件Apache,高性能web服务器软件Nginx等,使用这些软件可以构建企业级web服务器;利用Qmail、Postfix和Sendmail可以构建企业级邮件服务器。除此之外,linux系统中还有很多高性能服务器软件:代理服务器软件Squid、文件服务器软件Samba、FTP服务器软件vsFTPd等。这些软件形成了一整套企业服务解决方案。
Linux主要发行版
通常所说的Linux操作系统,是对使用Linux内核的一类操作系统的统称,这些操作系统的主要结构包括:Linux内核、人机交互程序、应用程序等。
Linux内核是操作系统的核心部分,主要负责管理进程、存储设备和网络接口等。
用户是无法使用只有一个Linux内核的操作系统的,将Linux内核、人机交互程序以及各种应用程序组合在一起,就组成了用户可以使用的操作系统,通常将其称为Linux发行版。使用Linux内核的发行版有数百种之多。这里简单介绍一些常见的Linux发行版。
- Arch Linux。
- Arch Linux在安装过程中提供了强大的可定制选择,支持你下载和安装自己所需的程序包。虽然对新手来说没有多大帮助,但它却是能够帮助那些使用Arch构建系统和存储库的用户安装尽可能少的程序,减少对编码产生干扰的可能。
- Arch Linux下载地址(http://www.archlinux.org/)
- Debian
- Debian是最古老的Linux发行版之一,其稳定性已深入人心。所有包含在Debian的程序必须符合Debian的*软件指南。为了保持Debian的稳定性,里面的文件包都是已被认真筛选和测试的,这意味着就算里面某些程序过时了,它对于系统带来的不稳定性任然会非常小,因此,Debian无疑是程序员理想的操作系统。
- Debian的网站有丰富的产品指南,其中包含了一个编程的章节,它记录了如何通过创建和编译脚本以及如何使用Autoconf来让你的脚本在其他Linux发行版上进行编译。
- Debian的下载地址(https://www.debian.org/)
- Ubuntu
- Ubuntu是为初学者设计的,它包含桌面界面和自动更新。Ubuntu是Android开源项目构建源文件所选择的发行版,Android的构建经常使用Ubuntu的最新版本进行测试。
- Ubuntu下载地址(https://www.ubuntu.com/)
- Fedora
- Fedora是社区支持商业发行红帽linux的一个衍生产品。除了设置和安装很容易外,Fedora还有一个专业的开发者门户网站(https://developer.fedoraproject.org/)。只需点击启动一个项目,就可以看到关于开发web、命令行、桌面和移动应用程序的专业指南,此外,在使用诸如Arduino这样的硬件设备方面也有很好的指引。
- Fedora下载地址(https://getfedora.org/)
- CentOS
- CentOS也是一种免费的、社区生成的Red Hat变体版。
- CentOS下载地址(https://www.centos.org/)
Linux系统的优势
Linux操作系统具有许多独特而强大的功能。与其他操作系统一样,它是控制计算机的系统程序。但同时也与UNIX一样,是一个精心设计的工具程序的集合,而且提供了大量的工具使得用户可连接和使用这些工具,以构建系统和应用程序。
- Linux具有内核编程接口。Linux内核是Linux操作系统的核心,负责分配计算机资源和调度用户作业,尽可能使得每个作业都能平等地使用系统资源。
- Linux支持多用户。根据硬件和计算机所执行任务的不同,Linux操作系统可支持一个到一千个以上的用户,其中的每个用户可同时运行不同的程序集合。
- Linux支持多任务。Linux是一个完全受保护的多任务操作系统,它允许每个用户同时运行多个作业。进程间可相互通信,但每个进程是受到完全保护的,即不会受到其他进程的干扰。
- Linux支持安全的分层文件系统。Linux以目录结构的方式组织文件。这种结构可使用户通过将相关文件放到一个目录下,实现对大量文件的管理。每个用户拥有一个主目录,根据需要可在该目录下建立更多的子目录。
- shell:命令解释器和编程语言。在文本环境下,shell作为命令解释器,建立了用户和操作系统之间的接口。当输入一个命令后,shell将对命令进行解释,并调用相应程序。shell除了具有解释键盘命令并发送到操作系统的功能外,它还是一种高级编程语言。shell命令可组织在一个文件*以后执行,这些文件在Linux系统中称为shell脚本。在DOS和Windows系统中报备称为批处理文件。这种灵活性使得用户利用相对简短而简单的命令就可进行复杂操作,并且使得用户轻而易举就可创建完成复杂操作的精巧程序。
- 大量有用的工具集。linux包括几百个工具程序,这些程序通常被称为命令,可以提供用户普遍需要的功能。
- 进程间的通信。Linux允许用户在命令行上建立管道和过滤器。管道可以将一个程序的输出做为另一个程序的输入,过滤器作为管道的一种特殊形式,对输入数据流处理以得到输出数据流。过滤器可对程序的输出进行修改,输出结果可作为另一个程序的输入。
- 系统管理。linux系统的系统管理员通常是系统所有者和系统唯一的用户,具有很多职责,其中首要的应该是设置系统和安装软件。一旦系统启动并运行,系统管理员应负责下载和安装软件(包括对操作系统的更新)、备份和恢复文件、管理系统设备,也应负责为新用户建立账户,必要时启动和关闭系统,以及处理任何出现的问题。
Linux的存储设备
硬盘是当前计算机中存储数据的主要设备。
1. 硬盘分类:
按读写功能对存储设备进行分类:
- 随机存储器,这类存储器的代表是内存。
- 只读存储器,主机上的光驱。
- 可读写存储器,硬盘、软驱、和U盘。
目前市场上的存储设备按使用接口类型分类:
- IDE设备,一种较为老式的个人计算机硬盘接口,目前仍有少量使用。使用并行方式传输数据,也称“并口”。Linux中标识为hd.按接口编号不同,命名为hda、hdb……
- SATA设备,目前主流个人计算机硬盘接口,使用串行方式传输数据,也称“串口”。Linux中标识为sd.按接口编号不同,命名为sda、sdb……
- SCISI设备,小型计算机和服务器上的硬盘大多使用这种接口。Linux中标识为sd.按接口编号不同,命名为sda、sdb……
- 串行总线设备,主要指U盘,移动硬盘、移动光驱等使用USB接口的移动存储设备。Linux中标识为sd.按接口编号不同,命名为sda、sdb……
2. 分区的标识方法
在使用硬盘存储数据时,还需要对硬盘进行分区,按分区的使用方法可将硬盘分为三种:主分区、扩展分区、逻辑分区。
- 主分区:硬盘中最基本的分区类型,主分区可直接挂载并存储数据,一个硬盘最多只能有4个主分区。使用标识符1、2、3、4,如硬盘sda上的第一个主分区表示为sda1,
- 扩展分区:特殊的主分区,如果要使用扩展分区存储数据,必须先将扩展分区划分为逻辑分区(逻辑分区建立在扩展分区之上)。如果要在一个硬盘上创建4个以上的分区,就必须使用扩展分区。由于扩展分区也是一种主分区,因此扩展分区也占用一个主分区号。
- 逻辑分区:可创建多个逻辑分区,逻辑分区可直接挂载并存储数据。逻辑分区标识从数字5开始。sda5……
Linux系统中的硬盘分区使用以上标识符命名并保存在目录/dev中,要使用分区存储数据时,需要将对应的块设备文件挂载到一个目录下。挂载块设备的过程可以描述成:为用户使用该分区存放和读取数据提供一个接口或途径。
Linux系统中的目录结构
与windows不同,Linux系统使用一个目录结构来代表整个文件系统,linux系统的目录结构通常由一个或多个文件系统组成。
Linux系统使用斜杠“/”表示整个目录的起点(根目录),将根目录所在的分区称为根分区。根目录下有许多用于存放各类文件的子目录。
目录名 | 功能 |
bin目录 | 主要用于存放普通用户可以使用的命令 |
boot目录 | 存放Linux启动所需文件,包括内核,引导文件 |
dev目录 | 存放设备文件 |
etc | 系统和服务的配置文件,普通用户只能读 |
home | 存放普通用户的家目录 |
lib | 存放系统及相关软件依赖的文件 |
lost+found | 系统出现意外或掉电关机,文件系统可能会损失一些文件或产生文件碎片,系统重启会修复这些文件,并将其放入此目录便于管理员恢复 |
media | 挂载可移动媒体 |
mnt | 临时挂载一些磁盘设备 |
opt | 额外的软件安装在此目录 |
proc | 系统运行时将相关的暂存信息放入此目录(由系统产生,并非真实存在于文件系统上) |
root | root用户的家目录,存放root的初始化文件、个人文件等 |
sbin | 存放一些系统管理命令,普通用户不能执行这些命令 |
tmp | 存放系统或进程运行时产生的临时文件,用户也可以在这个目录中存放自己的临时文件 |
usr | 存放一些帮助和文档,有时也存放一些配置文件和程序 |
var | 存放许多类型的文件,如日志文件、数据库文件、web服务器程序文件等。 |
上一篇: 千元笔记本的代表产品 中柏EZbook 2详细图文评测
下一篇: 作业2
推荐阅读
-
Linux shell利用sed如何批量更改文件名详解
-
mysql 8.0.18 安装配置方法图文教程(linux)
-
如何创建Linux的swap交换分区文件的方法步骤
-
Linux统计一个文件中特定字符个数的方法
-
linux CentOS 系统php和mysql命令加入到环境变量中
-
Thinkphp 在linux下无法正常显示验证码图片,该怎么解决
-
linux如何无损调整分区大小的详细介绍
-
Linux crontab定时任务配置方法(详解)
-
linux中ERROR: The partition with /var/lib/mysql is too full!_MySQL
-
linux下fortran程序的编译