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

Linux系统管理

Linux系统管理
Linux系统管理

第六章 Linux系统管理 知识点

1. Linux系统的启动过程如何?

①Linux在启动时首先进行加电自检(加电自检是由计算机ROM内的一段BIOS代码对系统硬件状态以及用户设置参数进行检查)。

② 在加电自检完成之后,去寻找硬盘中的启动引导记录(MBR)。(主引导记录)

③加载启动引导管理器GRUB或者LILO。通过启动引导管理器,系统可以识别或确定:根分区位置、内核位置、系统初始化文件initrd位置。其中initrd文件用于加载磁盘以及文件系统。

④ 加载系统内核。(将内核的一部分或者全部读取到内存中)

⑤ 由Linux内核运行INIT进程。

⑥进入指定运行级别,运行系统服务程序。

⑦运行控制台程序,提示并允许用户输入帐号和口令进行登录。

2. 什么是Linux的运行级别?各运行级别代表什么?系统运行级别由哪个

文件定义?

① 运行级别相当于系统进入的具备某种功能的模式(请对比Windows的各种安全模式)。每次开机进入相应的运行级别,代表具备了相应的功能。

② Linux下各种运行级别功能如下:

0:关闭系统。

1 :单用户模式,允许root用户对系统进行维护,不允许其他用户使用主机,是一种调试模式。

2 :多用户模式,(不支持NFS),即在此模式下不允许网络登录。

3 :完全多用户模式。

4 :未分配使用。

5 :图形登录的多用户模式。

6 :重新启动(不要把系统缺省运行级别设置为6,否则系统将不能正常启动)。

③系统运行级别是由/etc/inittab文件来定义的。

3. 如何显示和更改系统当前运行级别?

#runlevel(查看当前系统的运行级别)

#init 3(更改系统运行级别为3)

4. 如何查看独立服务和非独立服务的启动状态?

#chkconfig --list(查看系统中所有服务的启动状态)

#chkconfig --list syslog(查看独立服务syslog的启动状态)

#chkconfig --list rsync(查看非独立服务rsync的启动状态)

5. 如何设置独立服务和非独立服务的启动状态?

#chkconfig --lelvel 24 syslog off(把独立服务syslog在运行级别2和4中的状态设为关闭,即,系统运行在级别2和4时,syslog服务关闭)

#chkconfig rsync on(在系统中开启非独立服务rsync)

6. 什么是非独立服务?

有些服务依赖于另一个服务,比如,rsync服务的启动就依赖于xinetd服务的启动,rsync服务就是非独立服务。即,只有xinetd服务启动后才有可能启动非独立服务。

对非独立服务的启动状态进行了更改后,需要重新启动xinetd服务,才能使更改生效。

#service xinetd restart(重启xinetd服务)

7. 什么是INIT进程?

init是Linux系统中不可缺少的程序之一。

所谓的INIT进程,它是一个由内核启动的用户级进程,由Linux内核引导运行。

内核自行启动之后,就启动一个用户级程序init来完成以后的系统引导过程,所以INIT始终是第一个进程(其进程编号始终为1)。

内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运

行/bin/sh,如果运行失败,系统的启动也会失败。

INIT进程运行后将安装配置文件,引导运行系统所需要的其他进程,INIT进程将作为这些进程的父进程。

8. INIT进程的配置文件是什么

INIT进程是由Linux内核引导运行的,是系统中运行的第一个进程,其进程号(PID)永远为“1”。

INIT进程运行后将安装其配置文件,引导运行系统所需的其他进程,INIT进程将做为这些进程的父进程。

INIT进程配置文件的文件名是“/etc/inittab”。

9. INIT进程的配置文件的格式代表什么?

INIT进程配置文件的文件名是“/etc/inittab”。

inittab文件中每行都具有相同的格式:id:runlevels:action:process

inittab文件中的每行为一个设置记录,每个记录中有id、runlevels、action和process四个字段,各字段之间用“:”隔开,他们共同确定某进程在哪些运行级别中以何种方式运行。

① id字段用于在inittab文件中唯一标识一个配置记录,实际上id就是一个配置记录的名称,也就是一个任意指定的标签。

②runlevels字段用于指定该记录在哪些运行级别中运行,runlevels 可以是单个运行级别也可以是运行级别列表。

③action字段用于描述记录将执行哪种类型的动作,进入运行级别时init应该运行第四个字段内的命令一次,而且init应该等待该命令结束。

action字段常见的设置值有如下几种:

