搜档网
当前位置:搜档网 › 实验5:Linux文件操作

实验5:Linux文件操作

实验5:Linux文件操作
实验5:Linux文件操作

实验报告5

课程名称:Linux程序设计实验名称:Linux文件操作

学生姓名:班级:学号:

指导老师:钱振江成绩:

一、实验目的

1.掌握系统函数system、chmod、stat的应用;

2.掌握常用文件类型判断的程序设计;

3.掌握有关文件目录操作函数scandir等的应用。

二、实验任务与要求

1.应用函数system、chmod、stat获取文件属性的程序设计;

2.使用文件属性st_mode判断文件类型的程序设计;

3.文件目录操作函数scandir等的程序设计。

三、实验工具与准备

计算机PC机,Linux Ubuntu操作系统

四、实验步骤与操作指导

1.调试下列程序。

操作步骤

步骤1 编辑源程序代码。

[root@localhost root]#vi 5-1.c

程序代码如下:

/*5-1.c 获取“/etc/passwd”文件的大小*/

#include

#include /*文件预处理,包含stat函数库*/

int main () /*C程序的主函数,开始入口*/

{

struct stat buf;

system("vim /home/liu");

chmod("/home/liu",S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);

stat("/home/liu",&buf);

printf("“/etc/passwd”文件的大小是:%d\n",buf.st_size);

return 0;

}

步骤2 编译程序。

[root@localhost root]#gcc -o 5-1 5-1.c

步骤3 执行程序。

[root@localhost root]#./5-1

问题思考:

(1)修改程序,能够显示文件权限的所有者及最后一次文件修改的时间;

(2)终端命令ls有使用格式:“ls -l”,请修改程序,程序的功能尽可能接近此命令文件。

2.程序设计题。设计一个程序,要求判断“/etc/passwd”的文件类型。提示:使用st_mode 属性,可以使用几个宏来判断:S_ISLNK(st_mode) 是否是一个连接,S_ISREG是否是一个常规文件,S_ISDIR是否是一个目录,S_ISCHR是否是一个字符设备,S_ISBLK是否是一个块设备,S_ISFIFO是否是一个FIFO文件,S_ISSOCK是否是一个SOCKET文件。

3.调试下列程序。程序的功能是打印系统目录“/etc/rc.d”下所有的文件和子目录的名字。

操作步骤

步骤1 编辑源程序代码。

[root@localhost root]#vi 5-2.c

程序代码如下:

/*5-2.c程序:读取系统目录文件“/etc/rc.d”中所有的目录结构*/

#include

#include

#include

#include

int main()

{

DIR * dir;

struct dirent * ptr;

dir=opendir("/etc/rc.d");

printf("/etc/rc.d目录中文件或子目录有:\n");

while((ptr = readdir(dir))!=NULL)

{

printf("%s\n",ptr->d_name);

}

closedir(dir);

}

问题思考:

(1)修改程序,要求读取“/etc”目录下所有的目录结构,并依字母顺序排列。

#include

考虑以下语句:

scandir("/etc",&namelist,0,alphasort);

程序段:

while(n--)

{

printf("%s\n", namelist[n]->d_name);

free(namelist[n]);

}

4. 调试并分析下列程序的结果。程序的功能是用递归的方法列出某一目录下的全部文件的大小和文件夹及创建日期,包括子文件和子文件夹。

操作步骤

步骤1 编辑源程序代码。

[root@localhost root]#vi 5-3.c

程序代码如下:

#include

#include

#include

#include

#include

#include

#include

char *wday[]={"日","一","二","三","四","五","六"};

void list(char *name,int suojin)

