当前位置:文档之家› Linux系统管理

Linux系统管理

Linux系统管理
Linux系统管理

Linux系统管理

本文参照RedHat Linux 9,介绍Linux的系统管理。以命令操作方式的介绍为主,这些命令基本上也有对应的图形操作方式,但由于没有制作图片,将仅提及启动图形操作的方式,并不详细说明操作步骤。

一、帮助和文档

1.书籍

通过阅读Linux的书籍,如RedHat Linux 9应用与管理系列丛书,可以系统地获取Linux的知识。

2.使用man命令获得手册页帮助

手册页是Linux系统中所广泛提供的联机帮助形式,使用man 命令不仅可以获得命令的帮助信息,还可以获得配置文件、设备文件、协议等多种类型的信息。

命令形式是:

man 待查询关键字

特别地,man man可以获得man命令的帮助信息。

有的关键字在多类手册中都有相关的说明,比如read,作为一个

bash内嵌命令在man1中有它的信息,而作为一个系统调用在man2中也有关于它的信息。这时man read显示的将是man1中的信息,如果我们要查询系统调用read的用法,那么就需要指定要查找的手册页类型,命令如下:

man 2 read

man –a read

这样将得到各类手册页中关于read的帮助信息。

帮助信息通常包含“NAME、DESCRIPTION、FILES、SEE ALSO”等几部分的内容,NAME是对手册页条目的简介,通常只有一句话,DESCRIPRION是详细的说明。SEE ALSO也是一个很有用的部分,给出了相关联的其他手册页关键字,查看这些关键字,是一个加深理解、拓展知识面的好方法。

man有两个命令选项,支持模糊查询,是非常有用的功能。

1)man –k key

显示所有手册页条目简介中包含关键字key的手册页

2)man –K key

显示所有帮助信息正文中包含关键字key的手册页

3.使用help获得bash内嵌命令的帮助

bash作为一种脚本语言提供了许多内部的shell命令,这些命令没有独立的命令程序和帮助文件,help命令提供了对这些内部命令的在线帮助。

在上一节中我们提到man read显示的是read作为bash内嵌命令的帮助信息,事实上,并没有具体的内容,只是告诉我们这是bash 的内嵌命令,让我们再去看bash的帮助信息。

但是bash手册页的内容很多,从中找出read有关的信息并不是件容易的事情。有了help命令,就简单多了,只需要输入下面的命令就可以获得作为bash内嵌命令的read的帮助信息了:

help read

4.RedHat Linux 9手册文档

RedHat Linux 9发行套装的文档光盘中包含了RedHat Linux 9手册及部分的简体中文文档。

RedHat的官方网站提供RedHat Linux 9手册的下载,地址是

https://www.doczj.com/doc/ac1613792.html,/docs/manuals/linux/RHL-9-Manual/

官方网站不提供简体中文文档的下载,可以在国内的一些Linux 网站中找到相应的镜像下载。

5.从LDP/CLDP获取文档

LDP是The Linux Documetation Project的缩写,即Linux文档计划,主站点地址是https://www.doczj.com/doc/ac1613792.html,。LDP按照内容和形式的不同,分为不同的项目:

●HOWTOs文档包含各种主题的大量文档

●mini-HOWTOs文档与HOWTOs文档相近,但主题和篇幅

要小一些,更有针对性,多为某类问题的技巧。

●man手册页

●FAQ文档

●Guides文档对Linux某个方面应用的指南

CLDP是Chinese Linux Documetation Project的缩写,即Linux 中文文档计划,站点地址是https://www.doczj.com/doc/ac1613792.html,.tw/CLDP。6.从软件包的项目文档中获得帮助

大多数的软件包除了提供手册页之外还会包括项目文档,其中多数文件使用特定的文件名,包含特定的文件内容。

软件的项目文档存放在文档目录/usr/share/doc下,每个软件包都会在该目录下拥有与其同名的文档目录,目录命名格式为“软件包名称-版本号”,如/usr/share/doc/gzip-1.3就是1.3版本的gzip的项目文档目录。

每个软件项目文档中都包含具有特定内容的文件,其文件名也有一定的规律。如:

AUTHORS 软件的作者信息

Changelog 软件更改记录

NEWS 版本新功能记录

README 说明文档

7.使用GNOME帮助浏览器

进入GNOME图形界面,单击“主菜单” “帮助”,启动帮助浏览器。

二、安装

Linux的安装方式既有图形界面的又有字符界面的,一般都是选择图形界面安装,界面友善,容易操作。字符界面安装适合于所有类型的主机,在主机不支持图形显示的情况下,可以使用这种安装方式。

由于手头没有相关的图片,来直观地说明安装的过程,所以这里不详细地介绍具体的安装过程。关于安装的详细步骤和操作,可以参考相应的书籍和文档(如RedHat Linux 9中文手册)。

下面提到的是一些安装过程中,需要注意的问题。如果有其他的问题,还可以进行探讨。

1.安装类型说明

Personal Desktop

个人桌面安装,安装图形化桌面环境和应用软件,不安装服务器软件。Workstation

工作站安装,带有软件开发和系统管理的图形化桌面环境。

Server

服务器安装,安装各种网络服务器。

Custom

定制安装,由用户选择所安装的软件包,通常由高级用户使用。

2.分区说明

安装过程中可以对硬盘进行分区,方式有两种:自动分区和手动分区。如果整个硬盘都用来安装Linux系统的话,可以选择自动分区;如果在一个硬盘上装有多系统的话,比如Windows和Linux并存,应当进行手动分区。

Linux至少要求两个分区:根分区和swap分区。

现代操作系统无一例外地使用了虚拟内存技术。Windows使用交换文件实现这一技术,而Linux使用交换分区实现。因此,安装Windows系统可以只使用一个分区,而安装Linux系统至少需要两个分区。

swap分区的大小一般设为内存的两倍。

3.选择启动引导器

RedHat Linux 9有两种启动引导器:GRUB和LILO。LILO的历史较长,但功能简单,现在一般不使用。GRUB功能强大而且比LILO 更易于使用,是默认的启动引导器。

启动引导器通常情况下要安装到MBR(Master Boot Record 主引导扇区),这样主机启动时就可以自动加载启动引导器。如果将启动引导器安装到启动分区的首扇区,还需要借助安装在MBR中的其他引导器引导该启动引导器,配置就比较复杂了。

4.选择要安装的软件包

如果硬盘空间足够的话,建议选择安装所有的软件包。

三、GRUB启动引导器

GRUB(Grand Unified Boot Loader)是个强大的启动引导器,不仅可以对各种版本的Linux进行引导,也能够正常引导PC机上的

其他常见的操作系统,已经逐渐取代了LILO,而成为默认的启动引导器。

1.启动过程中编辑系统引导参数

从硬盘引导主机系统,进入GRUB启动菜单界面,该界面中列出了所有可被引导的操作系统。例如:

在GRUB的启动菜单界面中选择e键进入GRUB启动菜单项编辑界面,例如:

root (hd0.0)

kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/

initrd /boot/initrd-2.4.20-8.img

在此启动菜单项编辑界面下,可以对启动参数做进一步的调整,最后选择b键以当前新的配置启动。

常做的编辑动作有:

