初学Linux第一天

Linux的哲学思想:

1、一切皆文件;

把几乎所有资源,包括硬件设备都组织为文件格式;

2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;

组合小程序完成复杂任务;

3、尽量避免跟用户交互;

目标:实现脚本编程,以自动完成某些功能;

4、使用纯文本文件保存配置信息;

目标:一款使用的文本编程器即能完成系统配置工作;

Linux的优点:

稳定的系统

免费或少许的费用

安全性、漏洞的快速修补

多任务、多用户

用户与用户组的规划

占用资源相对比较小

整合度佳且多样的图形用户界面

Linux的缺点:

没有特定的厂商

游戏的支持度不足

专业的软件支持度不足

首先,Linux可划分为四个部分:

Linux内核

GNU工具组件

图形化桌面环境

应用软件

一、 Linux内核

内核基本负责以下四项主要功能:

系统内存管理

软件程序管理

硬件设备管理

文件系统管理

1、 系统内存管理

内存管理是操作系内核的基本功能之一。内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(不实际存在的内存)。

内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间(swap space)。内核不断在交换空间和实际的物理内存之间反复交换虚拟内存存储单元中的内容,这使得系统以为它拥有比物理内存更多的可用内存。

查看Linux系统上虚拟内存的当前状态:

如图所示,MemTotal : 表明这个linux 服务器的内存大小,

MemFree : 表明/proc/meminfo文件还有110M的空闲空间

SwapTotal : 表明这个系统还有大约2G的交换空间

多个进程可在同一块内存区域进行读取和写入操作,内核负责维护和管理这块公用内存区域并控制每个进程访问这块共享区域,可用ipcs -m命令查看系统上的当前共享内存页面.

2、 软件程序管理

Linux操作系统称运行中的程序为进程,进程可以在前台运行,将输入显示在屏幕上;也可以在后台运行。内核控制着linux系统如何管理运行在系统上的所有进程。

内核创建了第一个进程—init进程,用来启动系统上所有的其他进程。当内核启动时,它会将init进程加载到虚拟内存中,内核在启动任何其它进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。

/etc/inittab 目录专门用来存储开机时要自动启动的进程

/etc/init.d 目录存放开机时启动或停止某个应用的脚本,这些脚本通过/etc/rc.X.d目录下的入口启动(X:运行级别)

运行级别:为了系统的运行或维护等应用目的而设定;

0:关机

1:单用户模式(root, 无须登录), single, 维护模式;

2: 多用户模式,会启动网络功能,但不会启动NFS;维护模式;

3:多用户模式,正常模式;文本界面;

4:预留级别;可同3级别;

5:多用户模式,正常模式;图形界面;

6:重启

默认级别:3, 5

切换级别:init #

查看级别:runlevel

who -r

3、 硬件设备管理

Linux系统将硬件设备文件当成特殊的文件,称为设备文件。

设备文件的3种不同的分类:

字符型设备文件(每次只处理一个字符的设备)

块设备文件(指处理数据时每次能处理大块数据的设备,比如硬盘)

网络设备文件(采用数据包发送和接收数据的设备)

4、 文件系统管理

Linux支持多种不同类型的文件系统来从硬盘中读取或写入数据,还支持从其他系统所采用的文件系统中读取或写入数据。

Linux内核采用虚拟文件系统(Virtual File System,VFS)作为和每个文件系统交互的接口,这为Linux内核同任何类型文件系统通信提供了一个标准接口,当每个文件系统被挂载和使用时。VFS将信息都缓存在内存中。

最常用的Linux文件系统:

ext3,ext4,iso9660,nfs,ntfs,vfat,xfs

二、 GNU

GNU组织(GNU’s Not Unix)开发的一套完整的Unix工具链,这些工具链是在开源软件(Open Source Software, OSS)的软件开发理念下开发的。讲Linus的Linux内核和GNU 操作系统工具结合起来,就可以创造一个完整的、功能丰富的免费操作系统。

为Linux系统提供的一组核心工具被称为coreutils(core utilities) 软件包,有三部分构成:

用以处理文件的工具

用以操作文本的工具

用以管理进程的工具

Shell:shell的核心是命令行提示符,它允许输入文本命令,之后将解释命令并在内核中执行。

脚本就是把shell命令放在文件中作为程序执行,所有Linux发行版默认的shell基本 都是bash shell。作为标准Unix shell,由GNU项目组开发。

三、 Linux桌面环境

KDE桌面(K Desktop Environment,K桌面环境),最初于1996年作为开源项目发布。类似于Microsoft Windows的图形化桌面环境。

桌面底部的横条称为面板,由4部分组成:

KDE菜单:包含了启动已安装程序的链接,和Windows的开始非常类似

程序快捷方式:在面板上有直接从面板启动程序的快速链接

任务栏:任务栏显示着当前桌面正运行的程序的图标

小应用程序:这些图标常常会根据小应用程序的状态发生变化

除了桌面功能,KDE项目还开发了大量的可运行在KDE环境中的应用程序,作为惯例,KDE应用命名时经常有个大写的K。

