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

Linux文件系统管理

Linux文件系统管理
Linux文件系统管理

实验:Linux文件系统管理

-=-==----------------------------=

实验环境:

安装了Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统。

实验目标:

增加有关分区和文件系统的技能和知识,掌握常见磁盘分区的相关操作及一般步骤。

实验背景:

无论是Windows 还是Linux,我们日常操作与使用几乎都是围绕文件系统而展开的。

有一天你突然发现你的现有的硬盘空间不够用了,巧的是你还有一些的空余空间。遇事你打算把这些空余的空间开辟出来以便使用。

实验要求:

按要求新建磁盘分区:

存储空间文件系统

1024MB ext2

Block size:4K

Laber:Music

512MB ext3

512MB vfat

------------------------------------------

实验详解:

1、以root 用户的身份登录系统。如果你使用的是图形化环境,点击[应用程序(Applications)]->[附件(System Tools)]->[终端(Terminal)]来打开终端:

2、使用fdisk命令查看当前磁盘使用情况:

[root@desktop2 ~]# fdisk -l

Disk /dev/sda: 10.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks ID

System

/dev/sda1 * ……其余项省略

/dev/sda2 ……其余项省略

/dev/sda3 ……其余项省略

/dev/sda4 ……其余项省略

3、使用fdisk命令按照实验要求创建3 个新分区:

[root@desktop2 ~]# fdisk /dev/sda

This number of cylinder for this disk is set to 2610.

There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)

在Command 命令处输入’n’,开始新建磁盘分区

Command(m for help): n

选择新建磁盘的属性(扩展extend/主盘primary),这里我们选择主盘primary Command action

e extended

p primary partition (1-4)

p

然后按要求划分新建磁盘的空间

First cylinder (942 - 2610, default 942):

Using default value 942

Last cylinder or +size or +sizeM or +sizeK (942-2610, default 2610): +1024M

注意:fdisk 命令会开始分区引导

首先要求输入分区开始的煮面编号,此处可以自动义输入,也可以直接回车,是新建

的分区开始的柱面紧邻前一分区的结束柱面;

其次输入新建分区的结束柱面,默认键入回车会将所有剩余空间划分至新的分区,如

果需要,请自定义需要新建的分区空间大小,默认形式会定义该分区结束的柱面,若以’+’为前缀并以”容量+单位”为形式输入则表示分区容量的大小。

/dev/sda6 与/dev/sda7 的创建方式相同,这里不再重复

查看当前磁盘上的分区状态,对上述分区操作的正确性进行验证

Command(m for help): p

Device Boot Start End Blocks ID

System

/dev/sda1 * ……其余项省略

/dev/sda2 ……其余项省略

/dev/sda3 ……其余项省略

/dev/sda4 ……其余项省略

/dev/sda5 … … 1004031 83

Linux

/dev/sda6 … … 522081 83

Linux

/dev/sda7 … … 522081 83

Linux

保存并退出fdisk 工具

Command(m for help): w

The partition table has been altered!

此时分区信息将被写入,新分区将被创建。

注意:新建完分区后可能会有warning,那是由于内核仍在使用旧的磁盘分区表,新

的磁盘分区表将在计算机重新启动后生效。

4、使用partprobe命令使内核立刻接受新的分区表信息:

[root@desktop2 ~]# partprobe /dev/sda

5、使用mke2fs命令在/dev/sda5 上创建ext2 格式的文件系统:

[root@desktop2 ~]# mke2fs -Lmusic -m 0 -b 4096 -c /dev/sda5

……

Filesystem label = music

OS type: Linux

Block size = 4096 (log=2)

Fragement size = 4096 (log=2)

……

6、使用dump2fs命令验证新建的/dev/sda5 是否正确:

[root@desktop2 ~]# dump2fs /dev/sda5 |more

Filesystem volume name: music

……

7、为/dev/sda6 建立ext3 格式的文件系统:

[root@desktop2 ~]# mke2fs -j -c /dev/sda6

或者使用mkfs.ext3 命令

[root@desktop2 ~]# mkfs.ext3 -c /dev/sda6

8、使用dump2fs命令验证新建的/dev/sde6 是否正确:

[root@desktop2 ~]# dump2fs /dev/sda6 |more

……

Journal backup: inode blocks

Journal size: 4114k

可以看到,由于有Journal(日志)的相关信息,可以判定文件系统格式为ext3。