{

DIR *dirname;

struct dirent *content;

struct stat sb;

struct tm *ctime;

int i;

if((dirname=opendir(name))==NULL)

{

printf("该目录不存在\n");

return;

}

chdir(name);/*改换工作目录*/

while((content=readdir(dirname))!=NULL)

{

for(i=0;i

putchar('\t');

if(content->d_type==4)

printf("目录\t");

else if(content->d_type==8)

printf("文件\t");

else

printf("其他\t");

stat(content->d_name,&sb);

ctime=gmtime(&sb.st_mtime);

printf("%d年%d月%d日星期%s %d:%d:%d\t",ctime->tm_year+1900,

1+ctime->tm_mon,ctime->tm_mday,wday[ctime->tm_wday],ctime->tm_hour,

ctime->tm_min,ctime->tm_sec);

printf("%d\t",sb.st_size);

printf("%s\n",content->d_name);/*列出目录或文件的相关信息*/

if(content->d_type==4&&strcmp(content->d_name,"..")&&strcmp(content->d_name,".")) {

list(content->d_name,suojin+1);/*如果是目录,则递归列出目录里的内容*/ }

}

closedir(dirname);

chdir("..");/*当该层目录中的文件列完后,返回父目录*/

}

int main(int argc,char *argv[])

{

char name[256];

printf("类型\t最后修改时间\t\t\t大小\t文件名\n");

printf("*******************************************************\n"); if(argc==1) {

printf("Enter directory name:");

scanf("%s",name);

list(name,0);

}

else

{

list(argv[1],0);

}

}

linux实验报告

实验一 实验名称:Linux 基本命令的使用 实验时间:2学时 实验目的:熟练使用Linux字符界面、窗口系统的常用命令。 实验内容 (一)Linux操作基础 1.重新启动linux或关机(poweroff,shutdown,reboot,init 0,init 6) 2.显示系统信息(uname),显示系统日期与时间,查看2014年日历(date,cal) ①uname:查看系统与内核相关信息 uname -asrmpi 参数: -a :所有系统相关的信息; -s: 系统内核名称; -r: 内核的版本; -m:本系统的硬件名称,如i686或x86_64; -p: CPU的类型,与-m类似,只是显示的是CPU的类型; -i :硬件的平台(ix86). ②date:显示日期的命令 ③cal:显示日历 单独cal:列出当前月份的日历 cal 2014:列出2014年的日历 cal 5 2014:列出2014年五月的目录 3.使用帮助命令(man,help) ①man:是manual(操作说明)的简写,是在线帮助系统 man后跟某个命令就会详细说明此命令,例如:man man就会详细说明man 这个命令的用法; ②help:也是帮助命令,一般会在命令后,例如:cd --help 就会列出cd命令的使用说明。 4.查看当前登陆用户列表(who),显示当前用户(whoami) ①who:显示目前已登录在系统上面的用户信息; ②whoami:查询当前系统账户 5.建立一个新用户mytest,设定密码(useradd,passwd) ①useradd mytest(建立新用户mytest);

实验一Linux基本操作实验报告

实验一 Linux基本操作 一.实验目的: 1. 二.实验环境: 虚拟机+Red Hat Enterprise Server 5.0 三.实验内容: 根据以下的文字提示,调用相应的命令来完成,记录相应的运行结果。一)用户和组基本操作 1.添加一个user01用户,家目录为/home/sub2,并设置密码 2.添加一个group1 组 3.将user01用户添加到group1组中 4.修改group1组名称为group2 5.修改user01的家目录为/home/user01 6.判断/etc/password这个目录是否包含user01这个用户 7.修改user01的shell为/bin/tcsh 8.添加一个group3组,把user01和root用户都添加到该组

https://www.sodocs.net/doc/ed898890.html,er01用户从group2组切换到group3组 10.设置user01的密码在2012-5-20过期 11.把/home/user01目录所属的组修改为group3 12.删除user01帐号 13.查看内核版本号 二)进程管理 1.运行cat命令:vi test,输入若干字符如this is a example,挂起vi进程 2.显示当前所有作业 3.将vi进程调度到前台运行

4.将vi进程调度到后台并分别用kill/pkill/killall命令结束该该进程。 三)磁盘管理 1.通过fdisk 将为硬盘增加一个分区(主分区或者逻辑分区)。 2.并格式化ext3系统,

3.检测分区是否有坏道 4.检测分区的完整性 5.加载分区到/mnt目录(或者其他分区)下,并拷贝一些文件到该目录下 6.(选做)为test用户设置磁盘配额(软限制和硬限制参数自行设定) 7.退出/mnt目录后卸载该分区 8.用du查看/usr目录的大小

LINUX操作系统实验报告

中国地质大学江城学院 LINUX操作系统实验报告 姓名 班级学号 指导教师冯春华 2012 年月日

实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替 换与别名,管道及输入输出重定向。 实验内容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/named.conf”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。 4、使用管道方式分页显示/var目录下的内容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1、 2、 3、 4、 5、