GNOME桌面(The GNU Network Object Model Environment,GNU网络对象模型环境),于1999年首次发布,桌面分布:

一块放置图标的桌面区域

两个面板区域

拖放功能

大多数采用GNOME桌面的Linux发行版还集成了KDE库,允许用户在GNOME桌面上运行KDE应用程序

四、 发行版

不同的Linux发行版通常归类为三种:

完整的核心Linux发行版

专业发行版

LiveCD测试发行版

核心Linux发行版含有内核、一个或多个图形化桌面环境以及预编译好的几乎所有能见到的Linux应用。它提供了一站式的完整的Linux安装。

Linux发行版本:

Slackware :最早的Linux发行版之一

Red Hat :主要用于Internet服务器的商业发行版

Fedora :从Red Hat中分离出来的家用发行版(6个月/新版本)

Gentoo :

openSuSE :用于商用和家用的发行版

Debian :Ubuntu

CentOS :兼容rhel(18个月/新版本),是根据rhel源代码改写的

时间: 2024-10-13 16:05:13

初学Linux第一天的相关文章

初学LINUX,一些自己的小分享

学linux近一个月了,经常会遇到一些感觉懂了,深究发现又不懂.感觉懂了,一动手就陷入僵局.这是一个来自小白的一些个人的分享,可能十分浅显,可能不算分享,但是分享不就是重在分享嘛! 接下来是我这近一个月自己约到的小麻烦,小见解,和平时暂时经常用到的东西,希望大家有所收获.写的有些杂,不要介意哦! 首先是ls命令: 这是我们初学linux时最长用到的命令,当时我的老师告诉我, ls + 通配符 或者 文件名 的时候最好是 在ls后跟上 -d 的选项,当时我就很不解,虽然知道-d 是只列出目录,但是

初学Linux之安装CentOs

跟着俊哥初学Linux之 安装CentOS (作者 小野哥) 1        检查BIOS虚拟化支持 2        新建虚拟机 3        新建虚拟机向导 4        创建虚拟空白光盘,稍后安装操作系统,因为初学者越学的多越好,不要怕麻烦 5        安装Linux系统对应的CentOS版 6        虚拟机命名和定位磁盘位置 7        处理器配置,看自己是否是双核.多核 8        设置内存为2GB 9        网络设置NAT或者桥接模式 10

初学linux网络服务之vsftp服务实验

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:测试默认安装vsftpd的结果 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 服务器端设置 [[email protected] ~]# cd /misc/cd/Server                 //进入RHEL5.9光盘 [[email protected

初学linux网络服务之samba服务实验

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:Samba匿名共享 工作组为Tarena 将目录 /usr/src 共享给所有人 共享名设为 tools 允许所有人访问.无需密码验证 访问权限为只读 1.安装软件包 [[email protected] ~]# rpm -q samba-client samba samba-common  //查看安装包 package samba-client

linux第一课

linux第一课 1.C开发的LINUX系统的世界 (基于Red Hat Enterprise Linux Server release 6.3 (Santiago)) 2.查看CPU-----------cat /proc/cpuinfo 2.查看内存-------------cat /proc/meminfo 3.查看硬盘--------------smartctl -a /dev/sda

初学linux网络服务之HTTP服务实验

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:查看默认HTTP配置 找到默认红帽欢迎页面 (/etc/httpd/conf/httpd.conf ---->Include ----> /etc/httpd/conf.d  ----> welcome.conf  ----> /var/www/error/noindex.html) 前提条件: 1.配置IP [[email prote

[IOS初学]ios 第一篇 storyboard 与viewcontroller的关系

学习了一下ios,把一个基本的概念搞清楚了,在android或者wp中,大家基本都是习惯与一个画面场景代表一个类,新建场景的时候自动新建了类,但在ios中使用了storyboard之后发现,在storyboard中新加入了一个新的viewcontroller之后,就不知道在哪里写代码来控制这个viewcontroller,因为默认初始化创建这个app的时候自动带了一个viewcontroller. 对于我来说这个一开始就没搞清楚,就像下面这个图,建立了一个新的viewcontroller直接在s

Linux 第一章文本安装 red hat

享受生活  热爱挑战 明远分享 Linux 第一章文本安装 red hat 每章一段话 有些人似荷,只能远观:有些人似茶,可以细细品味:有些人似风,不必在意:有些人是树,值得依靠.人生就像是一场修行,修的就是一颗心.心顺,一切就会完美:心静,出境就会美好:心乐,人生就幸福了.多点踏实,少点浮躁,活得真实才能自在. 目标:   学会用文本方式安装red hat (建议先练习图形化安装,对比着学习文本安装) 理论部分: 一丶了解linux的系统内核 对于操作系统来说,内核就好像是人的"心脏"

Linux第一节随笔

Linux第一节: 1.GNU:又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的.它的目标是创建一套完全自由的操作系统.为保证GNU软件可以自由地“使用.复制.修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL).即“反版权”(或称Copyleft)概念.   1.1GNU是“GNU's Not Unix”的递归缩写   1.2GN