※ initdefalut:用于标识系统启动后进入哪一个默认的运行级别,存在该字段时,process字段将被忽略。

id:3:initdefault:(表示当前系统缺省的运行级别为3--完全多任务模式)

※sysinit:sysinit类进程将在启动时,在任何boot或者bootwait类进程之前运行,在存在sysinit字段的情况下,记录中的runlevels字段将被忽略,实际上表示的是系统启动时准备运行的命令。

si::sysinit:/etc/rc.d/rc.sysinit(系统启动时自动执行/etc/rc.d/rc.sysinit 脚本文件)

※wait:wait类进程将在进入指定运行级别后运行一次,init进程将等待其结束。

l3:3:wait:/etc/rc.d/rc 3(当运行级别为3时,以3为参数运行/etc/rc.d/rc 脚本,init将等待其返回)

※ctrlaltdel:用于指定用户使用CTRL+ALT+DEL组合键时,系统可以进行重新启动。

Ca::ctrlaltdel:/sbin/shutdown –r now(按下组合键后,系统立即重新启动)

※ powerfail用于指定当UPS发来断电信号时系统需要运行的命令。 pf::powerfail:/sbin/shutdown –f -h +2(接到UPS发来的断电信号后,2分钟关机)

※ powerokwait:用于指定当供电恢复时,需要运行的命令。

pr:12345:powerokwait:/sbin/shutdown –c(供电恢复时,取消已经发布但尚未执行的系统关闭任务)

(注:sysinit、boot、bootwait等action将在系统启动时无条件运

行,而忽略其中的runlevel,其余的action(不含initdefault)都与某个runlevel相关。)

※respawn:respawn类进程在结束后会重新启动运行。

0:12345:respawn:/sbin/mingetty tty0(在1-5个级别上以tty0为参数执行/sbin/mingetty程序,打开tty0终端用于用户登录,如果进程退出则再次运行mingetty程序)

④ process字段所设置的是启动进程时所执行的命令。

10. 在系统启动过程中,执行的系统脚本有哪些?

①rc.sysinit:保存在“/etc/rc.d/”目录中的Bash脚本文件,在系统启动时被调用执行,完成系统初始化的工作,这是系统执行的第一个脚本。

②rc.local:在系统启动过程中,完成初始化脚本的执行后,会执行“/etc/”目录中的“rc.local”脚本,可以将系统中需要自定义执行的命令保存在“rc.local”脚本中。

11. 程序和进程的关系如何?

①程序是保存在外部存储介质中的可执行代码和数据,是静态保存的代码。

②进程是程序代码在处理器中的运行,是动态执行的代码。

③操作系统在执行程序时,将程序代码由外部存储介质(如硬盘)读取到内部存储介质(内存)中。驻留在内存中的程序代码作

为“进程”在中央处理器中被动态执行

④Linux是多进程操作系统,每个程序启动时都可以创建一个或几个进程,与其他程序创建的进程共同运行在Linux内核空间,每个进程都是一个独立的任务。

12. 如何对进程进行查看?

①使用ps命令查看进程:

#ps –aux(查看系统内部的全部系统进程以及所有用户进程)

输出列表中的一些字段为:

USER:指明哪个用户启动了该命令。

PID:对进程的标识和引用。

TTY:指明该进程正运行于哪个终端上。

TIME:指明进程使用了多少CPU时间。

CMD:指明启动该进程的命令。

STAT:显示当前进程的状态

——S:睡眠R:运行W:等待Z:僵死D:不可中断的静止 T:暂停执行

<:高优先级进程N:低优先级进程L:有内存分页分配并所在内存内

② 使用top查看系统信息:

#top

使用top命令可以查看系统当前运行信息。并且可以实时跟踪系统资源使用情况。同时显示系统运行进程列表和每一个进程运行的状态。

可以通过P、m、n和A分别以占用CPU时间、占用内存资源、指定PID和PID进行排序。退出用q。

③ 使用pstree查看进程树:

#pstree(以树状结构显示进程间的父子关系)

13. 启动进程的方式有哪些?

①手工启动。

由用户输入命令,直接执行一个程序,产生一个进程,该进程是一个前台进程。

后台启动需要在命令尾加入“&”。

# cp /dev/cdrom mycd.iso &(把制作光盘镜像的命令放在后台执行,交出终端的使用权,可以继续运行其他程序)

2 调度启动

※使用at命令设置某个命令在某个时间,一次性地在系统中执行。

#at –t 04120003(4月12日0点3分开始执行下面的命令)