1)在“kernel …”这一行的最后添加single选项,然后键入b,这样系统将引导到单用户方式下。单用户方式是很有用的一种系统状态,常常被用于系统维护,比如解决系统不能正常引导的故障。

2)编辑“kernel …”这一行的核心选项(以指定的核心文件替换/boot/vmlinuz-2.4.20-8)或根设备选项(设置新的root=xxx,比如root=/dev/hda1)。这样可以解决GRUB配置文件错误导致系统不能正常引导的故障。

在GRUB的启动菜单项编辑界面下所做的修改只对本次的启动有效,如果想要保存所做的修改,需要在登录系统后,编辑GRUB 配置文件/boot/grub/grub.conf。

2.编辑GRUB配置文件

2.1 GRUB配置文件内容说明

GRUB配置文件默认为/boot/grub/grub.conf,在GRUB成功安装到硬盘主引导扇区MBR后,只要编辑该文件就可实现对GRUB的配置,无需重写GRUB到MBR。

GRUB配置文件内容包括全局配置和菜单配置两部分。看起来象下面的样子:

//全局配置命令在配置文件的最上方,设置GRUB启动菜单的整体属性

default 0

timeout 10

splashimage (hd0,0)/boot/grub/splash.xpm.gz

//全局配置部分从文件头开始,到第一个title命令之前结束

//title命令开始一个菜单项的配置,到下一个title命令结束该菜单项的配置

title RedHat Linux (2.34.20-8)

root (hd0,0)

kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/

initrd /boot/initrd-2.4.20-8.img

//配置文件中可以使用title命令定义多个启动菜单项

title Win2k

map (hd0) (hd1)

map (hd1) (hd0)

root (hd1,0)

chainloader + 1

//最后一个菜单项的定义到文件尾结束

上面“//…”这样的行是添加的对GRUB配置文件内容的说明,不属于GRUB配置文件。

2.2 全局命令说明

1.使用default命令设置GRUB的默认启动项

default的菜单项序号参数其值从“0”开始,即“0”代表第1个菜单项。

2.使用splashimage命令设置GRUB的启动界面

splashimage命令用于指定某文件作为启动菜单的背景图象,该文件必须是xpm格式的图像,可以是gz压缩文件。

3.使用timeout命令设置菜单的启动延时

在RedHat Linux 9中默认的延时秒数为10,启动菜单底部会显示倒计时时间,在此时间内用户如按键进行交互则计时取消,否则经过该延时后GRUB将自动启动默认的菜单项。

2.3 菜单项配置命令说明

title命令用于开始一个菜单项的配置,“菜单项名称”将作为菜单项的内容显示在启动菜单中。title命令命名并开始一个菜单项的定义,其下的命令都是对该菜单项的设置,直到下一个title命令或文件尾结束。

GRUB对不同的操作系统有不同的引导方式,对Linux的启动菜

四、启动过程和服务程序

1.启动过程概述

RedHat Linux 9的启动过程经过了下面几个阶段:

1)主机启动并硬件自检后,读取硬盘MBR中的启动引导程序,并加载。

2)启动引导程序负责引导硬盘中的操作系统,加载Linux内核程序。

3)Linux内核程序负责操作系统启动的前期工作,并加载系统得INIT进程。

4)INIT进程是Linux系统中运行的第一个进程,该进程将根据其配置文件执行相应的启动程序,并进入指定的系统运行级别。

5)在不同的运行级别中,根据系统的设置启动相应的服务程序。

6)在启动过程的最后,运行控制台程序提示并允许用户输入账号和口令进行登录。

2.系统运行级别

runlevel命令可以显示系统当前的和上一次的运行级别,如果系统不存在上一次的运行级别,用N代替。

可以用init命令转换系统运行级别,命令格式是:

init 运行级别

习惯上,也可以用命令init s或init S将系统转换到单用户模式。

INIT进程是由Linux内核引导运行的,是系统中运行的第一个进程,其进程号永远为1。INIT进程运行后将按照其配置文件/etc/inittab 的内容,运行系统启动程序,启动系统所需的其他进程,INIT将作为这些进程的父进程。

inittab文件的第一个有效行(不是以#作为行首)标识了系统启动后将进入哪个运行级别。如:

id:3:initdefault

说明系统进入运行级别3

3.服务程序的启动和停止

系统的各个运行级别都有独立的脚本目录,目录名称的格式是/etc/rcN.d,其中N为0~6的数字,对应着各自的运行级别。

各级别的脚本目录中都存在着相应服务程序的脚本,目录中的脚本可分为两类:用于启动服务的和用于停止服务的。

用于启动服务的脚本名格式为“Snn服务名称”,S是Start的缩写,代表启动服务,nn为两位的数字序号用于确定同类脚本的执行顺序。当系统进入某运行级别时将按照序号从小到大的顺序执行脚本启动服务。

用于停止服务的脚本名格式为“Knn服务名称”,K是Kill的缩写,代表停止服务,nn为两位的数字序号用于确定同类脚本的执行顺序。当系统进入某运行级别时将按照序号从小到大的顺序执行脚本停止服务。

运行级别3的脚本目录看起来会象下面的样子

# ls /etc/rc3.d

K05saslauthd K50snmpd S08iptables S25netfs S90cups

K15httpd K50snmptrapd S09isdn S26apmd S90xfs

K20nfs K50vsftpd S10network S28autofs S95anacron K24irda K54pxe S12syslog S55sshd S95atd

K34yppasswdd K74ntpd S13portmap S56rawdevices S97rhnsd K35smb K74ypserv S14nfslock S56xinetd S99local

K35winbind K74ypxfrd S17keytable S80sendmail

K36lisa K95firstboot S20random S85gpm

K45named S05kudzu S24pcmcia S90crond

运行级别目录中的脚本其实都是指向服务器脚本目录/etc/init.d 中的符号链接。例如:

# ls –l /etc/rc3.d/S56xinetd

lrwxrwxrwx 1 root root 16 Nov 4 19:57 /etc/rc3.d/S56xinetd -> ../init.d/xinetd

在命令行中输入服务脚本的路径名,后跟相应的动作可以对服务进行相应的操作,如:

//直接执行服务脚本显示相应的帮助信息

# /etc/init.d/xinetd

Usage: /etc/init.d/xinetd {start|stop|status|restart|condrestart|reload} //使用status动作查询服务状态

# /etc/init.d/xinetd status

xinetd (pid 1079) is running...

//使用restart动作重新启动服务

# /etc/init.d/xinetd restart

Stopping xinetd: [ OK ]

Starting xinetd: [ OK ]

service命令也可以用来对系统中的服务进行操作,命令格式是:service 服务名称要执行的动作

用户可以在任意路径下使用service命令,service将自动到/etc/init.d目录中查找并执行相应的服务脚本。例如:

# service xinetd stop

Stopping xinetd: [ OK ]

# service xinetd start

Starting xinetd: [ OK ]

4.xinetd及其管理的服务

xinetd作为系统一个独立的服务而运行,负责管理系统中一些不频繁使用的服务,这些服务程序在有请求时才由xinetd服务负责启动运行,一旦完成服务请求服务程序结束运行,这样可以有效地减少对系统资源的占用率。

xinetd的启动配置目录为/etc/xinetd.d,在该目录中xinetd管理的每个服务都有独立的配置文件,配置文件的名称与服务名称相同,对如何启动该服务进行了设置。

下面是telnet服务的配置文件的内容:

# default: on

# description: The telnet server serves telnet sessions; it uses \

# unencrypted username/password pairs for authentication.

service telnet

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/sbin/in.telnetd

log_on_failure += USERID

}