实验二文件和目录操作命令 实验目的: 1、掌握LINUX下文件和目录的操作命令,如pwd、cd、ls、touch、mkdir、rmdir、cp、 mv、rm等。 2、掌握LINUX下建立链接文件的方法。 实验内容: 1、使用命令切换到/etc目录,并显示当前工作目录路径。 2、使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。 3、使用命令创建空文件/root/ab,并将该文件的时间记录更改为8月8日8点8分。 4、使用命令创建具有默认权限为744的目录/root/ak,然后将/etc/named.conf文件复制到该目录中,最后将该目录及其目录下的文件一起删除。 5、统计文件/etc/named.conf的行数、字符数和单词数。 6、使用命令创建/root/a文件的硬链接文件/root/b和软链接文件/root/c。 实验步骤及结果:

实验5_Linux文件压缩命令

实验5: Linux文件压缩命令 实验目标 了解文件压缩、解压的作用; 掌握Linux文件压缩/解压命令; 知识准备 Linux文件压缩软件包括tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、zip、unzip、rar、unrar等,使用它们可以对.tar、.gz、.tar.gz、. tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar 等压缩包文件进行操作。 (1)tar命令 tar 可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。 语法:tar [主选项+辅选项] 文件或者目录 主选项: c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。t 列出档案文件的内容,查看已经备份了哪些文件。 u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。 x 从档案文件中释放文件。 辅助选项: b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。 f 使用档案文件或设备,这个选项通常是必选的。 k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。 m 在还原文件时,把所有文件的修改时间设定为现在。 M 创建多卷的档案文件,以便在几个磁盘中存放。 v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。 w 每一步都要求确认。 z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。 (2)gzip命令 减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。 语法:gzip [选项]压缩(解压缩)的文件名 各选项的含义: -c 将输出写到标准输出上,并保留原有文件。 -d 将压缩文件解压。 -l 对每个压缩文件,显示下列字段: 压缩文件的大小

Linux操作系统实验教程

Linux操作系统实验教程 第1章Linux系统概述 一、Linux系统结构 从操作系统的角度来分析Linux,它的体系结构总体上属于层次结构如下图所示: 从内到外包括三层:最内层是系统核心,中间是Shell、编译编辑实用程序、库函数等,最外层是用户程序,包括许多应用软件。 从操作系统的功能角度来看,它的核心有五大部分组成:进程管理、存储管理、文件管理、设备管理、网络管理。各子系统实现其主要功能,同时相互之间是合作、依赖的关系。进程会管理是操作系统最核心的内容,它控制了整个系统的进程调度和进程之间的通信,是整个系统合理高效运行的关键; 存储管理为其他子系统提供内存管理支持,同时其他子系统又为内存管理提供了实现支持,例如要通过文件管理和设备管理实现虚拟存储器和内外存的统一管理。 二、配置一个双引导系统 如果计算机中已经安装了其他操作系统,并想创建一个引导系统以便兼用Red Hat Linux和另外的操作系统,需要使用双引导。机器启动时,可以选择其中之一,但不能同时使用两者。每个操作系统都从自己的硬盘驱动器或硬盘分区中引导,并使用自己的硬盘驱动器或硬盘分区。 如果计算机上还没有安装任何操作系统,可以使用专门的分区及格式化软件给Windows创建指定大小的分区,Windows的文件系统为FAT,再为Linux系统创建所需要大小的分区(4G或更大),另外再给Linux留100MB 左右的交换分区,Linux的文件系统为ext2。然后就可以安装系统了。应首先安装Windows,然后再安装Red Hat Linux。如果只进行了分区而没有格式化各分区,在安装时可以使用Windows自带的格式化程序和Linux自带的格式化程序进行各自分区的格式化。 当Windows已经被安装,而且已为Linux准备了足够的磁盘空间,就可以安装Linux了。Red Hat Linux安装程序通常会检测到Windows并自动配置引导程序来引导Windows或Red Hat Linux。

linux实验五

