福建工程学院实验5 linux文件系统

合集下载

《Linux系统管理》Linux文件管理实验报告

《Linux系统管理》Linux文件管理实验报告

《Linux系统管理》Linux文件管理实验报告一、实验目的:1.掌握Linux系统文件的操作命令2.掌握Linux系统权限的操作命令二、实验内容:1.用文件显示命令显示文件。

(1)以root身份进入系统命令符界面,查看当前目录下的文件及目录信息,请使用常见的选项进行显示并观察结果;查看/etc目录下的文件及目录信息,并查看/etc目录自己的信息,简述两种显示结果是否有区别?(2)显示/etc/passwd文件中的信息同时含有行号,并用more、less、head及tail命令进行不同的查看方式对该文件的部分内容进行显示;(3)在/tmp目录下创建/lianxi/first目录路径;在/tmp/lianxi目录下同时创建名为second和third的两个目录;生成 test目录作为lianxi的子目录,并将其权限设置为(744)(要求创建后查看是否存在);(4)利用cat及重定向命令在/tmp/lianxi/first目录中建立小型文件m1,输入以下信息:echo “Hello! Linux”echo ‘date’并显示m1文件的内容;(5)将当前日期重定向至/tmp/lianxi/first/目录的m2文件中,并显示其文件内容;(6)并利用cat命令将m1和m2文件合并至/tmp/lianxi/first/目录的m3文件中,并显示文件内容。

2.用查找、排序、显示内容命令操作文件。

(1)检索/etc/passwd文件中名为root的字符串,且显示其所在文件中的行号,同时利用管导线再次完成此功能;利用cat和管道线查看配置文件/etc/logrotate.conf中过滤掉空格及‘#’注释的文件内容。

(2)重新编辑/tmp/lianxi/first/m1文件中的内容,使得最终m1文件中的内容显示为:Study 30 independentlyHardly 95 finishLinux 85 task●查看m1文件中的内容;●对m1文件按每行第一个字符进行排序输出;●对m1文件按每行第一个字符进行方向排序;●对m1文件按每行第一个字段进行数值排序;●对m1文件按每行以第三个字段为关键字进行排序;●把root目录下的所有文件按文件由大到小进行排序。

福建工程学院Linux 常用命令

福建工程学院Linux 常用命令

Linux的快捷键和主要命令作者:幻影快递Linux小组5.1 Linux基本的键盘输入快捷键和一些常用命令5.2 帮助命令5.3 系统信息5.4 基本操作5.5 文件管理5.6 查看和编辑文件5.7 查找文件5.8 X-windows基础5.9 网络应用程序5.10 文件压缩和解压缩5.11 进程控制5.12 一些管理命令5.13 硬盘和软盘实用工具5.14 用户帐户和文件权限管理5.15 程序安装5.16 访问磁盘驱动器/分区5.17 网络管理工具5.18 与音乐有关的命令5.19 与图形相关的命令5.20 几个小游戏简介:这是包含在Linux软件包里(RedHat或者Mandrake),我们比较经常使用和比较有用的一些命令集合。

在你当前路径的命令提示行下按<TAB>键,就可以看到有效的命令一览。

在我的小型家用系统上,在我的当前路径下有3786个可执行命令。

这些命令的大部分可以在图形用户界面下使用鼠标的左键或者右键来访问,全部都可以使用命令行来运行(除非你没有安装对应的软件包,在我的CD里都可以运行)。

那些要求图形用户界面的程序必须在图形用户下才能运行,比如,你可以通过在KDE或者GNOME的终端输入命令来运行这些程序。

一些更高级(对新手没有用处?)的命令工具可以参考第七部分的相关内容。

以下给那些对Linux没有概念的新手:1. Linux是大小写敏感的系统,举个例子,Mozilla, MOZILLA, mOzilla和mozilla是四个不同的命令(但是只有第四个mozilla是真正有效的命令)。

还有,my_filE, my_file,和my_FILE是三个不同的文件。

用户的登录名和秘密也是大小写敏感的(这是因为UNIX系统和C语言的传统一向是大小写敏感所致)。

2. 文件名最多可以有256个字符,可以包含数字,点号”.”,下划线”_”,横杆”-”,加上其他一些不被建议使用的字符。