从上面的配置文件中,可以看到系统启动后允许提供telnet接入服务,如果要禁止这项服务,可以直接编辑配置文件/etc/xinetd.d/telnet,将disable = no改为disable = yes。然后重新启动xinetd服务。

5.服务的启动状态配置命令

在对Linux主机的管理中经常需要设置某服务在某运行级别中自动启动或不启动。RedHat Linux 9提供了相应的命令可以完成对服务启动的设定工作。

5.1 ntsysv

ntsysv是字符界面的对话框程序,在界面中设置或取消列表中相应的复选框,并选择OK保存设置。

ntsysv可以设置所有服务程序的启动状态,包括受xinetd服务管理的服务。但是ntsysv只能设置当前运行级别服务的启动状态,如果需要对其他运行级别进行设置需要先转换到相应的运行级别下再运行ntsysv程序。

5.2 setup

setup程序也是字符界面的对话框程序,在界面中选择System services,即进入ntsysv的操作界面。

setup程序除了可以设置服务的启动状态,还可以对系统的用户信息、防火墙、键盘、鼠标、网络、打印机、声卡、时区、X图形环境进行设置,是一个很有用的工具。

5.3 chkconfig

chkconfig的功能强大,可以设置系统中所有服务在各个运行级别中的启动状态,也包括受xinetd管理的服务。

查看服务启动状态

chkconfig --list [服务名称]

如果指定参数则显示该服务的启动状态,否则显示所有服务的启动状态。

设置服务的启动状态

chkconfig --level 运行级别列表服务名称

运行级别列表可以指定多个运行级别

设置xinetd管理的服务的启动状态

chkconfig服务名称

5.4 重新启动服务

设置了服务在某运行级别的启动状态后,在系统下一次进入该运行级别时才会生效,如果需要在系统当前的运行级别中改变服务的运行状态,需要运行相应的服务脚本。

对于受xinetd管理的服务,在改变了服务的启动状态后,需要重新启动xinetd服务使设置生效。

五、用户和组管理

在Linux中系统管理员除了掌握root帐号外通常还拥有自己的普通帐号,在日常使用时使用普通用户帐号进行登录,只有在进行系统管理时才使用root帐号进行操作,这样可以最大限度地避免管理员由于误操作而造成对系统的破坏,从而保证系统更加安全。

1.用户和组文件

用户帐号文件/etc/passwd用于定义系统的用户帐号,不保存口令,所有用户都可以读这个文件。文件中每行定义一个用户帐号,一行中又划分为多个字段定义用户帐号的不同属性,各字段间用“:”分隔,形式如下所示:

account:password:UID:GID:GECOS:directory:shell

用户口令文件/etc/shadow用于存放用户口令等重要信息,只有root用户可以读取。文件每行定义一个用户的信息,行中的字段用“:”分隔。第一个字段是用户的帐号名称,第二个字段是加密以后的口令,如果是*或!!表示该帐号不可用于登录,如果为空,表示该帐号不需要口令即可登录,如果口令密文之前有字符!表示该帐号被锁定,暂时不能用于登录。第三个字段以后的字段是关于口令的修改时间、有效期等时间信息。

组帐号文件/etc/group用于存放用户的组帐号信息,任何用户都可读取。文件中每行定义一个组的信息,由四个字段组成,用“:”分隔:

group name:password:GID:user_list

组口令文件/etc/gshadow用于定义组口令、组管理员等信息,只有root用户可以读取。每行定义一个组的信息,由四个字段组成,用“:”分隔:

group name:encrypted password:administrators:group members

一般不要直接手工编辑用户和组帐号文件。

命令pwck可以验证用户帐号文件信息的完整性和正确性,命令能够grpck可以验证用户组文件信息的完整性和正确性。

2.用户帐号维护命令

2.1.添加用户帐号

useradd [-u uid [-o]] [-g group] [-G group,...]

[-d home] [-s shell] [-c comment] [-m [-k template]]

[-f inactive] [-e expire ] [-p passwd] [-M] [-n] [-r] name

添加用户帐号

useradd 用户名

在添加帐号后需使用passwd命令设置用户口令后,才可以使用此帐号进行登录。

在添加用户帐号时指定用户所属的组

useradd –g 组名用户名

显示useradd命令使用的默认值

useradd –D

默认值保存在文件/etc/default/useradd中,内容如下:

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

修改useradd命令的默认值

useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ] 2.2.删除用户帐号

删除用户帐号

userdel 用户名

删除用户帐号的同时删除用户HOME目录

userdel –r 用户名

2.3.改变用户帐号信息

usermod [-u uid [-o]] [-g group] [-G group,...]

[-d home [-m]] [-s shell] [-c comment] [-l new_name]

[-f inactive] [-e expire ] [-p passwd] [-L|-U] name

改变用户帐号名

usermod –l 新用户帐号名当前用户帐号名

锁定用户帐号,令其不能登录系统

usermod –L 用户帐号名

解除用户帐号锁定

usermod –U 用户帐号名

3.组帐号维护命令

3.1.添加组帐号

groupadd [-g gid [-o]] [-r] [-f] group

添加普通组帐号,GID大于500

groupadd 组帐号名

添加系统组帐号,GID小于500

groupadd –r 组帐号名

3.2.删除组帐号

删除指定的组帐号,必须保证该组内没有用户成员

groupdel 组帐号名

3.3.改变组帐号属性

groupmod [-g gid [-o]] [-n group_name ] group

改变组帐号的GID

groupmod –g 新的GID 组帐号名

改变组帐号名

groupmod –n 新的组名原组名

4.口令维护命令

4.1.passwd

设置用户自己的口令

passwd

设置指定用户的口令,只有root用户可以指定用户设置口令passwd 用户名

查询用户口令状态,只有root用户可以使用

passwd –S 用户名

锁定用户帐号,只有root用户可以使用

passwd –l 用户名

解除用户帐号锁定,只有root用户可以使用

passwd –u 用户名

删除用户口令,只有root用户可以使用

passwd –d 用户名

4.2.gpasswd

添加用户到组里

gpasswd –a 用户名组名

从组中删除用户

gpasswd –d 用户名组名

设置用户为组管理员

gpasswd –A 管理员用户列表组名

4.3.chfn

设定指定用户的finger信息,包括用户全名、办公室电话、家庭电话等内容,保存在/etc/passwd文件中可选的用户信息说明字段里。这些信息可由finger命令读取显示出来。

chfn 用户名

4.4.chsh

显示系统可用的shell

chsh –l

设置用户的登录shell

chsh –s shell全路径名用户名

5.用户和组状态命令

5.1.id

显示当前用户的uid、gid和用户所属组列表

id

显示指定用户的uid、gid和用户所属组列表,只有root用户可以使用

id 用户名

5.2.whoami

显示当前用户的名称

5.3.su