北京林业大学 2014学年—2015学年第 2 学期 Linux应用实验任务书专业名称:网络工程班级: 姓名:学号: 实验题目:实验五 Linux下的Socket和Shell脚本编程初步实验环境: Linux终端/或基于Linux的Eclipse集成开发环境实验目的: 进一步熟悉练习Linux的socket和shell脚本编程。 实验内容: 1.Socket:编写一个简单的服务器、客户端(使用TCP)——服务器端一直 监听本机的5656号端口;如果收到连接请求,将接收请求并接收客户端发来的消息;客户端与服务器端建立连接并发送一条消息。 运行结果显示如下: 代码程序如下所示:

//server.c //client.c

2.Shell脚本(Shell Script):是一种为shell编写的脚本程序。但要知道, shell和shell script是两个不同的概念。

解释型语言也被称作“脚本语言”。执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。脚本编程语言的例子有awk、Perl、Python、Ruby 与Shell。 很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。 (1) // a=string1;b=string2;根据前后文继续补充。。。

实验5 Linux文件系统实验

实验五 Linux文件系统实验 实验内容: 1.仔细阅读以下代码; 2.画出系统功能框图 3.程序注释 4.运行程序,写出程序执行结果,并分析说明。 #include #include #include #include #include #include #include #include #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); exit(0); case 1: fd=open("file1",O_RDWR|O_TRUNC|O_CREAT,0750); if(fd==-1) printf("File Create Failed!\n"); else printf("fd = %d\n",fd); break; case 2: num=read(0,buffer,MAX); write(fd,buffer,num); break; case 3: read(fd,buffer,MAX); write(1,buffer,num); break; case 4: chmd (); printf("Change mode success!\n"); break; case 5: execv(path,argv); break;

Linux 实验合集#精选.

一. 1)启动Linux操作系统,并启动KDE图形桌面。熟悉各屏幕元素。通过KDE编辑器编辑两个文本文件file1、file2。 新建一个文本文件vi New Filename 编辑一个已有的文件vi Filename 2)在主目录下创建文件夹exercise,将文件file1、file2移到新建的目录下。然后分别采用回收站和删除方式删除文件fiel1、file2。注意比较它们的区别。 移动mv file1 file2 /home/exercise 删除rm file1 3)定制KDE桌面,将虚拟桌面的个数改为5个,并为它们设置不同的背景。 4)在Linux图形用户界面下,创建一个新用户(普通用户) 。 adduser username 5)在Linux图形用户界面下,按下组合键(或)切换到虚拟控制台1,以root超级用户身份登录。 6)按下组合键 (或)切换到虚拟控制台2,以在第(1)步中所创建的普通用户身份登录。 二. 2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。 date:显示日期/ cal:显示日历/ who:列出所有正在使用系统的用户、终端名、注册时间/echo:标准输出/clear:清屏 3.浏览文件系统: 1)运行pwd命令,确定当前工作目录。 pwd:显示当前工作目录的绝对路径 2)运行ls -l命令,理解各字段含义。 -l: 以长格式显示文件的详细信息 如:-rw-r--r-- 1 peter peter 19 2012-05-11 19:19 Test03 文件类型权限、连接数、文件主、文件组、文件大小、建立或最近修改的时间、文件名 3)运行ls –ai ,理解各字段含义。 -a: 显示指定目录下所有子目录和文件 -i: 在输出的第一列显示文件的I节点号 4)使用cd命令,将工作目录改到根(/)上。 运行ls –l命令。 5)直接使用cd,回到哪里了?用pwd验证。 cd: 将当前目录改到用户的主目录(非根目录) 6)用mkdir建立一个子目录subdir。 mkdir subdir 7)将工作目录改到subdir。 cd dir

实验4 文件和目录操作

《Linux操作系统》课程实验报告 班级:姓名:实验地点:日期: 实验4 文件和目录操作 一、实验目的 1、理解Linux文件系统的结构和目录组织方式; 2、掌握Linux常用目录和文件命令的使用。 二、实验内容与要求 以root用户身份登录Linux 1、Linux目录管理命令 (1)用pwd显示当前工作目录路径; (2)用cd命令先转到/home目录,再转到根目录; (3)用ls命令列出根目录下的所有文件和目录; (4)在/home目录下建立如下图所示的目录结构: (5)将目录temp4删除。 2、文件管理命令 (1)用cat命令在st目录下建立两个文件file1和file2,文件内容如下所示。然后用cat 命令将文件file1和file2的内容合并起来放到文件file3中。 file1文件内容: I love Linux 1 I love Linux 2 I love Linux 3 I love Linux 4 I love Linux 5 file2文件内容: I love Linux 6 I love Linux 7