实验五-文件系统实验

实验五-文件系统实验

实验五 EXT4文件系统结构分析一、实验目的:掌握文件系统的工作机理;理解文件系统的主要数据结构;学习较为复杂的Linux下的编程;了解EXT4文件系统的结构。

二、实验平台:虚拟机:VMWare9操作系统:Ubuntu12.04文件系统:EXT4编辑器:Gedit | Vi三、实验内容:(1)该实验要求编写程序,完成以下功能(注意保存截图):1、查看主硬盘设备名、挂载目录及文件系统信息2、程序编译进入check_ext4fs目录,输入 make clean; make编译程序,生成check_ext4fs程序:获取ext4文件系统超级块,并显示超级块数据结构ext4_super_block的字段信息;获取块组描述符表,并能根据输入的块组号显示该块组描述符ext4_group_desc的字段信息;先获取组块描述表info groups [1, 33]获取索引节点表,并能根据输入的索引节点号(比如根目录文件的索引节点号是2),显示其索引节点数据结构ext4_inode的字段信息。

(2)分析上述实验代码,回答下列问题:大小(单位用字节):逻辑块、超级块ext4_super_block、组描述符ext4_group_desc、索引节点ext4_inode;逻辑块大小4096、超级块大小、组描述符ext4_group_desc大小512块、索引节点大小256字节个数及位置:块组0中组描述符占用的块数708及所占块号1057-1568、inode个数及inode表占用的块数1057、块位图block bitmap占用块数1025及所在块号1025、索引节点位图inode bitmap占用块数1041及所在块号1041;验证:执行sudo dumpe2fs /dev/sda1 | more命令,验证上述分析是否正确。

实验总结这次实验中,我了解了文件系统的基本工作原理,也明白了文件系统的主要数据结构,了解了EXT4文件系统的结构。

福大--Linux实验内容

福大--Linux实验内容

福州大学
7
实验4 Linux中的 编辑器和C程序 实验 中的vi编辑器和 程序 中的 编辑器和
1、掌握linux中获取各种帮助的主要方法 、掌握 中获取各种帮助的主要方法 which, whereis, info, --help, man等命令 等命令 2、熟悉vi编辑器的使用,主要掌握各种命令 、熟悉 编辑器的使用, 编辑器的使用 a. 三种使用模式的切换 b. 命令模式下的光标移动、删除、复制、粘贴、撤销 命令模式下的光标移动、删除、复制、粘贴、 c. 扩展命令模式的保存、退出、替换、移动复制、执 扩展命令模式的保存、退出、替换、移动复制、 行命令、缩写替换、 行命令、缩写替换、查找等 要求:编辑一个文本文件 要求:编辑一个文本文件linux.txt, 含20行,每行均为 行 I_LOVE_Linxx_ayy_C 替换成ux, 将yy替换成 将_替换成空格 替换成nd,将 替换成空格 将xx替换成 替换成 替换成 福州大学
8
实验4 C程序和 实验 程序和gdb调试 调试 程序和
要求:写一个C程序完成将命令行输入的所有参数逐行显 要求:写一个 程序完成将命令行输入的所有参数逐行显 示到屏幕上,程序名为arg.c 示到屏幕上,程序名为 #include <stdio.h> main(int argc,char *argv[]) { int i; for(i=0;i<=argc;i++) printf(“%s\n”,argv[i]); } 1. 用vi来写,直接在 中编译程序成 来写, 中编译程序成arg.exe,运行确定问 来写 直接在vi中编译程序成 , 题所在。 题所在。 2. 搜索gdb使用技巧,调试arg.exe,直到找出问题为止。 搜索 使用技巧,调试 ,直到找出问题为止。 使用技巧

实验五 Linux文件系统和权限管理

实验五 Linux文件系统和权限管理

实验5 Linux文件系统和权限管理1 实验目的1、掌握Linux文件系统的控制机制及权限的表示方法。

2、掌握权限管理常用的命令。

2 实验环境VMware中已经安装好CentOS5.4版本。

3 实验原理1、Linux文件系统权限及管理机制可参见教材P83~P84。

2、Linux常用文件权限管理命令主要有:chmod、chown两个,这些命令的使用可参见教材P86~P104或者帮助手册。