8、为/dev/sda7 建立vfat 格式的文件系统并检验:

[root@desktop2 ~]# mkfs.vfat /dev/sda7

[root@desktop2 ~]# dump2fs /dev/sda7 |more

9、使用parted 工具对本实验进行验证:

[root@desktop2 ~]# parted /dev/sda

……

(parted) p

……

可以看到,新创建的文件系统均符合本实验的要求

本次实验到此结束。

?? Linux 支持的文件系统

文件系统说明

msdos DOS 和Windows 使用的FAT 文件系统。不支持许多高级的特性,文件名最多包含8 个字符和一个3 个字符的后缀

ext2 非常有特色的出自于Linux 的文件系统,虚拟文件系统曾围绕ext2 文件系统而设计。它具有Linux 文件系统要求具有的所有特性,并且被设计成易于升级的,这

样文件系统代码的最新版本就不需要重建已存在的文件系统

ext3 红帽企业版Linux 的默认文件系统。它是ext2 的扩成版本,可以支持日志功能,

除此之外在特性上与ext2 完全一样

vfat msdos 文件系统的扩充版本,允许使用长文件名

nfs 一个网络文件系统,允许在许多计算机之间共享一个文件系统,易于这些计算机

对文件的访问,支持并发

smbfs 用来在Linux 和Windows 之间共享目录的文件系统

iso9660 标准的CD-ROM 文件系统,自动支持允许更长文件名的Rock Ridge 扩展文件系统proc 仅存在与内核中的一种虚拟文件系统

?? mke2fs 命令参数

参数功能

-b block size 指定文件系统块大小,可用值为1024、2048 或4096

-c 建立文件系统时检查坏损块

-L label 指定卷标

-m n 将后备块百分比设为n%

-j 建立文件系统日志

《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系统管理习题(附答案)

系统管理习题一 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 )

详细分析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,根据学习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/763099930.html,/,而且出版社还提供了一个非常好的路线图:linux.php">https://www.doczj.com/doc/763099930.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或者日志能清楚的找到谁的问题。

linux 实验报告 文件系统与文件管理

学生课程实验报告书课程:《linux网络操作系统》 级系 专业班 学号: 姓名: 指导教师:

一、实验项目:用户与组群管理 二、实验日期: 三、实验原理: 1.熟悉Linux下常用的操作指令。 2.加深对文件,目录,文件系统等概念的理解。 3.掌握Linux文件系统的目录结构。 4.掌握有关Linux文件系统操作的常用命令。 5.了解有关文件安全方面的知识。 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 进入虚拟机,并在此平台上练习文件管理有关命令.一般在[root @ localhost xxxx]$ 提示符下键入有关命令。 1.浏览文件系统 〈1〉运行pwd命令,确定你当前的工作目录。 〈2〉利用以下命令显示当前工作目录的内容:(理解各字段彻底意义。) 〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i 可以显示文件的I节点号) ls –ai 〈4〉使用mkdir命令建立一个子目录subdir,并用ls查看当前目录。 〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。

〈6〉使用cd命令,将工作目录改到根目录(/)上。 ①用相对路径将工作目录改到根目录。 ②用绝对路径将工作目录改到根目录。 〈7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容,体会各目录作用及访问权限。 〈8〉使用ls-l命令列出/dev的内容。 Ls –l /dev 列出/dev目录的内容,文件太多显示多屏,各行第一个字符为b的表示块特别文件;各行第一个字符为c的表示字符特别文件。 〈9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。 〈10〉使用命令cd ../..,你将工作目录移到什麽地方? 2.查看你的文件 〈1〉利用cd命令,将工作目录改到你的主目录上。 〈2〉将工作目录改到你的子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中。 Ls –l 反馈信息中有新文件 file1。请注意并记下文件长度为:

linux系统管理

1、显示当前的运行级别runlevel 2、显示全部服务的启动状态chkconfig --list 3、显示指定服务的启动状态chkconfig --list syslog(syslog 指的是服务的名称) 举例: [root@localhost ~]# chkconfig --list syslog syslog 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭[root@localhost ~]# chkconfig --level 1 syslog on [root@localhost ~]# chkconfig --list syslog syslog 0:关闭1:启用2:启用3:启用4:启用5:启用6:关闭[root@localhost ~]# chkconfig --level 24 syslog off [root@localhost ~]# chkconfig --list syslog syslog 0:关闭1:启用2:关闭3:启用4:关闭5:启用6:关闭4、ps命令显示某时刻系统进程的状态信息