I love Linux 8 I love Linux 9 I love Linux 10 (2)用touch命令更新文件file3的修改日期和时间(更新为你的生日) (3)cp命令 ①文件复制:将st目录下的file1、file2、file3复制到temp1目录下(可考虑使用通配符) ②目录复制:将temp1目录复制到temp2目录下(即temp1作为temp2的子目录) (4)mv命令 ①重命名:将st目录下的文件file3重命名为myfile ②文件移动:将st目录下的文件myfile移至temp2/temp1目录下 (5)rm命令 将temp2目录下的所有文件和子目录删除 3、显示文件内容命令 练习用cat命令显示文件file2的内容 三、实验环境 VMware+RHEL5 四、实验步骤及结果 步骤1:打开vmware,启动rhel5,以root用户登录系统。 步骤2:右键单击rhel5的桌面,在弹出的菜单中选择“打开终端”命令,打开伪终端窗口。步骤3:在命令提示符下输入pwd命令显示当前工作目录路径 步骤4:用cd /home命令先转到/home目录,再用cd /命令转到根目录; 步骤5:用ls-a命令列出根目录下的所有文件和目录; 步骤6:在/h ome目录下建立如下图所示的目录结构: 五、实验总结

Linux操作系统实验指导书

《Linux系统管理与维护》实验指导书 实验一初识Linux操作系统 一实验名称 初识Linux操作系统 二实验目的与要求 掌握Linux的启动、登录与注销。 三实验内容 1.以root用户和普通用户两种不同身份登录Linux,说出其登录后得差异。 2.图形模式下的注销、重启与关机。 3.学会在虚拟机上登录和注销Linux。 四操作步骤与结果分析 五问题与建议

实验二Linux的桌面应用 一实验名称 Linux的桌面应用 二实验目的与要求 熟悉Linux操作系统桌面环境 熟悉Linux文件系统及常用的操作 掌握Linux下使用外部存储设备、网络设备 掌握Linux下安装应用程序 三实验内容 1.查看GNOME提供的“应用程序”、“位置”或者“系统”菜单,运行其中的应用程 序和工具。 2.查看Linux文件目录结构,学会常用的文件目录操作,如复制、粘贴、移动、删 除、更名、创建文档、创建文件夹等。 3.练习在Linux下使用光盘和U盘。 4.学会网络配置,使计算机能够进行网络浏览等操作。 5.学会在Linux下安装新的应用软件。 四操作步骤与结果分析 五问题与建议

实验三Linux操作系统的安装 一实验名称 Linux操作系统的安装 二实验目的与要求 掌握安装Linux操作系统 三实验内容 1.通过学习《项目五Linux操作系统的安装及远程服务》的内容,学会如何安装Linux。 环境:windows 系统、vmware虚拟机、Redhat Linux镜像光盘。 通过安装向导将安装分为两步:1、基本安装,2、配置及具体安装。 在第一阶段重点如何分区,在第二阶段重点掌握如何设置密码及安装桌面环境。四操作步骤与结果分析 五问题与建议

操作系统实验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实验八报告

T923-1 刘彬20090230139 实验八系统及网络管理 一、实验目的 1.理解系统管理的内涵和作用。 2.学会对用户和组进行一般的管理。 3.掌握文件系统的装载和卸载。 4.学会网络配置的一般方法。 二、实验内容 1.Shell命令方式下为新用户建立帐号和工作组,删除本地用户和组。 2.图形方式下为新用户建立帐号和工作组,删除本地用户和组。 3.手工挂载和卸载文件系统。 4.配置网络。 三、实验注意事项 实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。 要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。 用户要按通常实验要认真书写实验报告。 四、实验主要步骤 (一)Linux的用户管理 1.创建新用户 创建一个用户帐号徐完成以下步骤: ①添加一个记录到etc/passwd文件中。 添加命令为:useradd。 例如,创建新用户user01的命令如下: useradd -c“normal user”-d /home/user01 –g users\ -G student,computer –s /bin/bash user01 -c “normal user”:“normal user”是对该用户的注释。 -d /home/user01:指定用户的工作目录(宿主目录)为/home/user01。 –g users\:定义user01所属的组为users。 -G student,computer:同时将user01归属于student和computer组。 –s/bin/bash:指定用户所启动的shell为/bin/bash。 在Linux中,创建用户后,必须为用户设置密码。 ②设置用户密码。 例如,为user01设置密码的命令如下: passwd user01 为安全起见,密码的设置不要过于简单。 在实际使用中,系统可以根据当前的运行情况自动确定用户的参数。