将当前用户转换成其他用户,root用户可以不需口令即转换成任何用户,普通用户转换成其他用户时要求输入新用户的口令su 用户名

转换用户并改变相应的环境变量(如PATH)为新用户的设置

su - 用户名

转换成root用户,要求输入root用户口令

su或su -

5.4.groups

显示指定用户所属的组,如果未指定用户则显示当前用户所属的组

groups 用户名

6.使用RedHat用户管理器管理用户和组

进入GNOME图形界面,单击“主菜单”→“系统设置”→“用户和组群”,启动用户管理器。

也可以在图形界面的虚拟终端窗口中直接输入命令来启动用户管理程序:

# redhat-config-users

六、进程管理

1.识别Linux中的用户身份

在Linux中系统管理员需要时刻明确当前用户的身份,因为不同的用户在系统中拥有不同的操作权限。下面介绍一些查询系统中用户身份的命令。

1.w命令

w命令显示当前主机中已登录的所有用户,以及用户当前正执行的命令。当指定用户名作为参数时,显示该用户在系统中的登录信息。

2.who命令

显示登录到系统中的所有用户的登录信息。

Linux服务器配置与管理实验报告1

实验一安装Linux操作系统 【实验目的】 了解Linux操作系统的发行版本;掌握Linux系统安装方法;掌握网络配置和网络环境测试。 【实验内容】 1.Vmware Workstation 6.0下创建Red Hat Linux虚拟机,要求虚拟机的内存为256MB或更大,硬盘为8GB或更大。 2.使用RHEL 5的ISO文件安装Linux系统。 【实验步骤】 1.硬盘和分区知识以及Linux文件系统的组织方式 (1)硬盘和分区知识 磁盘有IDE接口和SCSI接口两种。 磁盘在使用前需分区。磁盘分区有主分区、扩展分区和逻辑分区之分。一块硬盘可以有4个主分区,其中一个主分区的位置可以有一个扩展分区替换,即可以有3个主分区和一个扩展分区,且一块硬盘只能有一个扩展分区,在这个扩展分区中可以划分多个逻辑分区。(2)Linux如何表示分区 在Windows系统中使用盘符来标识不同的分区,而在linux下使用分区的设备名来标识不同的分区,设备名存放在/dev目录中。 磁盘设备名称如下: ●系统的第1块IDE接口的硬盘称为/dev/hda ●系统的第2块IDE接口的硬盘称为/dev/hdb ●系统的第1块SCSI接口的硬盘称为/dev/sda ●系统的第2块SCSI接口的硬盘称为/dev/sdb 分区使用数字编号表示: ●系统的第1块IDE接口硬盘的第1个分区称为/dev/hda1 ●系统的第1块IDE接口硬盘的第5个分区称为/dev/hda5 ●系统的第2块SCSI接口硬盘的第1个分区称为/dev/sdb1 ●系统的第2块SCSI接口硬盘的第5个分区称为/dev/sdb5 注意:数字编号1-4留给主分区或扩展分区使用,逻辑分区编号从5开始。 (3)Linux文件系统文件系统的组织方式------挂载点 Linux系统只有一个根目录,即只有一个目录树。不同磁盘的不同分区只是这个目录树的一部分,在linux中创建文件系统后(类似format),用户不能直接使用它,要挂载文件系统后才能使用。挂载文件系统首先要选择一个挂载点。 2.利用VMware Workstation 6.0 创建一台新的虚拟机

《Linux系统管理》期末考试方案#(精选.)