5、查看详细进程ps -u 或者ps -l 6、查看其他用户进程ps -la 7、查看后台执行的进程ps -aux 8、将后台进程清单排序ps -aux --sort 排序字段 9、显示进程状态top ctrl +C 退出 10、显示系统进程树pstree 11、kill -9 4290 12、cron :举例: 0 0 1,15 * * fsck /home每月的1号和15号检查/home磁盘0 */2 * * * /sbin /service httpd restart每2个小时进行重启查询crond服务状态 # service crond status 停止crond服务 # service crond stop 启动crond服务 # service crond start 重新启动crond服务 # service crond restart 查看crond服务的开机启动状态

linux系统管理员面试题

1.如何将本地80端口的请求转发到8080端口,当前主机IP为19 2.168.16.1,其中本地网卡eth0: 答: #iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080 或者: #iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 2.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些? 3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗? 4.iptables是否支持time时间控制用户行为,如有请写出具体操作步骤 5.说出你知道的几种linux/unix发行版本 6.列出linux常见打包工具并写相应解压缩参数(至少三种) 7.计划每星期天早8点服务器定时重启,如何实现? 8.列出作为完整邮件系统的软件,至少二类 9,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。 答: a.用户输入网址到浏览器 b.浏览器发出DNS请求信息 c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步 d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果, e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果 f.返回IP结果给浏览器 g.浏览器根据IP信息,获取页面 10,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么时候采用udp 协议?为什么要这么设计? 答:这个题需要理解的东西比较的多,分一下几个方面 a,从数据包大小上分:UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这时名字解释器通常使用TCP从发原来的请求。 b,从协议本身来分:大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用(如:TFTP,BOOTP和SNMP等),大部分集中在局域网,dns 查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更大,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP 11,一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。 答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode耗尽了。 12,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程? FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP) 在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV 命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器

linux系统管理

启动管理 配置文件:/etc/inittab 默认启动项文件。 # 0 - halt (Do NOT set initdefault to this) 关机 # 1 - Single user mode 单用户模式 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 类似3,除了NFS。相当于Windows中的安全模式# 3 - Full multiuser mode 完整的多用户模式,命令行 # 4 – unused 默认不使用 # 5 - X11 图形化 # 6 - reboot (Do NOT set initdefault to this) 重启 id:3:initdefault: 设置默认启动级别。 启动过程: 1.加电自检(加载BIOS) 主板BIOS程序加载 检查所有硬件是否正常工作 通过BIOS程序调整硬件的工作模式 引导项boot memu:所有可加载的存储设备(U盘、光盘、硬盘、软盘、网卡)2.引导程序加载(boot loader) 加载引导菜单(提供选择操作系统的选项) 选择进入操作系统时的模式(7种) 如何找到kernel和驱动程序?

引导程序的配置文件/boot/grub/grub.conf root (hd0,0)声明第一个磁盘的第一个分区(即/boot所在分区)是根目录kernel /vmlinuz-2.6.32-642.el6.x86_64 #kernel所在路径 initrd /initramfs-2.6.32-642.el6.x86_64.img #驱动&模块所在路径都是以(hd0,0)为根目录 3.内核加载(kernel) 所有硬件设备驱动 系统所需的功能模块(*.ko) 确认系统默认启动级别(读取/etc/inittab文件) 系统的守护进程(init进程,进程号是1) 4.加载需要开机自启的服务。 依靠系统的守护进程init启动各类服务的进程。依靠父进程为1。 根据系统启动级别确定所启动的服务。(/etc/rc.d/)(K开头不自启、S 开头自启)。 引导配置文件/boot/grub/grub.conf 1、default=0 默认启动第一个操作系统 2、timeout=5 设置进入引导菜单的等待时间 3、splashimage 设置背景图片。 4、hiddenmenu 默认不显示引导菜单,如需显示可以注释掉 5、title 引导菜单中操作系统的名称 6、root (hd0,0) 表示第一个磁盘的第一个分区即boot分区 7、kernel 内核的加载方式,可以在后面设置启动级别。 8、initrd 驱动及模块的加载方式 9、password 给引导菜单或系统设置密码 引导菜单设置密码时,如果password在title字段前,表示给引导菜单加密,但是不影响系统的启动,如果在title字段后,表示给系统加密,则启动系统必须输入密码。 password -md5 [密文] 设置密文密码 密文密码通过

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