Linux实验五

常熟理工学院《Linux程序设计》实验报告 —学年第学期 专业 班级 学号 姓名 实验地点 指导教师刘在德 计算机科学与工程学院

实验要求 1.每次实验前,认真复习与本次实验有关的教学内容,认真预习本次实验内容。2.按照实验要求认真完成实验,把实验内容详细记入实验报告。 3.每一次新实验,实验报告另起一页。 4.报告封面要求(1)信息填写完整;(2)下划线右对齐,力求做到美观大方。5.打印实验报告(包括封面及本页),装订成册。 6.严谨抄袭,如果有n人实验报告内容雷同,每人得分为总分除以n。

实验五 Shell程序设计(二)(四号黑体) 【一】实验目的(小四黑体) 1.掌握Shell环境变量和系统变量 2.掌握算术表达式和逻辑测试表达式 3.掌握选择结构和循环结构 4.能综合运用上述知识编写复杂的Shell脚本程序 【二】试验预习(小四黑体) 1.常用环境变量有LOGNAME、HOSTNAME、HOME、PWD、PATH等,引用环境变量采用“$环境变量”,如$PATH 2.常用系统变量有$#、$*、$@、$i、$?、$$等 $#:传递给脚本程序的总的参数数目(不包括脚本名) $*:传递给脚本程序的所有参数组成的字符串 $@:传递给脚本程序的各个参数组成的字符串 $0:脚本程序名 $1~$9:传递给脚本程序的第一到第九个参数,${10}表示第十个参数 $?:Shell命令的返回值(退出状态),正常退出返回0,反之为非0值 3.算术表达式采用“((算术表达式))”,语法与C语言类似,比如a=10;b=20;sum=((a+b));echo $sum 也可以采用“expr 算术表达式”来实现,比如 a=10;b=20;sum=`expr $a + $b`;echo $sum 说明:①“((算术表达式))”中,变量名前不加$;而“expr 算术表达式”要加。 ②expr中表达式的运算符+前后有空格。如果运算符为特殊符号,前面加\,比如*(乘),写成\* 4.逻辑测试表达式采用“test 表达式”或者“[ 表达式]”(注意[ ]与表达式之间的空格)实现。表达式中运算符包括: 字符串比较:=、!=、>、<、-n、-z 算术运算符:-eq、-ge、-le、-ne、-gt、-lt 逻辑运算符:!、-a、-o 文件测试符:-d、-f、-x、-r、-w、-s等 小括号():改变运算符优先级 5.if语句 if [ 表达式1 ] then

2016-Linux文版-实验5-用户与组群管理-学生实验报告模板-P课件

C H A N G Z H O U U N I V E R S I T Y 实 验 报 告 课程名称: Linux 操作系统 实验名称: 实验5、用户与组群管理 学 生 姓 名: 孙文浩 班 级 计算机141 学 号 14416122 学 院(系): 信息数理学院 指 导 教 师: 庄丽华 实验时间: 2016 年 10 月 25 日 实验成绩:

实验五、用户与组群管理 一、实验要求 (1)掌握利用shell命令管理用户与组群的方法; (2)掌握批量新建用户账号的步骤和方法。 二、实验内容和实验步骤 1、利用shell命令管理用户与组群的方法 【操作要求1】新建一名为duser的用户,设置口令为“123456”,主要组群为myusers。【操作步骤】 (1)进入终端,以超级用户身份登录。 (2)输入命令:groupadd myusers建立组群。 (3)输入命令:useradd – g myusers duser,建立新用户duser,其主要组群是myusers。(4)为新用户设置口令,输入命令:passwd duser,根据屏幕提示输入两次口令,最后屏幕提示口令成功设置信息。 (5)输入命令:cat /etc/passwd,查看/etc/passwd文件的内容,发现文件的末尾增加了duser 用户信息。 (6)输入命令:cat /etc/group,查看cat /etc/group文件的内容。以上步骤截图: (7)按【Alt+F4】组合键,切换到第四个虚拟终端,输入duser用户名和口令登陆到linux 系统。 (8)输入命令:exit,duser用户退出登陆。 【操作要求2】将duser用户设置为不需要口令就能登陆。 【操作步骤】 (1)按【Alt+F3】组合键,切换到正被超级用户使用的第3个虚拟终端。