《Linux系统管理》期末机试方案 考试要求 考试采用知识测试+实践操作方式进行考核。在知识测试中要求在指定时间完成Linux系统管理相关知识答题。在实践操作考核中要求学生综合应用Linux系统管理知识和技能,完成考试实践操作。 考试对象 2011级信息安全技术专业 机试内容 Linux理论知识和Linux上机操作,分别占期末成绩40%和60% 一、Linux理论知识考核样题 1. crontab 后台常驻程序(daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统Manages the printing subsystem C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度(scheduling) 2.下面哪个Linux命令可以一次显示一页内容? A. pause B. cat C. more D. grep 3. 怎样了解您在当前目录下还有多大空间? A. df B. du / C. du . D. df . 4.怎样更改一个文件的权限设置? A. attrib B. chmod C. change D. file 5.假如您需要找出/etc/my.conf 文件属于哪个包(package) ,您可以执行: A. rpm -q /etc/my.conf B. rpm -requires /etc/my.conf C. rpm -qf /etc/my.conf D. rpm -q | grep /etc/my.conf

6.假如当前系统是在level 3 运行,怎样不重启系统就可转换到level 5 运行? A. Set level = 5 B. telinit 5 C. run 5 D. ALT-F7-5 7.下面哪个命令可以列出定义在以后特定时间运行一次的所有任务? A. atq B. crontab C. batch D. at 8.下面命令的作用是:set prompt="<%n\@`hostname`:`echo $cwd`\> A. 改变错误信息提示 B. 改变命令提示符 C. 改变一些终端参数 D. 改变辅助命令提示符 9.在bash中,export命令的作用是(csh中,setenv命令的作用): A. 在子shell中运行条命令 B. 使在子shell中可以使用命令历史记录 C. 为其它应用程序设置环境变量 D. 提供NFS分区给网络中的其它系统使用 10.在使用了shadow口令的系统中,/etc/passwd和/etc/shadow两个文件的权限正确的是: A. -rw-r----- , -r-------- B. -rw-r--r-- , -r--r--r-- C. -rw-r--r-- , -r-------- D. -rw-r--rw- , -r-----r-- 11.下面哪个参数可以删除一个用户并同时删除用户的主目录? A. rmuser -r B. deluser -r C. userdel -r D. usermgr -r 12.有一个备份程序mybackup,需要在周一至周五下午1点和晚上8点各运行一次,下面哪条crontab的项可以完成这项工作? A. 0 13,20 * * 1,5 mybackup B. 0 13,20 * * 1,2,3,4,5 mybackup

(完整版)linux文件系统管理-权限管理实验4报告

实验报告 课程Linux系统应用与开发教程实验名称linux文件系统管理-权限管理(高级设置) 一、实验目的 1、掌握Linux文件系统权限的设置 2、掌握linux用户帐号与组管理 3、掌握linux 文件共享的设置方法 4、掌握linux 文件共享的权限设置方法 二、实验内容 1、使用root帐号通过系统提供的6个虚拟控制台登陆到linux,或在x-windows开启一个终端。 2、完成以下的实验内容 (1)、假设你是系统管理员:现要在公司linux服务器系统中新增一些用户与一个用户组。 ?使用groupadd account 添加一个名为account的组 ?使用useradd -G account acc-user1,(该命令将添加一个用户名为acc-user1的用户, 同时会建立一个与用户名同名的私有组(该私有组为用户的默认组,这个组中只有一个用户名),并把该用户将加入account的标准组,同时,按同样的方法建立acc-user2、acc-user3、acc-user4。 ?建立用户后,请使用x-window中的用户与组管理工具查看用户与组建立情况,检查用户与组的归属情况。 (2)、开启多个控制台,分别使用acc-user1、acc-user2、acc-user3登陆系统(可以在控制台分别登陆,也可以在X-windows中多开几个终端程序,默认使用root登陆,然后使用su命令通过切换用户的方式登陆,其语法为“su - user-name”,提示可以在登陆成功后运行命令“id”查看当前登陆的用户属于哪些组,当前的默认组是什么?) (3)、为account组建立一个公共共享目录/home/account-share,满足以下的权限设定要求,以及设置何种的umask: ?该目录的拥有者为acc-user1,所属组为account。 ?在该目录下建立一个/home/account-share/full-share的子目录,修改该目录的权限,使得account组的成员均能在对该目录有完全控制权限,account组外的其他用户没有任何权限,即account组的成员都可以在该目录下建立文件,同时在该子目录full-share下建立的文件,只有文件建立者有权限删除,并且每个用户在该子目录full-share下建立的文件也能自动与该account组成员可读共享。 ?在/home/account-share/为每个用户建立一个与用户名同名的子目录(如/home/account-share/acc-user1为用户acc-user1的目录,其拥有者为acc-user1,所在的组为account),配置该子目录的拥有者有完全控制权限,而同组用户只能读取,同时在用户在该目录下建立的文件,可供同组用户读。 (4)、考虑完成以上的共享目录权限设置,应注意哪些设置。包括目录的权限,目录的拥有者,目录所在的组,具体文件的权限,umask设置等。 (5)、实验报告应体现出使用不同身份的用户对所配置目录的访问测试过程。 三、实验环境 安装有vmware或visual pc软件的window主机,系统中有提供turbolinux或redhat的硬盘

linux操作系统基本管理系统

unix/linux操作系统基本管理 以下命令的样例在REDHAT AS4上验证通过,在其他版本的操作系统上可能存在一些细微差别,请参阅相关系统手册。 几个常用操作系统命令用法。注意:UNIX/LINUX下命令关键字是区分大小写的,以下介绍的仅仅是这几个命令的一些基本用法,每个命令都还有多个其他用法。关于这些命令的其他用法和更多unix/linux命令的用法请参阅相关系统手册,或在命令行下输入:man commnad获取。 1、ls: 显示指定目录下内容 -a 显示所有档案及目录包括文件或目录名称开头为"."的隐藏文件或目录; -l 除名称外,亦将文件或目录型态、权限、拥有者、大小等信息详细列出; 例如: [oracle@urp ~]$ ls -al total 108 drwxrwxrwx 5 oracle dba 4096 Dec 23 2007 . drwxrwxrwx 10 root root 4096 Jan 13 13:31 .. drwxr-xr-x 6 oracle dba 4096 Apr 17 2008 ... -rwxrwxrwx 1 oracle dba 1749 Feb 20 18:26 .bash_history -rwxrwxrwx 1 oracle dba 24 Nov 19 2007 .bash_logout -rwxrwxrwx 1 oracle dba 191 Nov 19 2007 .bash_profile -rwxrwxrwx 1 oracle dba 124 Nov 19 2007 .bashrc -rwxrwxrwx 1 oracle dba 5619 Nov 19 2007 .canna

操作系统实验5文件系统:Linux文件管理

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

menu(); scanf("%d",&choose); while(choose!=0) { switch(choose) { case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();break; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; } menu(); scanf("%d",&choose); } return 0; } void menu(void) { printf("文件系统\n"); printf("1.创建新文件\n"); printf("2.写文件\n"); printf("3.读文件\n"); printf("4.复制文件\n"); printf("5.修改文件权限\n"); printf("6.查看文件权限\n"); printf("7.创建子目录\n"); printf("8.删除子目录\n"); printf("9.改变目前目录到指定目录\n"); printf("10.链接操作\n"); printf("0.退出\n"); printf("请输入您的选择...\n"); } void openfile(void) { int fd; if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

服务器操作系统安装指南(Linux)v3.3

修订记录、审核记录和审批记录修订记录 审核记录 审批记录

目录 1介绍 (1) 1.1目的1 1.2适用范围 (1) 1.3参考资料 (1) 2准备 (1) 2.1安装前准备 (1) 2.2物理网卡说明 (1) 2.3RAID (2) 2.4超线程 (2) 3系统安装 (2) 3.1K ICKSTART安装 (2) 3.2S TEP-BY-STEP安装 (3) 3.3磁盘管理 (4) 3.3.1创建逻辑卷 (4) 3.3.2创建文件系统 (4) 3.3.3挂载文件系统 (4) 4系统设置 (5) 4.1安全设置 (5) 4.1.1口令复杂度要求 (5) 4.1.2服务 (5) 4.1.3内置帐号 (5) 4.1.4修改系统时间为当前时间 (6) 4.1.5修改root口令 (6) 4.1.6关闭sshv1.0 (6) 4.2主机名称 (6) 5网络配置 (7) 5.1升级网卡驱动 (7) 5.2服务器网卡配置列表: (7) 5.3不使用的网卡配置: (7) 5.4不做TEAM BONDING的网卡配置 (8) 5.51组2块做TEAM BONDING的网卡配置 (8) 5.62组每组各2块做TEAM BONDING的网卡配置 (9) 5.7GATEWAY和主机ROUTE (10) 5.8时间同步 (10) 附录一:KS.CFG V2.5.0.0 (12)

1介绍 1.1目的 建立用于应用托管系统服务器的操作系统安装模版,说明安装和配置的操作步骤。 1.2适用范围 本文档用于运维中心技术人员安装应用托管系统服务器操作系统,并供安装研发服务器参考。 1.3参考资料 2准备 2.1安装前准备 服务器型号:HP DL300G7系列、DELL R710 内存:2-64G 本机硬盘:72-300G * (2-8) 网卡:2-12端口 外设:DVDROM、USB Removable Floppy 安装盘: Red Hat Enterprise Linux 5.5 x86_64 DVD Red Hat Enterprise Linux 5.8 x86_64 DVD 2.2t物理网卡说明 NIC-x.y 表示服务器第x块网卡的第y端口,其中底板集成网卡为第0块,其他网卡的编号如无标示按照从左到右、从上到下的顺序

Linux系统管理习题(附答案)

系统管理习题一 1. 使用编辑文本只读时,强制存盘并退出的命令是?(单选题) A :w! B ! C ! D ! 2. 使用什么命令把两个文件的合并成一个文件?(单选题) A B C D 3 以下哪一个命令只查找源代码、二进制文件和帮助文件,而不是所以类型的文件?此命令查找的目录是由环境变量$指定的。(单选题) A B C D 4. 使用什么命令进行查询,并不真正对硬盘上的文件系统进行查找,而是对文件名数据库进行检索,而且可以使用通配符?和 * ?(单选题) A B C D 5. 使用什么命令把打印任务放到打印队列中去打印。(单选题) A B C D 6、使用什么命令自动卸载已安装的老版本软件包并安装新软件包,即使不存在老版本也会安装新软件包。(单选题) A:B :C: D: 7、如果文件的属性为 -s -,则s代表?(单选题) A:B: C: D :

8、当一个文件属性为,则这个文件的权限是什么样的?(多选题)A: 任何用户皆可读取、可写入B :可以删除该目录的文件 C:给普通用户以文件所有者的特权D :文件拥有者有权删除该目录的文件 9:什么命令用来查看硬盘被占用了多少空间和剩余多少空间?(单选题) A : B : C : D : 10: 使用者的帐号、密码与群组的名称文件放在哪些文件里? (多选题) A:B: C: D: 11、暂停某用户帐号可以使用如下哪些方法?(多选题) A.把文件中该用户信息字段前加# B.-1[ 用户名] C. 将该用户信息字段改成 D. - u[用户名] 12、什么命令可以查看曾经登录到此系统的用户清单?(*单选题) 13、以下哪一个内核版本属于测试版本?(单选题) A. 2. 0. 0 B.1.2.25 C 2.3.4 D 3.0.13

NOSLinux 【单元测验】Linux文件系统与磁盘管理(2)

【单元测验】Linux文件系统与磁盘管理(2) 回顾第 1 次试答 结束回顾 开始时间2012年03月 22日星期四 08:18 完成于2012年03月 22日星期四 08:23 耗时 5 分钟 1 秒 分数6/16 成绩37.5超出最大限度 100(38%) 反馈要加油啰 Question 1 分数: 1 以下命令返回的结果是什么?ln file1 file2 选择一个答案 A. file2将成为file1的符号链接 B. 命令格式错误,需要使用参数 C. 无论file1的尺度是多少,file2将固定为5字节 D. file1和file2有相同的索引节点 链接文件分为硬链接(不加参数)和符号链接(加-s参数) 硬链接内容和原文件保持同步,他们具有相同的索引节点信息(磁盘的具体物理位置),移动、删除或修改他们中的任何一个都不影响通过另一个访问该文件 符号链接只是快捷方式,原文件删除,将导致该符号链接失效 正确 这次提交的分数:1/1。 Question 2 分数: 1 以下哪个命令可将file1复制给file2? 选择一个答案 A. cat file1 > file2 B. copy file1 file2 C. cat file1 file2> file1 D. cp file | file2

cp命令可以复制文件,格式为 cp 源文件目标文件,无需加管道符号“|” cat本来是输出文件内容到屏幕,加了“>”重定向符号后也可以将文件内容重定向输出指定文件中,这样就可以实现复制文件的目的 正确 这次提交的分数:1/1。 Question 3 分数: 1 如果newdir/file2文件不存在,但是目录newdir已存在,mv file1 newdir/file2命令将有什么结果? 选择一个答案 A. file1将被复制到newdir并命名为file2 B. 将报错,因为以上不是有效的命令 C. file1将被移动到newdir并重命名为file2 D. file1将被删除 mv可以更名也可以移动,具体看命令参数 mv 文件1 文件2——将文件1更名为文件2 mv 目录1 目录2——将目录1更名为目录2 mv 文件1 目录2——将文件1移动到目录2 mv 文件1 目录1/文件2——将文件1移动到目录1,并更名为文件2 正确 这次提交的分数:1/1。 Question 4 分数: 1 如何从文件中查找显示所有以“#”打头的行? 选择一个答案 A. grep -n "#" file B. find "\#" file C. grep -v "#" file D. wc -l "#" find查找的对象和结果都是文件 grep查找的对象和结果是输出结果中的行 -c 显示符合条件的行数 -i查找时不区分大小写 -n显示行号

linux系统管理考试(标准答案)

linux系统管理考试(答案)

————————————————————————————————作者:————————————————————————————————日期:

《Linux系统管理》单科结业测试 考试说明: 1. 考试形式为闭卷,考试时间为90分钟。 2. 考试内容包括30道选择题(60分)和1道机试题(40分),满分合计100分。 3. 请将选择题的答案写在答题纸上,机试题以电子文档的形式提交实验报告。 一、选择题(共30题,每题2分) 1.在RHEL5系统中,Linux超级管理员用户root的宿主目录位于()。(选择一项) a) /boot b) /root c) /home/root d) /workspace 2.在RHEL5系统中,第一块IDE硬盘中的第2个逻辑分区应该表示为()。(选择一项) a) /dev/hda2 b) /dev/sda2 c) /dev/hda6 d) /dev/sda6 3.在RHEL5系统中,使用带()选型的tar命令,可用于解压释放“.tar.bz2”格式的归 档压缩包文件。(选择一项) a) zcf b) zxf c) jcf d) jxf 4.在RHEL5系统中,通过使用Shell的()功能,可以将命令的执行结果保存到指定 的文本文件中。(选择一项) a) 别名 b) 管道 c) 重定向输出 d) 自动补齐

