Linux操作系统教案
1. Linux系统目录简介
所有的类Unix操作系统的文件系统都有别于windows操作系统。在类Unix操作系统中没有windows操作系统中的盘符概念。类Unix操作系统中的所有文件都存放于一个称为“根目录”的目录中,在类Unix操作系统中该根目录使用符号“/”表示。图1-1中展示的是ubuntu操作系统根目录下的所有子目录。
图1-1 ubuntu系统目录结构
bin
这里存放了标准的(或者说是缺省的)linux的工具,比如像“ls”、“vi”还有“more”等等。通常来说,这个目录已经包含在你的“path”系统变量里面了。什么意思呢?就是:当你在终端里输入ls,系统就会去/bin目录下面查找是不是有ls这个程序。
boot
Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。
dev
dev目录中存放的是linux操作系统的设备文件。在linux 操作系统中将所有的设备都看作一种特殊的文件,大致分为字符设备文件和块设备文件。用户使用设备就和使用文件一样。说的直白一点,设备文件类似于在硬件设备和用户之间的一个中介,用户无需知道设备
1
的工作细节,使用硬件设备就对于用户而言与操作文件一样。
部分设备文件
主设备号 设备类型 次设备号=文件名 0 未命名设备(例如:挂载的非设备) 0 = 为空设备号保留 1 char 内存设备 1 = /dev/mem 3 = /dev/null 4 = /dev/port 5 = /dev/zero 7 = /dev/full 8 = /dev/random1. 直接存取物理内存 3. 空设备。任何写入都将被直接丢弃,任何读取都将得到EOF。 4. 存取 I/O 端口 5. 零字节源,只能读取到无限多的零字节。 7. 满设备。任何写入都将失败,并把errno设为ENOSPC以表示没有剩余空间。 8. 随机数发生器。完全由用户的输入来产生随机数。如果用户停止所有动作,则停止产生新的随机数。 当前虚拟控制台 第1个虚拟控制台 … 第63个虚拟控制台 在文字命令模式下有效 当前 TTY 设备 系统控制台(一般是/dev/tty0) PTY的复用器 第1个 SCSI 磁盘(整个磁盘) 第2个 SCSI 磁盘(整个磁盘) 第3个 SCSI 磁盘(整个磁盘) … 简要说明 4 char char TTY(终端)设备 0 = /dev/tty0 1 = /dev/tty1 ... 63 = /dev/tty63 其他 TTY 设备 0 = /dev/tty 1 = /dev/console 2 = /dev/ptmx 5 8 block SCSI 磁盘(0-15) 0 = /dev/sda 16 = /dev/sdb 32 = /dev/sdc ... 240 = /dev/sdp 第16个 SCSI 磁盘(整个磁盘) 分区表示方法如下(以第3个 SCSI 磁盘为例) 33 = /dev/sdc1 第1个分区 34 = /dev/sdc2 第2个分区 ... … 47 = /dev/sdc15 第15个分区 对于Linux/i386来说,分区1-4是主分
2
区,5-15是逻辑分区。 tty:teletypewriters,原指电传打印机,而现在多指各种字符型终端设备。/dev/tty0~63代表的是显示器虚拟终端控制台。其只在linux的文字命令模式下有效。 pty:pseudo-tty,虚拟终端; pts:pseudo-terminal slave与ptmx(pseudo-terminal master)配合实现pty。pts是linux在图形窗口模式下的虚拟终端的实现,然后通过ptmx复用器构造出一个终端窗口。
实例说明:
图形模式下的虚拟终端
在ubuntu的图形窗口模式下,打开一个终端,并用过命令“tty”或“who am i”可以查看当前的终端信息。如图1-2所示。
图1-2 图形模式下的虚拟终端
如果同时再打开一个终端,然后在该终端窗口中输入命令“tty”或“who am i”查看终端信息,可以获得如图1-3所示的结果。
图1-3 图形模式下的另一个虚拟终端
你可以通过命令“ls /dev/pts”查看目录“/dev/pts”下文件的变化,每当你创建一个虚拟终端,那么目录“/dev/pts”下就会多一个以数字命名的文件。例如我们现在已经创建了2个虚拟终端窗口,那么目录“/dev/pts”下的文件内容如图1-4所示。
图1-4 查看虚拟终端设备文件
3
如果再创建第3个虚拟终端窗口,那么再通过命令“ls /dev/pts”,你会发现在该目录下将会多出一个以“3”命名的文件。
文字模式下的虚拟终端控制台
在虚拟机中运行的ubuntu窗口图形界面,可以通过按下“CTRL + ALT + F1”切换到ubuntu的文字命令模式,并通过按下“CTRL + ALT + F7”从文字命令模式切换到窗口图形界面。在图形界面模式按下“CTRL + ALT + F1”后,我们将看到如图1-5所示的文字命令界面。
图1-5 ubuntu文字虚拟终端控制台
通过输入用户名和密码后,即可登录入系统。在命令提示符后输入命令“tty”或“who am i”可以得到如图1-6所示的结果。
图1-6 虚拟终端控制台对应设备文件查询
从图1-6与前面的图形界面虚拟终端的截图可以看出,文字命令界面的终端控制台与图形界面的虚拟终端所对应的设备文件是不同的。而在文字命令界面模式下,也提供了我们使用过个虚拟终端控制台的方法。我们可以通过按下“CTRL + ALT + F1~F6”在六个虚拟终端控制台间切换,来实现多个终端的操作。当你希望退回到图形用户界面模式,就可以按下
4
“CTRL + ALT + F7”。
etc
etc目录中存放有系统软件的启动和配置文件,以及系统在启动过程中需要读取的文件。例如你安装了java或mysql等软件,如果需要修改其配置文件时,就可以/etc/java或/etc/mysql下面找到对应的配置文件。
etc目录是一个非常重要的目录,其中有很多在使用linux时经常会碰到的目录或文件,下面对其中最经常使用的文件进行简单说明。
/etc/passwd
/etc/passwd文件的内容如图1-7所示
图1-7 /etc/passwd文件
/etc/passwd文件中的每一行记录一个用户的相关信息。每行用户信息中的不同部分以“:”分隔,各部分具体意义如下所示:
用户名:密码:用户ID:组ID:说明:用户主目录:成功登陆后要执行的命令路径
如果第二列的内容为“X”,表示该行记录的用户密码是正常或合法的,不过加密后的密码并不会保存在本文件中,而是保存在/etc/shadow文件中。如果第二列为空,那么表示该用户登录不需要密码。
/etc/shadow
/etc/shadow文件的内容如图1-8所示
图1-8 /etc/shadow文件
/etc/shadow每行内容结构如下所示:
用户名:密码:上次修改密码的日期:密码不能变更的天数:密码需要重新变更的天数:密码变更提前几天通知:成账号失效日期:账号取消天数:保留 如果第二列如果为空那么表示该用户登录无需密码,如果包含除{./0-9A-Za-z}意外的字
5