2-Linux
- 格式:doc
- 大小:354.50 KB
- 文档页数:12
Linux2 调度进程在Fedora Core Linux系统中,允许多个进程并发执行。
但是,通常情况下,系统中的资源总是有限的,如果系统中并发执行的进程数量过多,就会造成系统的整体性能下降,尤其是当系统中存在黑客进程或者病毒进程时,甚至可能会造成系统瘫痪。
因而,有必要根据一定的策略对系统中的进程进行调度,例如,将可疑的进程终止,将不紧急的进程挂起或者降低其优先级等。
系统管理员或者普通用户都可以对进程进行调度,但是执行这种操作时要非常小心,因为有些进程是与系统运行相关联的,不能对它们有错误的调度。
可以使用如下所示的任一种方法进行进程调度:●在系统监视器的“进程”选项页中进行调度。
●在top命令的执行过程中使用交互命令进行调度。
●在命令行中直接执行各种调度进程的命令。
下面将介绍如何使用命令行命令调度进程。
1.更改进程的优先级在fedora系统中,各个进程都是具有特定的优先级的,系统在为某个进程分配CPU使用时间时是根据进程的优先级进行判定的。
有些进程比较重要,需要先执行,以提高整个程序的执行效率,而有些不太重要的进程,其优先级可以低一些。
通常情况下,大多数用户进程的优先级是相同的,但是可以使用Fedora提供的某些命令改变进程的优先级。
通过执行“ps -l”命令可以查看当前用户进程的优先级,如下所示。
PRI表示进程的优先级,它是由操作系统动态计算的,是实际的进程优先级;NI所表示的是请求进程执行优先级,它可由进程拥有者或者超级用户进行设置,NI会影响到实际的进程优先级。
下面介绍两个可以改变进程优先级的命令。
(1)nice命令格式:nice 【选项】命令功能:在启动进程时指定请求进程执行优先级。
该命令较常用的一个选项是“-n”,n值(即NI值)的范围是从-20到19。
-20代表最高的NI优先级,19代表最低的NI优先级。
如果没有该参数,将自动设置NI值为10。
默认情况下,只有超级用户才有权提高请求进程的优先级,而普通用户只能降低请求进程的优先级。
Linux2 文件操作命令在上一节中,向用户介绍了一些管理目录结构及操作的命令,下面将向用户介绍一些常用的文件操作命令1.touch改变文件或目录时间touch命令的作用是修改文件的存取和修改时间表4 touch主要选项参数9所示。
图9 touch命令2.file识别文件类型file命令的作用是显示文件或目录的类型。
例如,查看usr目录下的aa.txt文件,如图10所示。
图10 file命令3.cp复制文件或目录cp命令的作用是复制文件或目录到目标文件或目录。
cp命令将源文件或目录复制到目标文件或目录中。
如果参数中指定了两个以上的文件/目录,且最后一个是目录,则cp命令视最后一个为目的目录,将前面指定的文件和目录复制到该目录下;如果最后一个不是已存在的目录,则cp命令将给出错误信息。
cp命令主要选项参数如表5所示。
表5cp命令主要选项参数例如,将根目录下aa目录下的文件复制到bb目录下,如图11所示。
图11 cp命令4.rm删除文件或目录rm命令的作用是删除文件或目录。
语法如下:该命令可以删除一个目录中的一个或多个文件和目录,也可以将某个目录及其下属的所有文件和子目录删除。
对于链接文件,只是删除整个链接文件,而原有文件保持不变。
rm 命令主要选项参数如表6所示。
表6 rm 命令主要选项参数图12 rm 命令5.mv 移动或更名现有的文件或目录mv 命令的作用是移动或更名现有的文件或目录。
语法如下:该命令不仅用来移动文件或目录,还可以在移动的同时修改文件名或目录名。
mv 命令主要选项参数如表7所示。
表7 mv 命令主要选项参数例如,将wang 目录下的test.txt 文件名称修改为aa.txt ,如图13所示。
图13 mv 命令6.ln 链接文件或目录链接文件命令是ln 命令。
该命令在文件之间创建链接。
这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问的名称。
对于这个新文件名,可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。
Linux2 建立硬连接
硬连接,又称为连接。
在Linux中以单纯的复制文件到需要用户目录下可以实现文件的共享,但同一个文件在不同的用户目录下无疑会造成磁盘资源的浪费。
连接可以在不复制的情况下,实现文件共享。
例如,用户zht需要使用用户root的文件new,那么只需要在zht下创建该文件的连接即可。
输入下面的命令:
输入命令后可以看到该目录下所有文件的信息,如图3-13所示。
其中new文件的权限为rw-r--r--,其所有者为zht。
图3-13 文件信息
mynew。
再次使用ls命令查看new文件所在目录,可以看到如图3-14所示的信息。
图3-14 文件信息
由图3-12可能看到在目录中new文件的连接数变成了2,这表示除了文件本身外还有另外一个副本,这就是刚刚创建的硬连接。
当用户删除带有硬连接的文件时,它的连接数就会递减直到连接数降到0时文件才会真正从磁盘上删除。
这也说明硬连接文件和原文件是同一个文件(但却不是复制),两个文件占有相同的索引节点,所以两个文件的索引结点编号也是相同的。
可使用ls -l命令来查看文件的索引节点号(有关ls命令更多相关知识参见本书第四章)。
在终端窗口输入下面的命令。
从终端窗口显示的结果可以看,硬连接和其真实文件的索引节点号是相同的,显示在笔者计算机上索引节点号都是:849624。
实训项目2--Linux基本命令(带参考答案)实验报告题目:项目二、Linux基本命令院系:信息工程系专业:网络工程班级:2011级1班姓名:??学号:2011????指导教师:201 3 年3 月15 日实训项目2 Linux基本命令一、实训目的●掌握Linux各类命令的使用方法;●熟悉Linux操作环境。
二、实训内容练习使用Linux常用命令,达到熟练应用的目的。
三、实训步骤子项目1.文件和目录类命令的使用(1)启动计算机,利用root用户登录到系统,进入字符提示界面。
练习使用cd命令(2)用pwd命令查看当前所在的目录。
pwd命令用于显示用户当前所在的目录。
如果用户不知道自己当前所处的目录,就可以使用这个命令获得当前所在目录(3)用ls命令列出此目录下的文件和目录。
然后,使用ls命令,并用-a选项列出此目录下包括隐藏文件在内的所有文件和目录。
最后,用man命令查看ls命令的使用手册。
补充说明浏览信息内容:(以下面图片为例)最后一行内容列表说明- r w - r--r--1 rootroot8 Feb2118:42mybook1 2 3 4 5 6 7 8 9 10 111属性:- 代表文件,l代表链接文件,d代表目录2 所有者权限(文件权限):具有r 读w 写没有x 执行3 同组用户权限(文件权限):只读r4 其他人权限(文件权限):只读r5 链接数:16 文件拥有者:root7 文件所属组:root8 文件大小:8字节9 创建或修改日期:2月21日10 创建或修改时间:18:4211 文件或目录名称(4)在当前目录下,创建测试目录test。
利用ls或ll命令列出文件和目录,确认test目录创建成功。
然后进入test目录,利用pwd查看当前工作目录。
❖m kdir命令用于创建一个目录。
❖该命令的语法为:mkdir [参数] 目录名❖常用参数–p:如果父目录不存在,则同时创建该目录及该目录的父目录。
Linux2 静态路由器的配置Linux下最常用的指定路由规则的是route命令,它主要功能是管理Linux系统内核中的路由表。
该命令最大的用途就是用来设定静态的路由表项,通常是在系统用ifconfig配置网络接口(如网卡)后,用它来设定主机或者一网段的IP地址应该通过什么接口发送等。
其中,该命令中带有许的参数信息,并通过这些参数来管理相关功能,如表6-6所示。
语法如下:route [-CFvnee] [-v] [-A family] [-net|-host] target [netmaskNm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] [-V] [--version] [-h] [-netmask Nm] [--help]表6-6 route命令的参数说明例如,添加一条路由表项,网段192.168.1.x,并且规定该网段的信息从eth0网卡端口传输。
在【终端】中,输入“route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0”命令,并按【回车】键,如图6-26所示。
图6-26 添加路由项下面再添加一条缺省路由,即如果没有其他匹配的路由项,就使用这个路由规则。
例如,在【终端】中,输入“route add default gw localhost.localdomain”命令,并按【回车】键,如图6-27所示。
其中,“localhost.localdomain”是一个主机名称,而通往这个主机的路由规则应该事先已经设置好了。
图6-27 设置缺省路由。
Linux2 文件管理器GNOME桌面环境包括了一个名为Nautilus的文件管理器,Fedora称之为文件浏览器。
它提供了系统和个人文件的图形化显示。
Nautilus不是文件可视列表,它还允许用一个综合界面来配置桌面、Fedora系统、浏览图片以及访问网络等,本节主要讲解文件管理器的组成和操作。
1.启动Nautilus文件管理器Nautilus是一个多功能的文件管理器,不仅可以用来浏览图片、访问网络资源还能运行脚本文件(目录批处理文件)、定制文件和文档还能进行CD/DVD刻录。
要作为文件管理器来启动Nautilus有多种方法,如下所示:●双击桌面上的“计算机”或“root主目录”图标。
●右击桌面上“计算机”或“root主目录”图标,选择“浏览文件夹”,以文件浏览器的方式来启动Nautilus。
●使用“位置”菜单下的“主文件夹”或“桌面”菜单命令。
●选择“应用程序”|“附件”菜单中的“终端”,打终端窗口并输入nautilus命令,即可启动文件管理器,启动后的文件管理器如图2-18所示。
图2-18 文件管理器图2-18所示,是以文件管理管理方式启动的Nautilus。
2.文件管理器的组成GNOME桌面环境下Nautilus文件管理器窗口与Windows操作系统中窗口组成部分基本类似,包括:菜单栏、工具栏、查看方式、侧栏、状态栏和浏览窗等内容,如图2-19所示。
图2-19 文件管理器的组成(1)浏览窗浏览窗体中显示了目录或文件夹下的内容,主要包括文件及属性、文件夹及其属性以及FTP 站点内容。
(2)菜单栏用户使用或设置的各种菜单选项都在菜单栏,包括【文件】、【编辑】、【查看】、【转到】、【书签】和【帮助】等菜单。
(3)主工具栏工具栏中有一些常用功能按钮,如【刷新】、【向前】、【向后】、【停止】和【搜索】等,还可以使用【主目录】和【计算机】来快速进入不同的目录。
(4)侧边栏侧边栏用于显示目录或文件的相关信息,侧边栏如果没有打开可以在文件管理器中选择【查看】菜单项,并启用【侧边栏】命令,或使用快捷键F9来显示侧边栏。
Linux2 进程的启动方式程序或者命令的执行实际上是通过进程实现的。
通常情况下,程序或者命令是保存在硬盘上的,当在命令行中输入一个可执行程序的文件名或者命令并按下Enter 键后,系统内核就将该程序或者命令的相关代码加载到内存中开始执行。
系统会为该程序或者命令创建一个或者多个相关的进程,通过进程完成特定的任务。
启动进程的方式有两种,分别为前台启动方式和后台启动方式。
1.以前台方式启动进程在终端窗口的命令行上输入一个Linux命令并按Enter键,就是以前台方式启动了一个进程。
例如,在终端窗口上执行“find /-name myfile.txt”命令,就以前台方式启动了一个进程,在该进程还未执行完时,可按下Ctrl+z组合键将该进程暂时挂起,然后使用ps命令查看该进程的有关信息,如图5-1所示。
图5-1 以前台方式启动进程2.以后台方式启动进程要在命令行上以后台方式启动进程,需要在执行的命令后添加一个“&”。
例如,在终端窗口的命令行上输入命令“find / -name myfile2.txt &”并按下Enter键后将从后台启动一个进程。
启动后,系统会显示如下所示的信息:这里的数字2表示该进程是运行于后台的第2个进程,数字3516是该进程的PID(即进程标识码,用于惟一地标识一个进程)。
然后,出现了shell提示符,这表示已返回到前台。
这时,执行ps命令将能够看到现在在系统中有两个由find命令引起的进程,它们的标识号是不同的,因而是两个不同的进程,其中,PID为3385的进程就是刚才被挂起的进程。
如果执行jobs命令可以查看当前控制台中的后台进程,如图5-2所示,可以看到当前在后台有两个进程,其中一个处于运行(Running)状态,另一个,即被挂起的进程处于停止(Stopped)状态。
等过一段时间后再使用ps命令进行查看,会发现PID为3516的进程已经结束了,而PID为3385的进程还存在。
Linux2 磁盘管理在Linux中,无论任何一个对象,都是以文件的形式存在的,系统软件,应用软件,文档等。
而这些对象都是放在磁盘的上面,要使用磁盘,就必须首先经过分区,格式化和挂载等操作。
这些操作是在系统安装的时候完成的,但在实际应用中还经常需要对现有的分区进行调整或建立新的分区。
此外,系统管理员发还要随时监听和了解磁盘的使用情况。
这些任务的完成,都是通过相应的工具来完成的。
总的来说,磁盘管理是Linux操作系统重要的系统管理任务之一。
磁盘管理包括磁盘分区,制作文件系统,检测分区,检测磁盘的空闲空间,挂载和卸载文件系统和磁盘同步等工具。
对于这些工具的使用,有两种方式,一种图形化的操作,一种是命令行的操作。
本章主要侧重于图形化操作的讲解。
1.磁盘使用分析工具在Red Hat Fedora Core中,有一个磁盘分析的工具,可以用来查看磁盘的使用状况,比如,磁盘的文件系统,文件,挂载到当前系统的本地硬盘和网络上文件系统。
使用该工具,打开主菜单【应用程序】|【系统工具】|【磁盘使用分析器】,弹出一个【磁盘使用分析器】对话框,如图5-11所示,从【目录树】的选项卡上,可以看到当前磁盘容量的使用情况,图5-11 【磁盘使用分析器】对话框在当前窗口上可以看到工具栏上有【文件系统】,【文件夹】,【网络】,前两个按钮用来查看当前磁盘上面的文件系统,文件有那些,【网络】按钮主要查看其他计算机的文件夹。
【排序】两个按钮主要是显示出来的文件系统,按名称,或大小进行排序,【分配的空间】这个复选框主要用来选择下面显示分配的磁盘空间而不是它的大小。
【搜索】按钮主要查找文件。
单击一下【文件系统】,显示了一个如图5-12所示的属性窗口,在这里可以看到当前磁盘具有的文件系统有那些,占有的空间的大小,该文件系统下面具有多少个文件对象。
这时候,可以选择【分配的空间】查看一下情况。
图5-12 【磁盘使用分析器】显示文件系统对话框单击【编辑】菜单,选中子菜单【首先项】,弹出一个属性对话框,如图5-13所示,图5-13 【磁盘使用分析器首先项】对话框在这个属性窗口中可以查看到当前Linux操作系统挂载的文件系统有那些。
Linux2 管理日志文件Linux的系统日志主要由系统守护进程syslogd产生。
默认情况下,syslogd在系统引导时就启动运行了。
系统日志文件中记录什么类型的信息以及保存在什么地方通常都是由配置文件syslog.conf决定的。
1.配置syslog除了系统默认记录的信息外,用户也可以根据自己的需求设置记录条件,记录条件的配置文件是/etc/syslog.conf,每当系统启动时,就会根据该文件的内容记忽略掉;有用的配置行的基本格式为:记录信息的类型.优先级日志文件的位置系统可记录的信息被分为几个类别,如表6-5所示。
每一种信息类别又可根据其重要程度分为不同的优先级,如表6-6所示,该表是按优先级从高到底的顺序排列的,优先级越高的信息将被优先处理。
表6-5 信息的种类配置行中可以包含若干个“记录信息的类型.优先级”对,各个对之间要使用分号隔开;但是具有相同优先级的多个记录信息类型之间可使用逗号分隔。
另外,当在配置行中指定一个优先级时,syslogd通常会记录该具有该优先级的信息以及具有比该优先级更高的优先级的信息。
该配置行表示要把系统内核的所有状态信息都发往控制台。
该行用于指定把所有优先级高于“一般信息”的事件信息都记录在/var/log/message文件中,但是不包括电子邮件、新闻服务、登录系统和cron守护进程的信息。
该行表示当出现各种类型的紧急信息时,让所有的用户都能收到。
该配置行表示把所有优先级等于或者高于临界信息,而且与uucp和新闻服务器相关的信息都记录在/var/log/spooler文件中。
该配置行表示把启动时系统引导的信息保存在/var/log/boot.log文件中。
用户可以根据自己的实际需要更改以上的配置行,也可向syslog.conf文件中增加新的记录规则(也即配置行)。
另外需要注意的是,syslogd生成的日志文件可能会增长得非常大,从而占用大量的磁盘空间,因而要注意对日志文件的管理,可以删除一些不重要或者已经过时的日志文件。
Linux2 日期和时间配置Linux系统的时间和日期属性工具允许用户更改系统日期和时间、配置系统使用的时区以及设置网络时间协议(NTP)使计算机时钟与远程的时间服务器同步。
在控制面板的【系统】菜单中,选择【管理】|【日期和时间】命令,弹出【日期和时间】对话框,如图2-30所示。
也可以在系统终端中输入“system-config-date”命令,弹出【日期和时间】对话框。
图2-30 【日期和时间】对话框1.日期和时间在【日期和时间】对话框中的【日期和时间】选项卡中,【日期】容器下,可以使用箭头左右移动改变月份、年份信息,单击星期中的日期改变星期信息。
在【时间】容器下,使用上下箭头按钮改变时间。
它们在【时间】容器中的小时、分钟和秒钟旁边。
最后,单击【确定】按钮,使修改生效。
2.网络时间协议网络时间协议使用远程时间服务器或时间源(如卫星)来同步系统时钟。
该程序允许配置网络时间协议,来与远程服务器同步系统时钟。
在如图2-31所示的选项卡中,要启用这项功能,需要选中【启用网络时间协议】。
在【NTP服务器】中,默认有三个服务器。
用户可以通过自己的需要,对服务器进行添加和删除操作。
最后,单击【确定】按钮会使所作配置立即生效。
3.时区配置要配置系统时区,需要单击【时区】选项卡,如图2-32所示。
用户可以从地图下面的列表中选择想要的时区。
单击代表所在时区的城市,一个红色的“X”便会出现,地图下的时区列表中的选择也会相应改变。
单击【确定】按钮应用改变并退出程序。
如果系统时钟被设为使用UTC,选择【系统时钟使用UTC】选项。
UTC代表通用时间协调,又称格林威治标准时间(GMT)。
其他时区是通过从UTC时间中加减而得出的。
图2-31 【启用网络时间协议】选项卡图2-32 【时区】选项卡。
Linux2 终止进程作为系统管理员,有时为了使系统具有较佳的整体性能,需要强制终止某个进程。
例如,当某个进程已经“僵死”或者某进程占用了大量的CPU时间等情况发生时,就有必要终止或者撤销该进程。
要终止一个进程,可使用如下所示的方法:●使用Ctrl+c组合键。
●使用kill命令。
●使用killall命令。
其中,Ctrl+z组合键可以用来终止一个前台进程,如果要使用它终止一个后台进程,可以先使用fg命令将该进程调到前台,然后再使用Ctrl+c终止该进程。
使用kill命令可以终止一个进程,它实际上是向指定的进程发送特定的信号,从而使该进程根据该信号执行特定的动作,信号可以用信号名,也可以用信号码。
语法如下:如果在使用该命令时,未使用信号选项,则kill命令就会向指定进程发送中断信号。
该信号的信号名为SIGTERM(也即TERM),信号码为15。
如果指定进程没有捕捉到该信号,它将被终止运行。
使用这种方式终止进程时,进程会自动结束并能够处理好结束前的相关事务。
当使用不带信号选项的kill命令不能终止某些进程时,可以使用带信号选项的kill命令向进程发送kill信号,kill信号的信号名为SIGKILL(简写为KILL)、信号码为9,这样就会强行终止该进程。
但是使用这种方式终止进程可能会带来副作用,例如数据丢失、终端无法恢复到正常状态等。
所以应当慎重使用。
例如,当要终止一个进程,而又不知道其PID时,可以先使用命令“ps | grep 进程名”获得进程PID,然后使用带kill信号的kill命令强行“杀死”该进程,如图5-8所示:图5-8 杀死进程通过执行kill -l命令可以显示kill命令能向进程发送那些信号。
前文已述,使用killall命令也可以将进程终止,该命令使用进程名称来终止相应进程的执行,如果系统中具有多个具有相同名称的进程,这些进程将全部被终止。
Linux2 操作系统操作系统(Operating System,简称OS)是一管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。
操作系统具有以下特点:●管理计算机系统的全部硬件资源包括软件资源及数据资源;●控制程序运行;●改善人机界面;●为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
另外,所有的操作系统具有并发性、共享性、虚拟性和不确定性4个基本特征。
1.并发性(Concurrence)该特性是指两个或两个以上的事件或活动在同一时间间隔内发生。
操作系统是一个并发系统,并发性是它的重要特征,操作系统的并发性指它应该具有处理和调度多个程序同时执行的能力。
多个I/O(输入/输出)设备同时在输入输出;内存中同时有多个系统和用户程序被启动交替、穿插地执行,这些都是并发性的例子。
另外,采用了并发技术的系统又称为多任务系统(Multitasking System)。
计算机系统中,并发实际上是一个物理CPU在若干程序之间多路复用,这样就可以实现运行程序之间的并发,以及CPU与I/O设备、I/O设备与I/O设备之间的并行,并发性的实质是对有限物理资源强制行使多用户共享以提高效率。
在多处理器系统中,程序的并发性不仅体现在宏观上,而且体现在微观上(即在多个CPU上)也是并发的,又称并行的。
2.共享性(Sharing)共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程共同使用,而不是被一个进程所独占。
出于经济上的考虑,一次性向每个用户程序分别提供它所需的全部资源不但是浪费的,有时也是不可能的。
现实的方法是让操作系统和多个用户程序共用一套计算机系统的所有资源。
共享性和并发性是操作系统两个最基本的特性,它们互为依存。
一方面,资源的共享是因为程序的并发执行而引起的,若系统不允许程序并发执行,自然也就不存在资源共享问题。
另一方面,若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。
Linux2 了解系统日志日志文件的英文缩写是Log Files,用于存储各种系统消息的文件。
包括内核、服务、在系统上运行的应用程序等。
不同的日志文件记录了不同的信息。
例如,有的是默认的系统日志文件,有的仅用于安全消息。
当系统出现某问题时,如果试图诊断和解决系统问题,日志文件会非常有用。
通过查看日志文件,可以知道,在某时间段内,系统出现了什么样的错误和发生错误级别等信息。
在Linx系统中,日志文件大多数都是文本文件,使用文本编辑器就能方便的打开。
在默认情况下,一般用户没有打开系统日志文件的权限,只有超级用户才有打开日志文件的权限。
根据日志文件的功能,可以将日志文件分为系统日志文件和应用程序日志文件两类。
其中应用程序日志取决于所运行的应用程序,以及如何产生日志。
系统日志是每个Linux系统都有的,记录着系统发生的各种各样的事件信息。
在默认情况下,大多数日志文件都存放在/var/log目录中。
可以使用“cd”命令进入该目录,然后使用“ls”命令查看目录下有哪些日志文件,如图5-13所示。
图5-13 查看日志文件日志文件的内容通常都详细记录着程序的执行状态、日期、时间、主机等信息。
如果要查看某个日志文件的内容,可以使用文本编辑器打开该日志文件,获得系统运行的详细信息。
1./var/log/dmesg文件通过查看/var/log/dmesg文件,可以了解系统是否能够检测出某硬件,以及各分区上使用的文件系统等信息。
它还包含了与启动系统相关的基本引导信息。
例如,BIOS、CPU、内存、硬盘驱动器、PCI设备,以及各分区上使用的文件系统等信息。
如果要查看该文件,常用的查看有两种,一种是使用gedit文本编辑器打开。
另一种是在终端窗口下输入“cd /var/log”进入系统日志目录,然后输入“dmesg”命令打开demesg日志文件,如图5-14所示。
图5-14 dmesg文件2./var/log/wtmp文件/var/log/wtmp文件是一个数据库文件,主要用于保存每个用户登录、注销以及系统的启动、停机事件等信息。
Linux2 服务器的种类Linux提供了许多的服务。
这些服务,依照其功能可以区分为:●系统服务某些服务的服务对象是Linux系统本身,或者Linux系统的用户,这类的服务我们称为系统服务(System Service)。
像是负责用来监控软件磁盘阵列状态的mdmonitor服务,就是一个系统服务。
●网络服务另外有许多服务,皆是提供给网络中的其他客户端(Clients)存取使用,这类的服务我们统称为网络服务(Networking Service)。
例如网站服务(Web Service)、网络文件系统服务(Networking File System Service)等等,都是属于网络服务。
依照服务启动的方法与执行时的特性,还可以分为独立式服务(Standalone Service)与短暂式服务(Transient Service)两种。
●独立式服务服务一经启动,除非因为关闭系统或者管理者手动的结束,否则都将在后台执行,不管有没有被用到。
这样的服务,我们称为独立式服务(Standalone Service)。
独立式服务有时候又被称为SysV服务(SysV Service)。
独立式服务具备下面两个特性:●响应速度较快独立式服务一经启动,除非被Linux或者系统管理者停止,否则将会持续的在背景执行。
因为独立式服务会一直执行,一旦客户端存取Linux的独立式服务时,独立式服务就可以马上响应,因此独立式服务的响应速度较短暂式服务快。
●较占用系统资源为独立式服务会持续的执行,即使在没有人存取也会持续的执行,因此独立式服务较耗用系统的CPU、内存等资源。
●短暂式服务与独立式服务不同,短暂式服务(Transient Service) 平时并不会启动,而是当客户端需要时才会被启动,使用完毕就会结束。
与独立式服务相比,短暂式服务具备下面的特性:●响应速度较慢短暂式服务第一个特性就是响应速度较慢。
由于短暂式服务是在客户端存取时才会被启动,客户端必须要等到服务完全启动后才能使用短暂式服务。
Linux2 使用命令管理用户组上一节主要介绍了图形化的管理用户组,下面我们还是继续学习管理用户组,只过这次是使用命令来进行管理。
命令管理用户组帐户还是相应的创建,修改,删除等操作。
1.创建用户组账户命令groupadd命令格式:groupadd [选项]用户组账户名功能描述:在系统中创建一个新的用户组账户,该用户组账户的组标识码GID大于500。
常用选项如下:●-g 用户组标识码GID。
为新建组指定一个GID。
除非使用-o,否则该GID必须惟一且大于500,不能与已经存在的UID或GID相同,0-449预留给系统账号●-r 要求groupadd命令建立一个系统默认组账户,该组账户的GID小于5002.更改用户组账户属性命令groupmod命令格式:groupmod [选项]用户组账户名功能描述:用于改变用户组账户的属性。
常用项选择如下:●-g 新的GID;用于更改指定用户组账户的GID,但组账户名保持不变。
必须为惟一的ID值,除非用-o选项。
数字不可为负值。
预设为最小不得小于99而逐次增加。
0-99传统上是保留给系统账号使用●-n 更改用户组账户的名字,但是本身的GID保持不变3.管理用户组中用户的命令gpasswod命令格式:gpasswod [选项]用户组账户名功能描述:用于管理用户组中的用户。
常用选项如下:●-a 用户账户名:将指定用户账户添加到指定的用户组●-A 组管理员用户账户列表:将指定的用户设置为用户组的管理员●-d 用户账户名:将指定的用户账户从指定的用户组中删除●-R 禁止用户使用newgrp命令转换当前组其中,-a,-d,-R选项仅供用户组的组管理员使用。
p中,第三条命令显示user的用户组信息。
最后一命令,从newgroup中删除这个user2用户账户。
4.删除组账户的命令groupdel命令格式:groupdel 用户组账户名功能描述:删除指定的用户账户。
执行该操作需要注意:如果该用户组是某一个用户组的主要组,而且该用户账户还存在,那么就不能删除该用户组。
Linux2 安装Linux系统一般用户可以计算机中安装VMware Workstation(虚拟PC机),来安装Linux 操作系统。
这样,不会影响用户计算机的当前的系统。
在VMware Workstation不仅支持光盘启动安装,还支持ISO镜像文件安装。
为了提高安装速度,通常使用ISO安装光盘映像文件进行。
在安装操作系统前,可以设置其安装方式、系统内存大小以及网络连接方式等选项。
例如,在虚拟机主界面中,双击右侧窗格中的“CD/DVD(IDE)”选项,如图1-4所示。
图1-4 设置CD/DVD然后,并在弹出对话框中,选择【Use ISO Image File:】中的【Browse】按钮,选择映像文件,单击【OK】按钮,如图1-5所示。
图1-5 选择映像文件设置完成后,只需在虚拟机主界面中,单击工具栏中的【接通虚拟机电源】按钮即可,如图1-6所示。
图1-6 开始启动虚拟机虚拟机的启动过程和真实计算机的启动过程没有什么不同,一开始也是自检。
由于已经载入了Red Hat Enterprise Linux 5的ISO安装光盘映像文件,因此虚拟机会自动进入Red Hat Enterprise Linux 5的安装界面,如图1-7所示。
图1-7 安装Linux系统在该安装界面中包括以下3个选项供用户选择:●To install or upgrade in graphical mode.press the <ENTER> key. 按Enter键进入到Linux操作系统的图形化安装界面。
●To install or upgrade in text mode. Type: Linux text <ENTER> 输入“Linux text”命令,并按Enter键进入命令安装界面。
●Use the function keys listed below for more information 通过按下方给出的红色功能键,可以查看详细的安装信息。
Linux2 监视进程当对进程进行调度时,需要了解系统中当前进程的具体状况,也就是说,要了解当前有哪些进程正在运行,哪些进程已经结束,有没有僵死的进程,哪些进程占用了过多的系统资源等。
本节将告诉读者监视进程所用的常用命令。
1.使用top命令监视进程使用top命令可以监控系统的资源,包括内存、交换分区和CPU的使用率等。
执行该命令时会定期更新显示内容,默认情况下是根据CPU的负载多少进行排序的。
该命令的使用格式如下所示:top [选项]该命令常用的选项有:-c 显示整个命令行而不只是显示命令名。
-d 间隔秒数,指定每两次屏幕刷新之间的时间间隔,默认情况下每隔3秒钟刷新一次,另外,用户也可以使用交互命令s进行更改。
-i 不显示任何闲置或者僵死进程。
-n 更新次数,指定每秒钟内监控信息的更新次数。
-p 进程标识码列表:监视指定的一个或者多个进程,列表中的各进程PID之间用逗号进行分隔。
-s 使top命令在安全模式下运行,这将消除交互命令所带来的潜在危险。
-S 使用累计模式。
在终端窗口中执行top命令的结果如下所示:以上列出的内容只是top命令执行结果的一部分,该命令执行后,其结果会不断更新,在命令执行过程中按下q键即可终止该进程的执行。
除了可以按CPU使用率排列进程以外,还可以按内存使用率(在命令执行过程中按m键)和执行时间(在命令执行过程中按t键)排序。
top命令显示的信息可分为两部分:第一部分为系统状态统计信息;第二部分为系统中各进程的详细信息。
下面首先解释一下第一部分的含义。
第一行为系统状态信息,依次显示的项包括:系统启动时间、已经运行的时间、当前已登录的用户数目和三个平均负载值。
第二行显示的是进程状况,依次为:进程总数、处于运行态的进程数、处于休眠状态的进程数、处于暂停态的进程数和处于僵死态的进程数。
第3行显示各类进程占用CPU时间的百分比,依次显示了用户模式进程、系统模式进程、优先级为负的进程和闲置进程所占CPU时间的百分比。
Linux-2.6.32.2内核在mini2440上的移植(二)---yaffs2文件系统移植移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 2.1, yaffs2文件系统移植【1】获取yaffs2 源代码现在大部分开发板都可以支持yaffs2 文件系统,它是专门针对嵌入式设备,特别是使用nand flash 作为存储器的嵌入式设备而创建的一种文件系统,早先的yaffs 仅支持小页(512byte/page)的nand flash,现在的开发板大都配备了更大容量的nand flash,它们一般是大页模式的(2K/page),使用yaffs2 就可以支持大页的nand flash,下面是yaffs2 的移植详细步骤。
在/node/346可以下载到最新的yaffs2 源代码,需要使用git工具( 安装方法见Git版本控制软件安装与使用),在命令行输入:[root@localhost ~]# cd ./linux-test[root@localhost linux-test]# git clone git:///ya ffs2Cloning into yaffs2...remote: Counting objects: 6592, done.remote: Compressing objects: 100% (3881/3881), done. remote: Total 6592 (delta 5237), reused 3396 (delta 2642) Receiving objects: 100% (6592/6592), 3.34 MiB | 166 KiB/s, d one.Resolving deltas: 100% (5237/5237), done.[root@localhost linux-test]# lslinux-2.6.32.2 linux-2.6.39 yaffs2[root@localhost linux-test]#片刻时间之后,可以看到下载的最新的yaffs2 的源代码目录。
【2】为内核打上yaffs2 补丁(1)将yaffs2代码加入内核这可以通过yaffs2目录下的脚本文件patch-ker.sh来给内核打补丁,用法如下:[root@localhost yaffs2]# ./patch-ker.sh c /root/linux-test/linux-2.6.32.2usage: ./patch-ker.sh c/l m/s kernelpathif c/l is c, then copy. If l then linkif m/s is m, then use multi version code. If s then use sing le version code[root@localhost yaffs2]# ./patch-ker.sh c s /root/linux-test/linu x-2.6.32.2*** Warning ***You have chosen to use the single kernel variant of the yaff s VFS glue codethat only works with the latest Linux kernel tree. If you are using an olderversion of Linux then you probably wanted to use the multi-version variant byre-running the patch-ker.sh script using m as a the second argument.ie ./patch-ker.sh c m /root/linux-test/linux-2.6.32.2Updating /root/linux-test/linux-2.6.32.2/fs/KconfigUpdating /root/linux-test/linux-2.6.32.2/fs/Makefile[root@localhost yaffs2]#注意第二个参数m/s,如果不指定,有时会执行失败。
上述命令完成下面三件事:<1>修改内核文件/fs/Kconfig,增加下面两行(在177行附近):if MISC_FILESYSTEMSsource "fs/adfs/Kconfig"source "fs/affs/Kconfig"source "fs/ecryptfs/Kconfig"source "fs/hfs/Kconfig"source "fs/hfsplus/Kconfig"source "fs/befs/Kconfig"source "fs/bfs/Kconfig"source "fs/efs/Kconfig"source "fs/yaffs2/Kconfig"source "fs/jffs2/Kconfig"# UBIFS File system configuration<2>修改内核文件/fs/Makefile,增加下面两行(在129行附近):obj-$(CONFIG_GFS2_FS) += gfs2/obj-$(CONFIG_EXOFS_FS) += exofs/obj-$(CONFIG_YAFFS_FS) += yaffs2/<3>在内核文件的fs目录下创建yaffs2子目录,然后复制如下文件:将yaffs2源码目录下的Makefile.kernel文件复制为内核fs/yaffs2/Ma kefile文件。
将yaffs2源码目录下的Kconfig文件复制为内核fs/yaffs2/目录下。
将yaffs2源码目录下的*.c、*.h文件(不包括子目录下的文件)复制为内核fs/yaffs2/目录下。
(2)配置内核选项阅读内核fs/Kconfig文件可以了解各配置选项的作用。
以下是用到的几个选项:<1>CONFIG_YAFFS_FS:支持yaffs文件系统。
<2>CONFIG_YAFFS_YAFFS2:支持yaffs2文件系统,对于每页大小为2k字节nand flash,需要选中这个选项。
<3>CONFIG_YAFFS_AUTO_YAFFS2:自动选择yaffs2文件格式,如果不配置这个选项,必须使用yaffs2字样来表示yaffs2文件系统格式,如果配置这个选项,则可以使用yaffs字样来统一表示yaffs1和yaffs 2文件系统格式,驱动程序会根据nand flash的页大小自动分辨是ya ffs1还是yaffs2。
【3】配置和编译带YAFFS2 支持的内核在Linux 内核源代码根目录运行:[root@localhost linux-test]# cd linux-2.6.32.2[root@localhost linux-2.6.32.2]# make menuconfig移动上下按键找到File Systems,如图按回车进入该子菜单,再找到“Miscellaneous filesystems”菜单项,如图按回车进入该子菜单,找到“YAFFS2 file system support”,如图按空格选中它,这样我们就在内核中添加了yaffs2 文件系统的支持,按“Exit”退出内核配置。
最好选中“Yes”保存。
2.2,编译测试修改完成之后,因为内核中已经增加要编译的模块,所以要先执行:[root@localhost linux-2.6.32.2]# make clean不然可能编译出错,然后进行编译:[root@localhost linux-2.6.32.2]# make zImage编译完成后,生成zImage文件,然后给开发板上电,把zImage 烧写到开发板上,显示如下:NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsun g NAND 128MiB 3,3V 8-bit)Scanning device for bad blocksCreating 5 MTD partitions on "NAND 128MiB 3,3V 8-bit":0x000000000000-0x000000040000 : "boot"uncorrectable error :0x000000040000-0x000000060000 : "param"ftl_cs: FTL header not found.0x000000060000-0x000000560000 : "kernel"ftl_cs: FTL header not found.0x000000560000-0x000040560000 : "root"mtd: partition "root" extends beyond the end of device "NA ND 128MiB 3,3V 8-bit"-- size truncated to 0x7aa0000ftl_cs: FTL header not found.0x000000000000-0x000040000000 : "nand"mtd: partition "nand" extends beyond the end of device "NA ND 128MiB 3,3V 8-bit"-- size truncated to 0x8000000uncorrectable error :dm9000 Ethernet Driver, V1.31上面出现还出现“ftl_cs: FTL header not found.”原来应在配置菜单->Device Drivers ->Memory Technology Devices (MTD),如图按空格键取消选择,然后选“Exit”退出,最后出现保存提示时选择“Ye s”保存。
然后在终端中执行:[root@localhost linux-2.6.32.2]# make clean注意:每次执行完make clean 时,在编译内核是就要花费很长时间,所以不要每次都make clean,我就背害的很苦,每次都等很长时间,以后大家可以避免了然后执行[root@localhost linux-2.6.32.2]# make zImageS3C24XX NAND Driver, (c) 2004 Simtec Electronicss3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, T wrph1=3 29nss3c24xx-nand s3c2440-nand: NAND soft ECCNAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsun g NAND 128MiB 3,3V 8-bit)Scanning device for bad blocksCreating 5 MTD partitions on "NAND 128MiB 3,3V 8-bit":0x000000000000-0x000000040000 : "boot"0x000000040000-0x000000060000 : "param"0x000000060000-0x000000560000 : "kernel"0x000000560000-0x000008000000 : "rootfs"0x000000000000-0x000008000000 : "nand"dm9000 Ethernet Driver, V1.31可以看到,前面的出现“ftl_cs: FTL header not found.”信息没有了。