4 实验任务1、使用chm od、chown命令完成文件权限的设置、修改等操作。

5 实验步骤1、使用命令查看/etc/hosts文件的权限,其权限是。

2、使用命令可以复制文件/etc/hosts到目录/tmp 下,然后使用命令或设置其读写权限为:文件所有者可以读、写和执行,同组用户可以读和执行,其他用户只可以执行。

(要求使用两种方法实现)3、修改题目2中复制的文件的所有者:所有者为用户test(需要事先创建),组所有者为m ail,使用的命令是。

4、查看系统当前的um ask值,并设置umask值为033,创建文件word,其权限是。

(自己验证。

想一想,为什么?)5、将系统的时间设置为22:10的命令是,将日期和时间按照格式:mm/dd/yy hh:mm:ss显示输出的命令是。

6、保存2009年全年的日历在文件cal2009中的命令是。

7、将2009年1月的日历导出保存到文件cal.1中的命令是,将2009年2月的日历追加到2009年1月的日历后面的命令是。

8、假定需要显示信息:host: 主机名。

使用hostnam e命令替换显示主机的名称的操作是echo “host: “或echo “host: “。

9、假定需要在屏幕上显示** 00000 **,则可以使用命令echo 完成。

福建工程学院国脉信息学院《Linux内核主要是由进程调度

福建工程学院国脉信息学院《Linux内核主要是由进程调度

1.Linux内核主要由进程调度、内存管理、虚拟文件系统、网络接口和进程间通信组成2.从Linux的调度来看,支持非实时(普通)和实时两种进程。

3.考虑到中断处理的效率,Linux的中断处理程序分为两个部分:上半部(top half)和下半部(bottom half)。

由外部设备引发的中断叫外部中断,处理器响应中断请求而执行的程序模块叫中断服务例程4.交换机制:将不用或暂不用的页框中的页移出,装上新的页面;linux三级分页结构5.进程的通信与同步机制有管道、信号、消息队列、共享内存和信号量集等Linux的管道有:匿名管道和命名管道;从信号的可靠性方面可以分为:可靠信号和不可靠信号。

6.linux设备驱动注册的基本参数有设备名称,设备驱动的数据结构、设备号和次设备号。

lsmod 把现在kernel 中已经安装的modules 列出来;insmod 把某个module 安装到kernel.7.Linux五种进程状态就绪可中断等待不可中断等待停止状态、僵尸状态中止状态8.Linux改造后代表有:Kurt-Linux,RED-Linux,RT-Linux、RTAI和Xenomai等。

9.Buddy算法-伙伴算法把内存中所有页面按照2n划分,其中n=0~5,每个内存空间按1个页面、2个页面、4个页面、8个页面、16个页面、32个页面进行六次划分。

划分后形成了大小不等的存储块,称为页面块,简称页块。

包含1个页面的页块称为1页块,包含2个页面的称为2页块,依此类推。

每种页块按前后顺序两两结合成一对Buddy“伙伴”系统按照Buddy关系把具有相同大小的空闲页面块组成页块组,即1页块组、2页块组……32页块组。

每个页块组用一个双向循环链表进行管理,共有6个链表,分别为1、2、4、8、16、32页块链表。

分别挂到free_area[] 数组上。

内存分配时,系统按照Buddy算法,根据请求的页面数在free_area[]对应的空闲页块组中搜索。

实验 Linux文件系统管理实验

实验 Linux文件系统管理实验