5.在VI编辑器的末行模式中,若要查找整个文档中所有的“old”字符串并将其替换为 “new”,可以执行()命令。(选择一项) a) :s/old/new b) :s/old/new/g c) :% s/old/new d) :% s/old/new/g 6.在RHEL5系统中,用户jerry是jerry组的成员,在/tmp下执行“ls -l myfile”命令显示 的信息为“-rw-r-x--- 1 root jerry 7 07-04 20:40 myfile”,则jerry用户对文件myfile的权限是()。(选择两项) a) 可以查看文件内容 b) 可以修改文件内容 c) 可以执行文件 d) 可以删除文件 7.在RHEL5系统中,为执行程序文件设置()权限以后,其他用户在执行该程序时, 将会获得与该文件属主帐号相同的身份。(选择一项) a) Set UID b) Set GID c) 粘滞位 d) 可执行 8.在RHEL5系统中,执行带()选项的fdisk命令可以查看当前主机中磁盘的分区表 信息。(选择一项) a) -l b) -n c) -p d) -w 9.在RHEL5系统中,执行()命令可以将分区“/dev/sdb2”格式化为Swap类型的交换 文件系统。(选择一项) a) mkfs -t swap /dev/sdb2 b) mkswap /dev/sdb2 c) swapon /dev/sdb2 d) format /dev/sdb2:swap 10.在RHEL5系统的引导过程中,()脚本用于完成设置网络、主机名、加载文件系统等 一系列的初始化工作。(选择一项)

《Linux系统管理》期末综合试题答案

Linux 期末复习试题 一、选择题 (每小题2分,共50分) 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根分区 2.在Red Hat Linux 9中,系统默认的( A )用户对整个系统拥有完全的控制权。 A. root B. guest C. administrator D.supervistor. 3. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B ) A. NID B. PID C. UID D. CID 4. 下面哪个命令是用来定义shell的全局变量( D ) A. exportfs B. alias C. exports D. export 5. 哪个目录存放用户密码信息( B ) A. /boot B. /etc C. /var D. /dev 6. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。

A. /usr B. /home C. /root D. /etc 7. . 当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于( D )目录。 A. /home B. /bin C. /etc D. /dev 8. 如果要列出一个目录下的所有文件需要使用命令行( C )。 A. ls –l B. ls C. ls –a D. ls –d 9. 哪个命令可以将普通用户转换成超级用户( D ) A. super B. passwd C. tar D. su 10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D ) A. 用户目录 B. home目录 C. root目录 D. 当前目录 11. 在vi编辑器里,命令"dd"用来删除当前的( A ) A. 行 B. 变量 C. 字 D. 字符 12. 当运行在多用户模式下时,用Ctrl+ALT+F*可以切换多少虚拟用户终端( B )

服务器操作系统