linux操作系统实验报告

LINUX操作系统实验报告 姓名 班级学号 指导教师 2011 年 05月 16 日 实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替

换与别名,管道及输入输出重定向。 实验容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,容是hello,然后再使用追加重定向输入容为word。 4、使用管道方式分页显示/var目录下的容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输入 命令Shutdown -h 30 2、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。查看目录下的容,只要在终端输入命令即可。取消更改的名称用命令unalias 命令:在命令后输入要取消的名称,再输入名称。 3.输入命令将文件容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入容为word。步骤与输入容HELLO一样,然后用命令显示文件的全部容。 4.使用命令ls /etc显示/etc目录下的容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

linux实验报告

Linux技术上机实验指导

实验一Linux系统安装与简单配置 一、实验目的 1.掌握Linux系统安装的分区准备。 2.掌握Linux系统的安装步骤。 3.掌握Linux系统分区的挂载和卸载。 4.掌握Linux系统的启动和关闭操作。 二、实验内容 1.安装VMware虚拟机,设置光盘驱动器,为Linux系统安装做准备。2.在虚拟机下安装Linux操作系统(如Ubuntu桌面版本)。 3.配置Linux系统运行环境。 4.利用空闲分区创建新的Linux系统分区。 5.将新的Linux系统分区挂载到系统中;卸载新挂载的分区,重新挂载到目录树中的其他位置。 三、主要的实验步骤 1.制定安装系统的分区计划。 2.配置光驱引导镜像文件iso,启动系统,开始安装过程。 3.根据安装计划,对磁盘空间进行分区设置。 4.根据系统安装指导,完成Linux系统的安装过程。 5.安装成功后,退出系统,重新启动虚拟机,登陆Linux操作系统。6.对Linux系统进行配置,如网络设备等。 7.利用磁盘使用工具和mount,将新创建的Linux系统分区挂载到系统中。将新挂载的分区卸载,并重新挂载到目录树的其他位置。

实验二Linux常用命令使用 一、实验目的 1.掌握Linux一般命令格式。 2.掌握有关文件和目录操作的常用命令。 3.熟练使用man命令。 二、实验内容 1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。2.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。 3.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。 4.利用man命令显示date、echo等命令的手册页。 5.显示系统中的进程信息。 三、主要实验步骤 1.登陆进入系统,修改个人密码。 2.使用简单命令:date、cal、who、echo、clear等,了解Linux命令格式。Date:

linux操作系统实验指导书第2周

第3周Linux文件与目录管理 一、实验内容 1.练习Linux文件和目录操作命令。 2.实验目的练习Linux文件权限和文件查找命令。 二、实验目的 1.掌握文件与目录管理命令 2.掌握文件内容查阅命令 3.了解文件与目录的默认权限与隐藏权限 4.掌握如何改变文件属性与权限 5.掌握命令与文件的查询方法 三、实验题目 1. 文件与目录管理 (1) 查看Ubuntu根目录下有哪些内容? (2) 进入/tmp目录,以自己的学号建一个目录,并进入该目录。 (3) 显示目前所在的目录。 (4) 在当前目录下,建立权限为741的目录test1,查看是否创建成功。 (5) 在目录test1下建立目录test2/teat3/test4。 (6) 进入test2,删除目录test3/test4。 (7) 将root用户家目录下的.bashrc复制到/tmp下,并更名为bashrc (8) 重复步骤6,要求在覆盖前询问是否覆盖。 (9) 复制目录/etc/下的内容到/tmp下。 (10) 在当前目录下建立文件aaa。 (11)查看该文件的权限、大小及时间 (12) 强制删除该文件。 (13) 将/tmp下的bashrc移到/tmp/test1/test2中。 (14) 将/test1目录及其下面包含的所有文件删除。 2. 文件内容查阅、权限与文件查找 (1) 使用cat命令加行号显示文件/etc/issue的内容。 (2) 反向显示/etc/issue中的内容。 (3) 用nl列出/etc/issue中的内容。