auto:自动挂载。 nouser:使一般用户无法挂载。 async:以非同步方式执行文件系统的输入 输出操作。 可见,该列表中光驱和软驱是不自动挂载 的,参数设置为noauto。 注意:如果非要设成自动挂载,则要确保 每次开机时光驱和软驱里都要有盘。
四、实验内容和步骤
1.挂载文件系统 (1)手工挂载文件系统
-o<选项>,指定挂载文件系统时的选项, 有些也可用在/etc/fstab中,常用的有如下几 种。 codepage=XXX:代码页。cp936 iocharset=XXX:字符集。gb2312 ro:以只读方式挂载。 rw:以读写方式挂载。 nouser:使一般用户无法挂载。 user:可以让一般用户挂载设备。
以下是一个/etc/fstab文件的实例: /dev/had3 / ext3 defaults 11 LABEL=/boot /boot ext3 defaults 1 2 /dev/had1 /dosc vfat defaults 0 0 /dev/had2 /dosd vfat defaults 0 0 /dev/had4 swap swap defaults 0 0 /dev/fd0 /mnt/floppy msdos noauto,user 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,user 0 0 None /proc proc defaults 00
此时,可以进入/mnt/cdorm等目录这些文件系 统。 注意:要保证命令不出错,确保光驱里有盘。 如果挂载的是在windows下的文件系统,并且 有中文文件名,用以上命令挂载后,显示一堆乱码。 这时,需要用-o 参数中的codepage iocharset选项。 其中,codepage指定文件系统的代码页,简体中文代 码是936;iocharset指定字符集,简体中文一般用 cp936或gb2312。 当挂载的文件系统linux不支持时,mount一定 出错(如Windows 2000的NTFS)。这时,可以重新 编译linux内核,以获得对该文件系统的支持。

福建工程学院国脉信息学院《linux操作系统的安装》

福建工程学院国脉信息学院《linux操作系统的安装》

学生课程实验报告书课程:《Linux操作系统》
09 级系
专业班
学号:
姓名:
指导教师:陈婧
2012—2013学年第 2 学期
一、实验项目: linux操作系统的安装(red hat)
二、实验日期:20 年月日
三、实验原理:
在PC机上安装linux操作系统,包括系统分区、时区设置、系统根用户口令设置;
四、实验仪器:
PC机
Redhat网络操作系统
五、实验步骤(纸张不够写可另外加纸并应装订):
1.安装虚拟机
3.创建裸机
4.
5.设置裸机参数
7.安装red hat 系统
9.设置系统分区
10.
11.
12.
13.
15.设定系统根用户口令
16.
17.
18.
19.
20.设定时间
21.选择相关安装包
22.进入安装
23.
24.初始化设定
25.重启
26.linux相关命令的使用
27.man命令的使用
28.
29.mkdidr命令的使用(请创建/home/XXX/example目录)
30.
31.
32.cd命令的使用(请进入到/home/XXX/example)
34.ls命令的使用(显示/目录内容)
36.pwd命令的使用
38.cp命令的使用。

(将/home/XXX/example复制到/目录下)
40.rm命令的使用(删除/exa mple目录)
41.
六、指导教师评语:
实验成绩_______________ 指导教师_______________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五(1) Linux文件系统实验
实验目的
学习Linux中文件系统的使用,理解链接、权限的概念和使用;掌握常用的文件系统的系统调用,加深对文件系统界面的理解。

实验内容
1.学习文件链接的概念和使用(步骤一、步骤二)
2.学习文件权限的概念和管理机制,并学会使用(步骤三)
3.学习和文件相关的系统调用和库函数,进行若干编程练习(步骤四,至少完成两例)
实验步骤
一、文件链接与复制(hard link)
1.使用vi a创建一个文件a
Vi a
2.使用ln a b命令创建一个链接
使用cp a c创建一个复制版本
观察3个文件的大小、时间、属主(owner)等属性
3.修改文件a
4.观察文件b的内容,观察文件c的内容,观察3个文件的大小、时间、属主(owner)等属性
5.
6.使用ls –li命令,观察文件a, b, c的inode编号
7.使用rm a删除文件a
8.观察文件b, c是否仍然存在,内容如何
b、c依然存在,b为a改变的内容,c内容不变
9.使用rm b删除文件b,再观察文件b, c是否存在
b不存在,c存在
二、符号链接(软链接)symbolic link / soft link
1.创建文件a
2.使用ln –s a b创建符号一个链接
3.执行上述步骤3-8,观察有什么异同
三、不同用户之间的硬链接和符号链接
1.在用户stu下创建文件a
注意使用chmod命令,将主目录(~stu)权限改为所有其它用户可访问(r-x)(如果不知道chmod命令的用法,可以使用man chmod来查阅)
chmod o+rx ~
2.在另一个登录窗口内(使用Alt+F2切换到另一个登录窗口,使用Alt+F1切换回原登录窗口),以用户stu2登录,分别使用ln ~stu/a ha和
ln –s ~stu/a sa命令创建硬链接ha和符号链接sa
观察3个文件的大小、时间、属主(owner)等属性
3.在用户stu下,修改文件a;在用户stu2下分别观察文件ha和sa的内容
4.在用户stu下,修改文件a的访问权限;在用户stu2下,用ls –l命令观察ha和sa的访问权限、用户属主等信息,并使用cat命令、cp命令、vi命令验证访问控制权限的作用
5.两个用户下,分别使用ls –li命令检查文件a, ha, sa的inode编号,想一下为什么6.在用户stu2下删除ha;观察sa存在与否?用户stu下文件a存在与否?
7.在用户stu下可以删除文件a吗?删除后,用户stu2下的文件sa还存在吗?内容是什么?
四、Linux中与文件系统相关的系统调用
1.通过使用man命令,查阅以下的系统调用的使用手册。