服务器操作系统 服务器操作系统的定义 Server operating system 服务器操作系统,一般指的是安装在网站服务器上的操作系统软件,是企业IT 系统的基础架构平台,也是按应用领域划分的3类操作系统之一(另外2种分别是桌面操作系统和嵌入式操作系统)。同时,服务器操作系统也可以安装在个人电脑上。相比个人版操作系统,在一个具体的网络中,服务器操作系统要承担额外的管理、配置、稳定、安全等功能,处于每个网络中的心脏部位。 服务器操作系统的分类 服务器操作系统主要分为四大流派:WINDOWS、NETWARE、UNIX、LINUX。 WINDOWS服务器操作系统大家应该都不会陌生,这是全球最大的操作系统开发商——Microsoft公司开发的。其服务器操作系统重要版本WINNT 4.0 Server、Win 2000/Advanced Server、Win2003/Advanced Server,也支撑起目前市面上应用最多的服务器操作系统——Windows服务器操作系统派应用。 NetWare服务器操作系统对现在一些IT圈里的朋友可能就比较陌生,由于种种原因,它的市场占有率已经非常局限,主要应用在某些特定的行业中。也就是因为此,在很多朋友在划分操作系统派系的时候,去除了NETWARE的代表权。其实,如果8 0年代前出生的老IT,对于NetWare这个名词就会异常熟悉了,因为在当初各种设备和网络都比较落后的年代,NetWare在局域网应用中占据着绝对的高额市场;而就算是目前,在一些特定行业和事业单位中,NetWare优秀的批处理功能和安全、稳定的系统性能也有很大的生存空间。NetWare目前常用的版本主要有Novell的3.11、3. 12、4.10、5.0等中英文版。 Unix服务器操作系统由AT&T公司和SCO公司共同推出,主要支持大型的文件系统服务、数据服务等应用。由于一些出众的服务器厂商生产的高端服务器产品中甚至只支持Unix操作系统,因而在很多人的眼中,Unix甚至成为高端操作系统的代名词。目前市面上流传的主要有SCO SVR、BSD Unix、SUN Solaris、IBM-AIX 。 Linux服务器操作系统是国外几位IT前辈,在Posix和Unix基础上开发出来的,支持多用户、多任务、多线程、多CPU。Linux开放源代码政策,使得基于其平台的开发与使用无须支付任何单位和个人的版权费用,成为后来很多操作系统厂家创业的基石,同时也成为目前国内外很多保密机构服务器操作系统采购的首选。目前国内主流市场中使用的主要有Novell的中文版Suse Linux 9.0、小红帽系列、红旗Linux 系列等。

操作系统实验10 Linux Web服务器配置

《操作系统》实验报告 实验序号:实验十实验项目名称Linux Web服务器配置践 学号1207022103 姓名陈华荣专业、班1班 实验地点实1-311 指导教师李桂森实验时间2014-12-17 一、实验目的 通过本实验的学习,使学生掌握Linux 系统Web服务器的配置方法,搭建简单的动态数据网站。 二、实验内容 实验内容:实践Linux系统Web服务器的配置操作,并搭建简单的动态网站。三、实验内容与步骤 1,JDK下载 在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,首先sudo apt-get update,然后apt-cache search jdk可发现在Ubuntu server的安装源中并没有oracle的jdk,只有open jdk。因此先通过其它途径下载oracle jdk再进行安装。 jdk下载(也可直接使用老师提供的软件): 方法1:通过linux图形界面浏览器下载,也可在Windows系统下载 方法2:通过linux终端的wget下载 由于oracle官方网站下载jdk时,需要在下载页面点击"Accept License Agreement ",比如下面这个页面: https://www.doczj.com/doc/ac1613792.html,/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 因此在终端直接使用wget将无法正常下载,首先通过其它途径(比如Windows浏览器)在上述页面获得最新的jdk下载地址: https://www.doczj.com/doc/ac1613792.html,/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-i586.tar.gz 然后在linux终端使用如下命令下载: wget -c --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%https://www.doczj.com/doc/ac1613792.html,%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk 7-downloads-1880260.html;" https://www.doczj.com/doc/ac1613792.html,/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-i586.tar.gz (注意上面的代码是在一行里面的,双引号后面有一个空格),此时可直接下载jdk,如果jdk版本不同了,请注意修改对应的文件名称 通过window下载,在挂载到ubuntu里,

详细分析Linux文件系统格式优劣