at>touch myfile(创建文件myfile)

设置完成后,使用Ctrl+D组合键结束。

#atq(查询系统中已经设置但还没有被执行的at任务)

#atrm 3(删除任务编号为3的at任务)

※crontab命令设置在系统中需要周期性(如每天、每周等)完成的任务

14. 如何让进程在前后台间切换?

①把当前终端中运行的进程调入后台

组合键Ctrl+Z可以将当前终端的进程调入后台并暂停进程的执行。 #top(动态查看系统运行信息)

按下Ctrl+Z组合键(top命令将被挂起到后台,并暂时停止执行)

②查看后台的进程

#jobs(查看后台的进程的情况)

#fg 1(将编号为1的后台进程恢复到前台)

15. 如何终止进程的运行?

①对于当前正在执行的命令,用“ctrl+c”组合键终止其执行

#ping 210.73.64.1(连续ping目标主机210.73.64.1)

按下“ctrl+c”,终止ping命令的执行。

②使用kill命令终止进程

#kill -9 3352(强行终止进程号为3352的进程)

16. 什么是守护进程?

守护进程是一种生存期长的进程,它们独立于控制终端,并且周期性地执行某种任务或等待处理某些发生的事情。

守护进程常常在系统引导启动时装入,在系统关闭时终止。

17. 什么是cron?

cron是一个可以用来根据时间、日期、月份、星期的组合来调度对周期性任务执行的守护进程,守护进程的名称是“crond”。

利用cron所提供的功能,可以将需要周期性重复执行的任务设置为cron任务,可以设置为在主机较空闲的时间(如夜间)自动完成。

RHEL4中实现cron功能的软件包有两个:vixie-cron 软件包用来实现系统中的定时执行功能;crontabs软件包实现对Linux系统的定时任务管理功能。

18. 如何启动和停止cron服务?

①查询crond服务状态

#service crond status

②停止crond服务

#service crond stop

③启动crond服务

#service crond start

④重新启动crond服务

#service crond restart

⑤查看crond服务的开机启动状态

#chkconfig --list crond

19. cron任务的格式如何?

例:50 3 2 1 * run_yearly_cmd

①上例中,值“50”所在的字段为“minute”字段,代表分钟,取值为从0到59之间的任意整数。

②上例中,值“3”所在的字段为“hour”字段,代表小时,取值为从0到23之间的任意整数。

③上例中,值“2”所在的字段为“day”字段,代表日期,取值为从1到31之间的任意整数。

④上例中,值“1”所在的字段为“month”字段,代表月份,取值为从1到12之间的任意整数。

⑤上例中,值“*”所在的字段为“dayofweek”字段,代表星期,取值为从0到7之间的任意整数,0或7代表星期日。值为“*”时,代表取值为取值范围中的任意值。

⑥上例中,值“run_yearly_cmd”所在的字段为“command”字段,代表计划中要被执行的命令,可以是普通命令,也可以是自己编写的脚本程序。

20. 如何理解以下各cron任务?

① 0 * * * * /bin/ls(每月每天每小时的第0分钟执行一次/bin/ls)

② */20 6-12 * 12 * /usr/bin/backup(在 12 月内, 每天的早上 6 点到

12 点中,每隔 20 分钟执行一次 /usr/bin/backup)

③ 0 17 * * 1-5 mail -s "hi" alex@https://www.doczj.com/doc/8716869028.html, < /tmp/maildata(周一到周五每天17:00寄一封信给alex@https://www.doczj.com/doc/8716869028.html,)

④ 20 0-4/2 * * * echo "haha"(每月每天的0 点 20 分, 2 点 20 分, 4点 20 分执行 echo "haha")

21. 如何设定自己的cron任务?

Linux系统中的用户可以使用crontab命令来配置自己的cron任务。所有用户定义的cron任务都被保存在“/var/spool/cron”目录中,文件名与帐户名相同,并使用创建它们的用户身份来执行。

①查看用户的cron任务

#crontab –l(查看当前用户的cron任务)

②编辑用户的cron任务

※编辑并覆盖原有的cron任务

#crontab(编辑新的cron任务,原来的任务将被覆盖掉,Ctrl+D保存退出)

※调用文本编辑器对cron任务进行编辑

#crontab –e(调用默认编辑器vi对cron任务进行编辑)

③删除用户现有的cron任务

#crontab –r(删除用户现有的cron任务)

④ cron任务文件的保存

所有用户的cron任务都被保存在目录“/var/spool/cron/”目录中,文件的名称与用户名相同。