1)文件操作
open, close, read, write, seek
creat, truncate, mknod, dup, dup2
link, unlink, rename, symlink
chmod, chown, umask
fcntl, flock, fstat, lstat, stat, utime
fsync, fdatasync
2)目录操作
mkdir, chdir, rmdir
readdir, getdents
3)库函数
fopen, fclose, fread, fwrite, fscanf, fprintf, fseek ,ftell, feof等
2.文件系统的系统调用的编程练习
利用上面的系统调用,试写出自己的命令程序,完成以下功能(要求:1)-7)至少完成5例,8)-10)至少完成2例):
1)如何创建一个文件?
2)如何删除一个文件? (rm 命令)
3)如何将一个文件拷贝到另一个文件? (cp 命令)
4)如何重命名一个文件? (mv file命令)
5)如何截断一个文件(或使其长度为零)?How to truncate a file (or make it be of length
zero)?
6)如何向一个文件中追加内容?
7)如何锁定一个文件? (read lock, write lock)
8)如何创建一个目录? (mkdir 命令)
9)如何删除一个目录? (rmdir 命令)
10)如何遍历一个目录(或称浏览该目录下所有文件?)?(ls –lR 命令)
实验五(2) Linux文件系统实验
实验内容:
1.仔细阅读以下代码;
2.画出系统功能框图
3.程序注释
4.截屏程序运行结果,分析说明结果。

#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<syslog.h>
#include<string.h>
#include<stdlib.h>
#define MAX 128
int chmd();
int chmd ()
{
int c;
mode_t mode=S_IWUSR;
printf(" 0. 0700\n 1. 0400\n 2. 0200 \n 3. 0100\n "); //还可以增加其它权限printf("Please input your choice(0-3):");
scanf("%d",&c);
switch(c)
{
case 0: chmod("file1",S_IRWXU);break;
case 1: chmod("file1",S_IRUSR);break;
case 2: chmod("file1",S_IWUSR);break;
case 3: chmod("file1",S_IXUSR);break;
default:printf("You have a wrong choice!\n");
}
return(0);
}
main()
{
int fd;
int num;
int choice;
char buffer[MAX];
struct stat buf;
char* path="/bin/ls";
char* argv[4]={"ls","-l","file1",NULL};
while(1)
{
printf("********************************\n");
printf("0. 退出\n");
printf("1. 创建新文件\n");
printf("2. 写文件\n");
printf("3. 读文件\n");
printf("4. 修改文件权限\n");
printf("5. 查看当前文件的权限修改文件权限\n");
printf("********************************\n");
printf("Please input your choice(0-6):");
scanf("%d",&choice);
switch(choice)
{
case 0:close(fd); //关闭file1文件
exit(0);
case 1:
fd=open("file1",O_RDWR|O_TRUNC|O_CREAT,0750); /*创建file1*/ if(fd==-1)
printf("File Create Failed!\n");
else
printf("fd = %d\n",fd); /*显示file1*/
break;
case 2:
num=read(0,buffer,MAX); //从键盘里面读取最多128个字符
write(fd,buffer,num); //把读入的信息送到file1里面去
break;
case 3:
/* 把file1文件的内容在屏幕上输出*/
read(fd,buffer,MAX);
write(1,buffer,num);
break;
case 4:
chmd ();
printf("Change mode success!\n");
break;
case 5:
execv(path,argv); //执行ls –l file1
break;
default:
printf("You have a wrong choice!\n");
}
}
}。

相关文档
最新文档