linux(一)之linux简介
其实在前几天我使用的是csdn来写博客,尝试了一下,发现真的太浪费时间了。可能是自己不太习惯的原因吧。所以最后还是换回使用博客园。
接下来给大家带来的是linux,大家听到这里linux感觉很神秘的样子,其实它也就是一个操作系统而已。
一、关于Unix、linux
1.1、Unix/Linux能做什么?
服务器:Web服务器、Mail服务器、Database服务器以及做程序开发等。
1.2、哪些人要学习Unix/Linux?
Unix/Linux管理员,oracle管理员,网络工程师,程序开发者等等。
1.3、Unix/Linux的发展史?
关于这个给大家推荐一个网址,觉得要装逼的可以点进去看一下:http://dwz.cn/6qU0LQ
1.4、为什么Unix/Linux能做服务器呢?
你如何选择系统?按照谁更方便满足用户的需求来选择
windows:个人用户平台优化,非常容易满足个人的需求,
比如上网,聊天,聊QQ等
unix:企业级用户平台优化,做服务器,163,百度,淘宝
做服务器需要达到的要求:
1)安全性,比如银行系统
2)稳定性高(作为服务器一旦开机之后就不要随意当机的),
比如说电信,中国移动
3)高效性(访问网站的效率)
如果是window是很难这些要求的,所以一般企业级用户会选择unix和liunx。
对于我们作为应用程序开发者来选择OS:
开发的时候可能会用到window或者unix,但是在部署的时候大多数都是unix.所以就需要对unix有一定的了解。
二、硬件环境
输入设备(Input Devices),输出设备(Output Devices),随机存取存储器(RAM),中央处理器(CPU),I/O设备,硬盘(Hard Disk)等等
输入设备包括键盘、鼠标、手写笔等等。
输出设备包括显示器、打印机、磁带、硬盘等等。
三、软件环境
软件分为操作系统和应用软件
从用户和为用户提供服务的角度分为客户端和服务器端。
四、Unix、Linux操作系统
4.1、Kernel(内核)
管理硬件
管理内存:内存分配
管理进程:进程调度。
控制系统程序和系统硬件
管理文件系统:真正创建和删除文件的,用户只是发出命令。
管理交换空间(虚拟内存),守护进程(精灵),文件系统
swap space:(交换分区/空间)当系统的物理内存不够用的时候, 就需要将物理内存中的一部分空间释放出来,以供当前运行的程序
使用那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些
程序要运行时,再从Swap中恢复保存的数据到内存中。内核不断在交换空间和实际的物理内存之间反复交换虚拟内存存储单元中的内容。这使得系统以为它拥有比物理内存更多的可用内存。
deamon:(精灵进程、守护进程、后台进程)在操作系统中,一般系统的服务都是以后台进程的方式存在,
而且都会常驻系统中,直到关机才结束,这类服务称Deamon.
4.2、shell
Shell是用户和操作系统内核进行通讯的桥梁,扮演着解释器或翻译器的角色。
定义:充当了翻译者和解释者。 把人能够识别的高级语言解释成机器语言, 把机器语言翻译成高级语言。
Shell主要有一下几种,其中bash是Unix/Linux操作系统中默认的Shell
1)Bourne Shell (sh)
Bourne Shell是Stephen Bourne为AT&T Unix编写的Shell工具。
最早的比较出名是Unix Shell
一个新的版本是Bourne-Again Shell
2)Korn Shell (ksh)
3)C shell(csh)
Sun公司的创始人,Vi编辑器的作者Bill Joy在加利福尼亚大学的伯克利分校开发出来的,作为BSD Unix的默认Shell存在的。
C Shell具有历史记录功能,所有的使用过的命令都会保存下来,可以随时调用处理重新执行。
C Shell有自己的语法规则,类似于C语言。
在语法上与Bourne Shell不兼容。
C Shell有一个增强的并且完全兼容的新的Shell,tcsh。
五、FileSystem(文件系统)
solaris操作系统的文件系统
/” 根目录是Linux/Unix文件系统的最顶级的目录。对于Unix系统来说该目录还用来存放系统的补丁文件。
“/opt” 【Optional Application Software Packages】存放第三方工具或者是应用程序的目录。
“/etc” 【Etcetra Directory 】存放和系统相关的配置文件的目录。
“/dev” 【Devices】存放设备文件的目录。网卡例外,没有设备文件。
“/usr” 【Unix System Resource】Unix系统资源,存放系统中所有用户都会使用的命令,文档以及开发库。
“/kernel” 在Linux中是“/boot”,存放内核程序。
“/var” 【Variable】存放的是管理员所使用的一些与系统运行过程相关特殊功能。比如操作系统的日志等等。
“/home” 系统默认的用户的主目录,root用户除外。
具体的Ubuntu操作系统的目录结构参见:http://dwz.cn/6pTvma