#cat /var/spool/cron/root(查看root用户的cron任务文件的内容)

22. 与cron相关的文件和目录有哪些?

①系统任务配置文件

“/etc/crontab”文件中设置的是Linux系统维护所需的任务,一般不需要人为去修改。

②任务脚本目录

在“/etc”目录中有名为cron . hourly 、cron .daily 、cron . weekly 和cron . monthly 的目录,目录中存放的是需要定期执行的系统任务脚本,例如,“/etc/cron.daily/”目录中存放的是每日执行一次的系统任务脚本。

③cron服务的启动脚本程序的存储目录为:/etc/inid.d/,文件名为:crond。

23. 如何在现有的系统中手动挂载一块新硬盘?

假设系统中现在有一块硬盘,设备名为/dev/sda,再添加一块硬盘,设备名为/dev/sdb。

①#fdisk /dev/sdb(对第二块硬盘进行分区)

②按系统的提示,在sdb上创建一个主分区,分区的设备名为/dev/sdb1。

③ #mkfs –t ext3 /dev/sdb1(把分区格式化为ext3文件系统)

④#mkdir /newdisk/(创建挂载点目录)

⑤ vi /etc/fstab(编辑分区表)

在fstab文件中插入一行:/dev/sdb1 /newdisk ext3 defaults 1 1

⑥#reboot(重启动)

24. 系统日志的作用是什么?

在Linux系统中运行的程序通常会把系统消息和错误消息写入相应的日志文件,这样,系统一旦出现问题就会有据可查。

Linux系统中有不同类型的日志文件,不同类型的日志文件记载不同类型的信息,包括内核、服务以及在系统中运行的应用程序的信息。25. Linux的日志文件有哪些类型?

在Linux系统中所有的日志文件都放置在目录“/var/log/”中,日志文件

通常可分为两在类:

①应用程序独立管理的日志文件。由于应用程序只管理自己的日志文件,所以不同应用程序管理的日志文件之间的格式有很大的差异,没有统一的日志消息格式标准。

②受syslogd服务统一管理的日志文件。Linux系统中有相当一部分程序把自己的日志文件交由syslogd服务统一管理,因此这些日志文件都具有相同的格式。

26. Linux的磁盘配额有什么特点?

磁盘配额可以针对单独用户进行配置,也可以针对用户组进行配置。

既可以限制占用的空间,也可以限制文件的数量。

27. 什么是软限制?什么是硬限制?

①软限制:一个用户在文件系统中可拥有的最大磁盘空间和最多文件数量,在某个宽限期内可以暂时超过这个限制。

②硬限制:一个用户可拥有的磁盘空间或文件的绝对数量,绝对不允许超过这个限制。

28. 如何配置磁盘配额?

接知识点23,在sdb1分区上为用户teacher设置磁盘配额。

①#useradd teacher(创建teacher用户帐户)

②#passwd teacher(为帐户teacher设置密码)

③修改/etc/fstab文件中的这一行“/dev/sdb1 /newdisk ext3 defaults 1 1”,修改为:“/dev/sdb1 /newdisk ext3 defaults , usrquota 1 1”(把sdb1分区挂载到/newdisk目录)

④#reboot(重启动以使更改生效)

⑤#quotacheck –cmug /dev/sdb1(在sdb1分区生成配额文件)

⑥#edquota –u teacher(为帐户teacher设置磁盘配额)

⑦ #quotaon /dev/sdb1(应用配额)

⑧用帐户teacher登录,进入/newdisk目录,验证配额。

29. 如何进行文件的归档(备份)?

当前目录为/home,在/home中有子目录files,在/home/files/中有两个文件afile和bfile。要求备份整个files目录。

普通归档压缩归档

生成归档tar –cf back01.tar

﹒/files/tar –czf back01.tar.gz ﹒/files/

查看归档中的文件

列表

tar –tf back01.tar tar –tzf back01.tar.gz 恢复备份tar –xf back01.tar tar -xzf back01.tar.gz

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/8716869028.html,/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 因此在终端直接使用wget将无法正常下载,首先通过其它途径(比如Windows浏览器)在上述页面获得最新的jdk下载地址: https://www.doczj.com/doc/8716869028.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/8716869028.html,%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk 7-downloads-1880260.html;" https://www.doczj.com/doc/8716869028.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/8716869028.html,/,而且出版社还提供了一个非常好的路线图:linux.php">https://www.doczj.com/doc/8716869028.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或者日志能清楚的找到谁的问题。

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