Linux基本常识:Linux最早开发者是芬兰郝尔辛基大学的Linux Torvalds在受Minux的启发并在此基础上开发出的0.0.1版本,是一种类Unix。经过改良后在1991年10月份完成看0.0.2版本的Linux并在网上公布,使其初为自由开源的软件,这个完全遵守了GNU的GPL规则。在1994年Linux公布了具有里程碑的Linux 1.0.0版本,这是一个完备的操作系统,具有以下特点:1、稳定高效,真正的多用户多任务,2、占用很少的硬件资源,3、系统安全性比较高。目前最新的内核稳定版本是Linux 2.6.27。由于内核只是负责控制硬件设备,文件系统,以及处理应用程序的进程调度,在系统调用过程中应用程序可以和系统之间直接发起进程调度,但是效率过低,所以在此过程中是需要大量的应用编程接口(API)来完成应用程序和内核之间的沟通,其中有两种方式system call和库文件。这些文件就是包装Linux的内核来实现内核和应用程序之间的相互作用,以实现完整的操作系统。API的库文件遵循POSIX规范,这样提高了可移植性,缩短了编程人员的时间,实现了两个系统可以使用同一个软件,虽然实现过程不同,但是结果相同。目前全世界法相的Linux套件种类比较多,其中最著名的是Red Hat,Slackware,Debian,SuSE,Mandarke以及中国的红旗。下面简单的介绍各个发行版本的特点:
Red Hat是目前最为流行的Linux发行版的套件,在Red Hat Linux 9.0之后分为两个系列:以服务为主的是Red Hat Enterprise Linux (RHEL)和以个人桌面用户的Fedora Core。
Debian是截止目前最为遵循GNU规范的Linux系统,目前有3个版本:unstable是最新的测试版本适用于桌面用户,testing是unstable的改进版,相对来说比较稳定,stable是这三个来说是最安全最稳定的
Slackware是历史最为悠久的Linux发行套件。SuSE有自主开发的软件包管理工具。红旗Linux主要是针对用中国的用户,其主要分为桌面版本和服务器版本的,提供了良好的中文支持环境。
Linux的用户接口分为图形用户接口(GUI)和命令行接口(GLI),目前GUI主要包括两种环境分别是KDE和Gnome(Red Hat默认的),另外一种不经常用的是Xface.命令行接口(GLI)目前最常用的是bash,csh,bsh,ksh,zsh等。Shell是图形用户接口和命令行接口,其中支持命令行补齐和路径补齐,命令行补齐是Shell查找系统文件/bin和/sbin等。其中使用命令:echo$PATH可以查看这些文件的路径。路径补齐中最主要是明白相对路径和绝对路径。其中的区别最主要是在查找开始不一样,一个是在当前的路径开始,一个是在最上层开始即根(/)。命令补全的快捷键是Tab和按两次Esc。如果没有在重复上述动作*2就可以显示满足输入字符条件的文件名或者目录名。另外,在Linuxbash中注意!的应用,!!执行最近一次命令,!N执行第N次命令,!***执行距离最后一次最近以***开头字符的命令,!-N执行倒数第N次命令,!?***执行距离最后一次最近包含***字符的命令,esc . 分别按或者alt和.两个一起按,是重复上次命令的最后的一个参数。(差命令执行的历史history,默认最多查询最近500条)。
Linux默认启动一个图形终端和6个虚拟终端,其中切换到虚拟终端的快捷键是Ctrl+Shift+F(1-6),切换到图形终端的快捷键是Ctrl+Shift+F7,在切换到图形终端的过程中必须是之前启动过图形终端,否则需要输入startx $才能启动。在图形终端中也可以打开模拟终端,其中快捷方式有Ctrl+Shift+t(新建选项卡),Ctrl+Shift+pgup/pgdn(在选项卡之间切换),Ctrl+Shift+c/v(复制和粘贴),hift+pgup/pgdn(终端中的翻屏)。
关机命令:shutdown –h now;halt;init 0;power off;重启的命令:reboot;init 6;shutdown –r now.
在Linux中有这样的法则一切皆文件,把配置信息存放在文本文件中,有大量的体积较小,功能单一的程序组成,并组合这些程序完成一项复杂的任务。尽可能的避免和用户交互。因此一般文件类型分为普通文件(f),目录文件(d),符号链接文件(l),符号设备文件(c),块设备文件(b),命名管道文件(p)socket(套接字)文件(s)等。一般文件的权限为三种读(r)写(w)执行(x),这三项权限用二进制换算分别对应的十进制数字是4,2,1。
在Linux中不像windows中需要把磁盘分区,里面的文件都是树形结构的,一般Linux中最主要的目录结构分别是:
1、/bin存放所有用户和管理员的可执行文件,即命令或者程序文件,
2、/sbin只有管理员才可以执行的命令或者程序文件,
3、/boot系统启动时所需要的文件,单独分区大小10M,
4、/dev设备文件包括字符设备和块设备,设备文件。字符设备是限性读写,如键盘,块设备是以单位读取数据的设备,如硬盘,光盘等。
5、/etc配置文件的存放位置,
6、/home家目录的集中位置,普通用户:/home/username不可以相互访问。
7、/lib即library库文件的存放位置,都是可执行的文件。
8、/media;/mnt是两个挂载点,挂在额外存储设备的专用目录。前者是挂载便携式的设备,后者是挂载硬盘等。
9、/misc杂项名目录,
10、/proc伪文件系统,内部文件目录不再磁盘上是在内存中,是用户和内核交互的借口和运行程序相关。
11、/root管理员root用户的主目录。
12、/srv即service和服务相关,但和用户无关的数据文件的存放位置。
13、/sys伪文件系统,内核在2.6之后才有。其中包含硬件设备信息,内核和文件系统等信息。
14、/tmp即temporary临时文件,所有用户产生的临时文件的存放位置。
15、/usr与系统相关的额外文件信息的存放位置,但与系统启动相关性不大。其中/var/log存放的日志文件。/var/run存放的是进程文件。文件名最长255个字符,严格区分大小写,除回车外其他都可以为文件名。