?摘要:Linux支持多种文件系统,包括ext2、iso9660、jffs、ext3、vfat、ntfs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System) ?标签:文件系统 ?Linux由于其开源安全特性正在被多数企业所接受。Linux支持很多种文件系统,ext3、vfat、ntfs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了另一个文件系统VFS(Virtual File System)。下面我们就分析一下他的各种文件系统格式的特点 基于RAM的文件系统 (1)Ramdisk Ramdisk是将一部分固定大小的内存当作分区来使用。它并非一个实际的文件系统,而是一种将实际的文件系统装入内存的机制,并且可以作为根文件系统。将一些经常被访问而又不会更改的文件(如只读的根文件系统)通过Ramdisk放在内存中,可以明显地提高系统的性能。 在Linux的启动阶段,initrd提供了一套机制,可以将内核映像和根文件系统一起载入内存。 (2)ramfs/tmpfs Ramfs是LinusTorvalds开发的一种基于内存的文件系统,工作于虚拟文件系统(VFS)层,不能格式化,可以创建多个,在创建时可以指定其最大能使用的内存大小。(实际上,VFS 本质上可看成一种内存文件系统,它统一了文件在内核中的表示方式,并对磁盘文件系统进行缓冲。 Ramfs/tmpfs文件系统把所有的文件都放在RAM中,所以读/写操作发生在RAM中,可以用ramfs/tmpfs来存储一些临时性或经常要修改的数据,例如/tmp和/var目录,这样既避免了对Flash存储器的读写损耗,也提高了数据读写速度。 Ramfs/tmpfs相对于传统的Ramdisk的不同之处主要在于:不能格式化,文件系统大小可随所含文件内容大小变化。 Tmpfs的一个缺点是当系统重新引导时会丢失所有数据。 3.网络文件系统NFS(NetworkFileSystem) NFS是由Sun开发并发展起来的一项在不同机器、不同操作系统之间通过网络共享文件的技术。在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS 的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。 附录:NOR闪存与NAND闪存比较

Linux 操作系统查看服务器系统信息命令(linux系统)

Linux 操作系统查看服务器系统信息命令(linux 系统系统: # uname -a # 查看内核 /操作系统 /CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看 CPU 信息 # hostname # 查看计算机名 # lspci -tv # 列出所有 PCI 设备 # lsusb -tv # 列出所有 USB 设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 : # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名 > # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载 磁盘和分区 :

# mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数 (仅适用于 IDE 设备 # dmesg | grep IDE # 查看启动时 IDE 设备检测状况 网络 : # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 用户 : # w # 查看活动用户 # id <用户名 > # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务

Linux系统管理学习路线图

Linux系统管理学习路线图 随着Linux应用的扩展,许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。作为一个Linux系统管理员,我看了许多有关Linux的文档和书籍,并为学习Linux付出了许多艰苦的努力。当真正获得了一份正式的Linux系统管理工作后,我更加深刻地理解了Linux 的灵魂:服务于多用户。Linux系统知识是非常广博的,但是只要掌握了重点知识,管理它并没有想象中的那么可怕。在下面我会将作为系统管理员的一些工作心得和总结出来的经验系统地介绍给大家。 1.学习的目的 通过Linux的学习掌握UNIX的目的想必不用多说了,在这个网络人才身价倍增的年代,想靠技术吃饭又不想掌握网络和编程技术是不明智的。当人们第一次听说Linux并跃跃欲试的时候,总会提出几个?,它是什么(What)?为什么要用它(Why)?怎样学习它(How)?作为开放源码运动的主要组成部分,Linux 的应用越来越广泛,从我们平时的娱乐、学习,到商业、政府办公,再到大规模计算的应用。为了满足人们的需求,各种各样的、基于Linux的应用软件层出不穷。只要具备了LinuX的基本功,并具有了自学的能力之后,都可以通过长期地学习予以掌握。 2.从命令开始、从基础开始 常常有些朋友一接触Linux就希望构架网站,根本没有想到要先了解一下Linux的基础。这是相当困难的。虽然Linux桌面应用发展很快,但是命令在Linux 中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的。Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习,我们可以进一步理解Linux系统。 3.选择一本好的Linux书籍 无论在论坛还是读者反馈中,我们看到最多的问题往往是某个新手,在安装或使用Linux的过程中遇到一个具体的问题就开始提问,很多都是重复性的问题,甚至有不少人连基本的问题描述都不是很清楚。这说明很多初学Linux的人还没有掌握基本功。怎样才能快速提高掌握Linux的基本功呢?最有效的方法莫过于学习权威的Linux工具书,工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多,笔者强烈建议阅读影印本的o'reilly原版Linux图书 https://www.doczj.com/doc/ac1613792.html,/,而且出版社还提供了一个非常好的路线图:linux.php">https://www.doczj.com/doc/ac1613792.html,/guide/guide_linux.php 4.养成在命令行下工作的习惯

Linux 0.1.1文件系统的源码阅读

Linux 0.11文件系统的源码阅读总结 1.minix文件系统 对于linux 0.11内核的文件系统的开发,Linus主要参考了Andrew S.Tanenbaum 所写的《MINIX操作系统设计与实现》,使用的是其中的1.0版本的MINIX文件系统。而高速缓冲区的工作原理参见M.J.Bach的《UNIX操作系统设计》第三章内容。 通过对源代码的分析,我们可以将minix文件系统分为四个部分,如下如1-1。 ●高速缓冲区的管理程序。主要实现了对硬盘等块设备进行数据高速存取的函数。 ●文件系统的底层通用函数。包括文件索引节点的管理、磁盘数据块的分配和释放 以及文件名与i节点的转换算法。 ●有关对文件中的数据进行读写操作的函数。包括字符设备、块设备、管道、常规 文件的读写操作,由read_write.c函数进行总调度。 ●涉及到文件的系统调用接口的实现,这里主要涉及文件的打开、关闭、创建以及 文件目录等系统调用,分布在namei和inode等文件中。 图1-1 文件系统四部分之间关系图

1.1超级块 首先我们了解一下MINIX文件系统的组成,主要包括六部分。对于一个360K软盘,其各部分的分布如下图1-2所示: 图 1-2 建有MINIX文件系统的一个360K软盘中文件系统各部分的布局示意图 注释1:硬盘的一个扇区是512B,而文件系统的数据块正好是两个扇区。 注释2:引导块是计算机自动加电启动时可由ROM BIOS自动读入得执行代码和数据。 注释3:逻辑块一般是数据块的2幂次方倍数。MINIX文件系统的逻辑块和数据块同等大小 对于硬盘块设备,通常会划分几个分区,每个分区所存放的不同的文件系统。硬盘的第一个扇区是主引导扇区,其中存放着硬盘引导程序和分区表信息。分区表中得信息指明了硬盘上每个分区的类型、在硬盘中其实位置参数和结束位置参数以及占用的扇区总数。其结构如下图1-3所示。 图1-3 硬盘设备上的分区和文件系统 对于可以建立不同的多个文件系统的硬盘设备来说,minix文件系统引入超级块进行管理硬盘的文件系统结构信息。其结构如下图1-4所示。其中,s_ninodes表示设备上得i节点总数,s_nzones表示设备上的逻辑块为单位的总逻辑块数。s_imap_blocks 和s_zmap_blocks分别表示i节点位图和逻辑块位图所占用的磁盘块数。 s_firstdatazone表示设备上数据区开始处占用的第一个逻辑块块号。s_log_zone_size 是使用2为底的对数表示的每个逻辑块包含的磁盘块数。对于MINIX1.0文件系统该值为0,因此其逻辑块的大小就等于磁盘块大小。s_magic是文件系统魔幻数,用以指明文件系统的类型。对于MINIX1.0文件系统,它的魔幻数是0x137f。

linux系统管理命令

a)系统管理:chkconfig、init、shutdown、halt、reboot、set、env、export、 crontab、uptime、last、history、id、finger、who、w、whoami、useradd、passwd、usermod、userdel、date、cal、wget、yum、curl、lsmod、dmesg。 Chkconfig:管理服务。 查看所有服务:chkconfig --list; 添加:chkconfig --add serviceName; 删除:chkconfig --del serviceName; 覆盖:chkconfig --override serviceName; 开启:chkconfig --level 2345 serviceName on; 关闭:chkconfig --level 2345 serviceName off。 Init:一个由内核启动的用户级进程。OS初始化所有的设备驱动程序和数据结构之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。Init 配合不同的运行级别数字实现不同的功能:init 0关机、init 1进单用户模式、init 6重启、init 3命令行模式、init 5图形界面。 Shutdown:冻结login指令,发送信号给init进程要求切换运行界别,并通知所有已登陆用户即将关闭系统。常用参数:-t 延迟时间,-r重启参数,-c 取消正在执行的关机,-h关机后关闭电源。 Halt:实际是调用shutdown -h。杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。参数:-n 防止sync系统调用﹐用于fsck修复根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。 Reboot:和halt差不多,不过它是重启系统。 Set:显示当前shell的变量(每个shell有自己不同的变量),包括当前用户的变量。 env:显示当前用户的变量,用户变量和你用什么shell无关,不管你用什么shell 都在。 export:显示当前导出成用户变量的shell变量。shell自己的变量可以通过export “导出”变成一个用户变量。 Crontab:相当于windows的计划任务,参数:-l 查看,-e编辑。Crontab的编辑格式:分(0-59) 时(0-23) 天(1-31) 月(1-12) 星期(0-6) 命令或者脚本。例: 0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache; 50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务; 50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务; 0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘; 1 * * * * /home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件; 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} /; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件; 30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令。 Uptime:显示四部分内容。当前时间+ 已运行时间+ 当前用户连接数+ 负载均衡。负载均衡:特定时间间隔内运行队列中的平均进程数,如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。 Last:读取/var/log/wtmp文件,列出登入系统的详细信息。 History:记录使用过的命令。普通的history命令只会根据顺序显示命令。介绍一种更友好的配置,出错后配合last或者日志能清楚的找到谁的问题。

相关主题
文本预览
相关文档 最新文档