(4) 使用more命令查看文件/etc/man.config (5) 使用less命令前后翻看文件/etc/man.config中的内容 (6) 使用head命令查看文件/etc/man.config前20行 (7) 使用less命令查看文件/etc/man.config后5行 (8) 查看文件/etc/man.config前20行中后5行的内容 (9) 将/usr/bin/passwd中的内容使用ASCII方式输出 (10) 进入/tmp目录,将/root/.bashrc复制成bashrc,复制完全的属性,检查其日期 (11) 修改文件bashrc的时间为当前时间 3. 文件权限 (1) 执行echo pwd >> pwd.sh,然后使用ls -al查询一下,发生了什么事? (2) 以两种方式查看系统中新建文件或目录的默认权限 (3) 新建文件test1和目录test2,查看它们的权限是否与(2)中的默认权限相符 (4) 修改pwd.sh文件权限为r-xr--r--。 (5) 执行pwd.sh。(提示:执行本路径下文件的命令是./文件名)。 (6) 添加用户stu,修改密码为123。 (7) 修改文件test1的属主为stu,test1所属的组为stu。 (8)增加test1的属主具有可执行的权限。 4. 文件查找 (1) 查看文件/root/.bashrc的类型 (2) 查询ifconfig和cd命令的完整文件名 (3) 只找出跟passwd有关的“说明文件”文件名 (4) 找出系统中所有与passwd相关的文件名 (5) 将过去系统上面3天前的24小时内有改动(mtime)的文件列出 (6) 使用find查找当前目录下比man.config新的文件,并存储到man.config.new文件。 (7) 列出/etc下比/etc/man.config新的文件 (8) 查找系统中所有属于root的文件及不属于任何人的文件 (9) 使用find查找/下面所有名称为man.config的文件。 (10) 找出文件名为man.config的文件 (11) 使用locate查找所有名称为man.config的文件。 (12) 11步和12步的结果一样么?为什么? (13) 找出/etc下文件类型为f的文件 (14) 找出系统中大于1M的文件

linux操作系统实验五

linux操作系统实验五

实验五进程管理子系统——进程控制 实验类别:设计型实验时数:6学时 开课单位:计算机学院 实验地点:健翔校区计算中心 一、实验目的 ◆掌握进程的概念,深入理解进程的含义。认识并理解并发环境中进程执 行的实质问题,了解构成并发机制的进程创建过程。能够使用系统调用完成进程创建,形成多个进程并发的环境。 ◆了解在进程创建后通过对进程控制的系统调用,可实现对进程的有效控 制。掌握在进程执行中对进程进行睡眠、同步、撤销等控制方法。 ◆进一步认识并发执行的实质,分析进程竞争资源的现象,学习解决进程 互斥的方法。 二、实验环境 操作系统:任何Unix/Linux及Sun Solaris 或windows 系列 应用系统:gcc编译器。若OS为windows系列,则还需相应的模拟环境 三、预备知识 1、L INUX系统中进程的含义

在LINUX中,进程既是一个独立拥有资源的基本单位,又是一个独立调度的基本单位。进程是并发环境中的实体,每个进程用一个task_struct的数据结构来表示,用来管理系统中的进程,因而task_struct就是LINUX系统中的PCB。另外,系统内核中还有一个task向量表,是指向系统中每一个task_struct数据结构的指针的数组,因而task向量表就是LINUX系统中的PCB表。 2、L INUX中的进程创建 除了init进程外,LINUX中的所有进程都是由其他进程创建的。LINUX 中提供了系统调用fork和clone,可被进程用来创建子进程。但系统调用fork 和clone其实都是调用内核函数do_fork(),通过克隆当前进程来创建子进程的。 四、实验内容 本实验要求在LINUX/UNIX环境下用C语言编写三个多进程并发执行的程序,基本涉及了LINUX/UNIX进程管理子系统中较为常用的有关进程控制的系统调用。实验内容如下: (1)使用fork()系统调用创建进程,使父、子进程分别运行不同的代码(要 求子进程在父进程之前运行): 子进程:①以长格式显示当前目录的情况;②分屏显示file1的内容。 父进程:①对1—100之间的自然数求和;②分屏显示file2的内容。 程序可能涉及到的系统调用:fork(), exec(), wait() 1

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

操作系统实验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;

相关主题