文档库 最新最全的文档下载
当前位置:文档库 › Linux实验报告(2)

Linux实验报告(2)

Linux实验报告(2)
Linux实验报告(2)

Linux 实验报告姓名

黄芳恺

班级软件工程114

学号119074258

指导教师阮越

目录

实验一 Linux基本命令的使用

实验二简单Shell程序设计

实验三 Linux下简单C程序设计与文件操作实验四 Linux下进程操作与进程间通信

实验五 Linux线程的使用

实验六 Linux进程间的IPC

实验七 Linux下访问Mysql数据库

实验八 Linux下网络编程

练习题: grep、 bash、生产者消费者

实验一 Linux基本命令的使用

1、实验目的

学习和掌握 Linux 的基本命令。

2、实验内容和步骤

步骤 1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。

步骤 2 :使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。

步骤 3:使用 pwd 命令察看当前的工作目录,然后用ls命令查看当前目录下的内容,尝试使用 -a,-l,-F,-A,-lF等不同选项并比较不同之处。

-a do not ignore entries starting with

-I, --ignore=PATTERN do not list implied entries matching shell PATTERN

-l use a long listing format

-F, --classify append indicator (one of */=>@|) to entries

-A, --almost-all do not list implied . and ..

-lF ignore file

步骤 4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc 目录下的文件 passwd 拷贝到该目录下( cp 源文件目的目录)。察看当前目录下的

passwd 文件的属主和文件权限。

步骤 5:尝试向当前目录下的passwd 文件和 /etc/passwd文件分别写入一些新内容(可使用echo “字符串”>>文件的命令),看看操作能否成功,如果不能成功,请说明原因。用cat 命令浏览文件 password 的内容,用 more 命令进行浏览翻页操作 , 再用 less 命令浏览文件的内容。比较这几个命令的不同之处

对当前目录中成功,因为该目录下的passwd 文件对当前用户具有写的权限。

对 /etc/passwd

文件的操作被拒绝因为对当前用户不具有写的权限

cat 命令将文件的内容全部显示,more 命令将文件内容分屏显示,less 命令进行刷新的全部

显示

步骤6:用 ls 命令查看test下文件的权限,用mv命令更改文件password 的文件名为test.txt,尝试用 chown 和 chgrp 更改文件的属主为root 、组为 root ,看看能否成功,不成功,请说明原因。尝试用chomd将文件权限为“-rw-------”。看看能否成功,不成功,请

说明原因。

用 chown 和 chgrp 更改文件的属主为 root 、组为 root ,不成功。因为 chown 和 chgrp 一般是 root 的权限

步骤 7:用 rm 命令删除test目录下的所有文件,再用rmdir命令删除test目录。(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令)

rm -rf test

步骤 8:使用 ps 命令查看当前系统内的进程,并利用取当前终端进程执行情况的 ps 命令。man命令获

ps命令的参数,写出获

步骤 9:使用 df 命令查看当前系统已安装的文件系统的空间使用情况,记录结果。步骤 10:使用 du 命令查看用户的工作目录占用了多少空间,记录结果。

步骤 11:使用 free命令查看内存资源的使用情况,记录结果。

步骤 12:使用 man获取 tar和gzip的帮助信息,尝试将test目录下的文件打包并压缩,然后到另外一目录tmp 下解包,写出这几条命令。

步骤 13:尝试执行“ ls –l > tmp ”,看看这条命令的执行会出现什么结果,解释一下这条

命令。

创建一个名为tmp的文件并将ls -l输出的内容写入tmp中

步骤14:尝试执行find /usr/src -name *.c -print | xargs grep“#include”,看看这条命令的执行会出现什么结果,解释一下这条命令。

匹配查找列表输出/usr/src下以.c结尾的文件中含有“ #include”的内容

步骤 15:执行 cal 和 date 命令,说说这两条指令的用途。

步骤 16:执行命令clear和logout,退出系统。(想一想有没有其他的方法,写出这种方法)Exit

步骤 17:执行命令shutdown ,关闭系统。(想一想有没有更简单的命令,写出这条命令)

Init 0

3、实验结论

通过对 linux的常用命令的学习,让我对linux的系统有了初步的认识-- 这是一个完全基

于命令操作的操作系统,这些命令组成了强大的命令系统,提供了完善的功能。这些命令

操作将为我以后的linux学习打下良好的基础。

实验二简单Shell程序设计

1、实验目的

(1)学习和掌握 vi 编辑器的基本使用方法。

(2)学习和掌握编写简单的shell程序。

2、实验内容和步骤

2.1 vi的使用

步骤 1:以 root用户身份登录进入Linux系统。

步骤 2 :启动 Vi ,切换到输入模式,输入一段英文:

This ia an exercise!

We use Vi to edit it.

Left,down,up,right

步骤 3:尝试匹配其中的一串字符,写出这命令及执行结果。

:/Left

步骤 4:尝试替换其中的一串字符,写出这命令及执行结果。

:3s/Left/123/g

步骤 5:尝试复制 / 删除其中的一行或几行文本,写出命令及执行结果。

命令模式下,光标移动到那一行按”[n]yy ”为(n要复制的行数)再按 p粘贴。

命令模式下,光标移动到那一行按”[n]dd ”为(n要删除的行数)删除一行或几行。

步骤 6:尝试复制 / 删除其中的一个单词或几个字符,写出命令及执行结果。

命令模式下,光标移动到那一行按”[n]yw ”为(n要复制的单词数)再按 p粘贴。

命令模式下,光标移动到那一行按”[n]dw ”为(n要删除的单词数)删除一个或几个字符。步骤 7:尝试使用鼠标复制文本,写出命令及执行结果。

直接使用鼠标选中复制,将光标移动到要粘贴的地方用鼠标粘贴即可完成复制文本。

步骤 8:尝试存盘退出操作,写出命令。

:wq

2.2简单的shell程序

步骤 1:使用 Vi 将程序清单2-1 的程序输入。

步骤 2 :尝试运行该程序,如果不能运行,原因是什么,怎样修改。

没有执行权限

chmod +x test

步骤 3:执行程序,写出程序的执行结果。

步骤 4:阅读程序,掌握shell函数的编写方法,补全函数file_run。

file_run()

{

ls -l | awk '/^-(..x)+/ {print $9}'

}

步骤 5:修改程序中的函数 uers() ,使得显示在线用户时不分行。(提示:可以使用循环,对每个在线用户分别处理。)

uers()

{

echo "there are `who|wc -l` users online"

echo "who are"

for i in $(who | awk '{print $1}');do

printf "%s " $i

done

echo

}

3、实验结论

Linux 系统 shell 编程其本质就是linux 命令的组合,通过许多简单命令的组合可以完成很多功能,可以开发一些小型程序。

实验三 Linux下简单C程序设计与文件操作

1、实验目的

(3)学习和掌握 gcc 等 Linux 的开发调试环境。

(4)学习并掌握 Linux 的文件操作。

(5)编写并实现实验步骤 6 要求的程序。

2、实验内容和步骤

步骤 1:使用 Vi 将程序清单 3-1 和 3-2 的程序输入,并在当前目录下创建文件“ file.in ”和文件“ file.out ”,尽可能的使文件“ file.in ”大一些。

步骤 2 :利用 gcc 分别编译这两个程序,写出编译命令和执行结果,如果不成功,尝试利用gdb 调试。

gcc – o list3_1 list3_1.c

gcc – o list3_2 list3_2.c

步骤 3:仔细观察这两个程序,比较标准 C 的文件操作和 Linux 的系统调用 open、read 、write等的使用区别。

答:标准 c 的文件操作一个是库函数的调用,linux中系统调用文件操是底层的文件调用,

其运行效率略有差距,同时参数也不同, 返回的数据类型也不同。

步骤 4:按照说明重新修改程序3-2 ,并使用 time 命令察看程序执行的时间效率上有何区别。

步骤 5:输入、编译并运行程序 3-3 和 3-4 ,写出执行结果,并比较他们 fseek 和 lseek 在使用方法上的异同

两者都是对文件的读写指针进行设置但两者的返回类型不同,fseek 返回的是int型lseek 返回的是off_t型

步骤 6:学习并分别使用标准 C 的文件操作函数和Linux 的系统调用创建一个对学生基本信

息进行操作(插入、修改和删除)的 C 程序,学生基本信息以结构体的形式存储在文件

https://www.wendangku.net/doc/5a14965974.html,中, struct stu_info的定义如下:

struct stu_info {

char stu_num[12];

char name[10];

short int sex;/*0为女生,1为男生*/

char mobile_phone[12];

};

3、实验结论

通过对文件操作的编程,让我掌握了文件的创建,打开,读写,以及特定位置的读写关闭

等操作。并且从系统底层调用和标准 c 函数库两个角度对文件的操作比较中,认识到两者的异

同。

实验四 Linux下进程操作与进程间通信

1、实验目的

(1)学习和掌握 fork 等系统调用的基本使用方法。

(2)利用 Linux 中的管道实现父子进程间的同步。

2、实验内容与步骤

步骤1:使用Vi将程序清单4-1的程序输入、编译并运行,学习和掌握fork的基本调用方法。

步骤 2 :使用 Vi 将程序清单4-2 、 4-3 和 4-4的程序输入、利用gcc分别编译这三个程序,写出编译命令和编译结果,如果不成功,尝试利用gdb 调试。

gcc -o list4_2 list4_2.c

gcc -o father father.c

gcc -o child child.c

步骤 3:写出编译这三个程序的makefile,然后利用make进行编译,谈谈这么做的好处。

可以节省劳动时间,让三个程序同时编译,简化了操作。

步骤 4:运行这三个程序,写出运行结果。

步骤 5:屏幕上显示出的执行结果是哪一个进程执行的结果?

father 和 child

步骤 6:父进程中的printf有向屏幕输出吗?为什么?

没有,因为父进程的标准输出已经被重定向。

步骤 7:利用父子进程间的管道通信方式,改写实验 3 步骤 6 要求的程序。

3、实验结论

通过该节实验,我更进一步理解了fock 函数 dup 函数 exercl 函数的工作原理,让我了解到

了进程并发的概念。学习了如何创建子进程,进程映象替换,以及通过无名管道实现父子

进程中的输入输出重定向

实验五 Linux线程的使用

1、实验目的

学习和掌握 Linux 线程的创建以及同步方法。

2、实验内容和步骤

步骤 1:输入程序5-1 ,编译并运行写出执行结果。

thread_function is running.Argument was 10

Waiting for thread to finish...

Thread joined,it returned Thank you for the CPU time

share_int is now -10

步骤 2 :仔细研读代码,描述pthread_create函数中各个参数的意义,并给出线程的入口函数

的调用方法,描述两线程间参数传递的方式。

该函数有四个参数,第一个参数为一个指向 pthread_t类型数据的指针,第二个参数为创建线程的属性,一般用 NULL 表示用默认属性,第三个参数为指向要调用函数的函数指针,第四

个参数是传给该函数的参数。

参数传递方式:

首先线程的函数要定义成 void *(*start_routine)(void*) 的形式,主线程创建子线程时可将要传给

子线程的信息放在 pthead_create函数的第四个参数上,子线程创建后就可以通过函数的参数直接获得(为一个 void类型的指针)。

步骤 3:打开注释掉的全局变量aa 及操作 aa 的相关代码,回答这跟进程有什么不同。

由于线程是共享进程内资源的,所以子线程如果改变了aa的值,主线程内aa的值也会发生改变,而如果是创建了一个子进程,若子进程改变了 aa的值,主进程内 aa的值是没有发生改变的。

步骤 4:输入程序5-2 ,编译并运行,写出运行结果。

Input some text,Enter 'end' to finish

basjk

You input 5 characters

end

Waiting for thread to finish...

Thread joined

步骤 5:仔细研读代码,描述利用信号量实现线程间同步调用方法。

定义一个全局的 sem_t类型的变量,通过函数 sem_init(&bin_sem,0,0) 初始化信号量, sem_wait 函数相当于 P操作, sem_post函数相当于 V 操作,改程序的实质其实是一个生产者消费者问

题。

注:

int sem_init(sem_t *sem, int pshared, unsigned int value);

The value argument specifies the initial value for the semaphore.

If pshared has the value 0, then the semaphore is shared between the threads of a process.

If pshared is nonzero, then the semaphore is shared between processes.

步骤 6:学习并使用线程间的同步方法,重新改写实验 3步骤 6要求的程序。要求启用两个线程,其中主线程接受用户对文件 https://www.wendangku.net/doc/5a14965974.html, 的操作命令然后发给子线程,子线程完成对文件的实际操作(注意线程间的同步)。

3、实验结论

通过本节实验学习了如何创建线程,如何在线程之间传递参数已经共享数据,以及如何利

用信号量同步线程。如何在线程之间传递参数已经共享数据,以及如何利用信号量同步线

程。

实验六 Linux进程间的IPC

1、实验目的

学习和掌握 Linux 进程间的 IPC 及同步方法。

2、实验内容和步骤

步骤 1:输入程序6-1 ,6-2 编译并运行写出执行结果。

步骤 2 :仔细研读代码,写出程序中实现P、V 操作的相关函数和代码,描述程序的同步工

作过程。

上述代码实现多个进程读写临界区时,使用信号量进行同步的例子,读临界区时先P 操作,出临界后 V 操作,上面结果中O 与 X 的出现都是成队的。

步骤 3:输入程序6-3 和 6-4 ,编译执行并写出结果。

步骤 4:程序 6-3 和 6-4 中哪段代码实现了共享,描述实现内存共享的主要函数的参数意义和

这些函数的使用方法。

int shmget(key_t key, size_t size, int shmflg);//向系统申请一块共享内存

void *shmat(int shmid, const void *shmaddr, int shmflg); // 将共享内存挂载到 shmaddr 指针上 int shmdt(const void *shmaddr); // 卸载共享内存

int shmctl(int shmid, int cmd, struct shmid_ds *buf);//删除共享内存以及其他控制

shmctl(shmid, IPC_RMID, 0);

步骤 5:学习并使用 IPC中信号量和共享内存的使用方法,重新改写实验3步骤 6要求的程序。

要求启动多个进程,每一个进程都可以单独对文件进行操作,进程间通过信号量进行同步,

对文件的操作映射到共享内存中。

3、实验结论

通过对改节实验,让我了解了进程IPC 信号量访问临界区,以及进程之间访问共享内存的

实现方法和同步机制,掌握了上述一系列函数的使用方法。IPC用于完成进程间通信,包

括信号量,共享内存已及消息队列,在编写linux 程序时非有用

实验七 Linux下访问Mysql数据库

1、实验目的

学习和掌握 Mysql 数据库及编程访问方法。

2、实验内容和步骤

步骤 1:在 Mysql 中使用 sql 命令 create database foo命令创建数据库foo 。

步骤 2 :在数据库foo 中创建表children。

create table children (

childno int(11) not null auto_increment,

fname varchar(30),

age int(11),

primary key (childno)

);

步骤 3:向表 children中插入若干记录。

insert into children values (1,’Jenny’ ,17);

Insert into children values (2,’Andrew’ ,13);

Insert into children values (3,’Alex’ ,12);

Insert into children values (4,’Tom’ ,11);

Insert into children values (5,’Jack’ ,7);

Insert into children values (6,’Ella’ ,14);

步骤 4:输入、编译并运行程序7-1 、 7-2 和 7-3 ,写出运行结果。

步骤 5:学习并使用 C语言访问 Mysql 的基本方法,重新改写实验 3步骤 6要求的程序。要求使用数据库保存 https://www.wendangku.net/doc/5a14965974.html, 结构。

3、实验结论

通过 mysql.h C 语言可以使用数据库。通过该节实验我掌握了linux 下怎么用 c 语言进行简

单的数据库方面的编程。

实验八 Linux下网络编程

1、实验目的

学习和掌握 socket 函数的基本使用方法。

2、实验内容和步骤

步骤 1:输入、编译并运行程序8-1 和 8-2 ,写出程序的执行结果。

步骤 2 :学习并使用 socket 函数的基本使用方法,完善并重新改写前几个实验实现的程序。

要求用户在客户端实现数据操作请求的输入,然后上传到服务器端完成对数据库的实际操

作。同学在实现时应尽可能的使用前几个实验的成果,即应该包括多线程或多进程、数据库以及socket 等。

3、实验结论

通过改节实验我掌握了 linux 下用 c 语言进行网络编程。 socket可以实现不同主机间进程的通信,可以编写出网络应用程序

课堂练习:

1.grep:

#include

#include

int main(int argc,char** argv)

{

FILE *fp;

char tmp[100],c;

char* tmp1;

int l = 0,line = 1;

if(argc<3)

{

printf("input wrong!\n");

return 0;

}

if(!(fp=fopen(argv[2],"r")))

{

printf("can't open file!\n");

return 0;

}

fscanf(fp,"%c",&c);

NEW_LINE:

while(c!='\n'&&!feof(fp))

{

tmp[l]=c;

l++;

fscanf(fp,"%c",&c);

}

tmp[l]=0;

tmp1 = tmp;

while(l!=0)

{

if(!strncmp(argv[1],tmp1,sizeof(argv[1])))

{

printf("line %d: %s\n",line,tmp);

}

l--;

tmp1+=sizeof(char);

}

fscanf(fp,"%c",&c);

line++;

if(!feof(fp))

goto NEW_LINE;

return 1;

}

运行结果:

2.bash:

#include

#include

#include

#include

#include

void main()

{

pid_t pid;

char arg[100];

char **parg,**p;

int lenth,i,j;

printf("mysh#");

while(1)

{

j=0;

fgets(arg,sizeof(arg),stdin); //fgets 比 gets 多接收一个 LF( 换行 )即 \n

//gets(arg);

if(!strcmp(arg,"exit\n"))

return;

pid = fork();

if(pid==0)

{

lenth=strlen(arg);

lenth--;

arg[lenth]=0;

//printf("%s\n",arg);

//printf("%d\n",arg[2]);

//printf("%d\n",lenth);

if(lenth==0)

return;

parg=(char**)malloc(sizeof(char**));

*(parg+j)=arg;

j++;

for(i=0;i

{

if(arg[i]==' ')

{

arg[i]=0;

p=parg+j;

p=(char**)malloc(sizeof(char**));

*(parg+j)=(arg+i+1);

j++;

}

}

//printf("%s %s %s",parg[0],parg[1],parg[2]);

execvp(*parg,parg);

}

else

{

wait(0);

printf("mysh#");

}

}

}

运行结果:

3.生产者消费者:

//semaphore&sharememory.c

#include

#include

#include

#include

#include

#include

#include

#define TEXT_SZ 2048

struct shared_use_st {

char some_text[TEXT_SZ];

};

union semun {

int val;

struct semid_ds *buf;

unsigned short int *array;

struct seminfo *__buf;

};

static int set_semvalue(int val,int th); static void del_semvalue(int th); static int semaphore_p(int th);

static int semaphore_v(int th);

static int sem_id;

int main()

{

int running = 1;

void *shared_memory = (void *)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课程实验报告材料

实验1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare

实验1.3 Shell编程 1.实验目的与内容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error");

} esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); } close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验2.3 内核模块 实验步骤: (1).编写内核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。(2).编译内核模块Makefile文件 # Makefile under 2.6.25

LINUX实验报告

实验报告 ( 2014/ 2015 学年第一学期) 课程名称操作系统A 实验名称文件系统 实验时间2014 年12 月8 日指导单位计算机学院计算机科学与技术系 指导教师徐鹤 学生姓名王生荣班级学号B12040809 学院(系) 计算机学院专业软件工程

实验名称文件系统指导教师徐鹤 实验类型设计实验学时 2 实验时间2014.12.08 一、实验目的和要求 1. 学习LINUX系统下对文件进行操作的各种命令和图形化界面的使用方法。 2. 深入学习和掌握文件管理系统的基本原理和LINUX等操作系统下常用的系统调用,编写一个使用系统调用的例程。 3.实现一个文本文件的某信息的插入和删除 4.实现一个记录文件的某记录的插入和删除 二、实验环境(实验设备) Windows XP + VMWare + RedHat Linux 8

三、实验过程描述与结果分析 1. 目录/proc下与系统相关的文件和目录 (1) /proc/$pid/fd:这是一个目录,该进程($PID号码进程)每个打开的文件在该目录下有一个对应的文件。 例如:#ls /proc/851/fd 0 1 2 255 这表示,851号进程目前正在使用(已经打开的)文件有4个,它们的描述符分别是0、1、2、255。其中,0、1、2 依次分别是进程的标准输入、标准输出和标准错误输出设备。 (2)/proc/filesystems:该文件记录了可用的文件系统类型。 (3)/proc/mounts:该记录了当前被安装的文件系统信息 例如:#cat /proc/mount (4)/proc/$pid/maps:该文件记录了进程的映射内存区信息。 例如:#cat /proc/851/maps 2.常用命令讲解 ls 命令 用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如: $ ls -liah * 22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile

Linux文件系统实验报告

黄冈师学院 提高型实验报告 实验课题文件系统的设计与实现(实验类型:□综合性 设计性□应用性) 实验课程操作系统原理 实验时间2015-2016 第二学期 学生何正发 专业班级软件工程1401 学号07

成绩: 一、实验目的和要求 1、熟悉操作系统设计的过程,巩固操作系统的基本知识,加深对操作原理、功能及各种不同的存储管理方法理解与应用; 2、学会运用各种语言、软件开发新软件的基本方法; 3、增强实际应用能力和动手操作能力。 二、实验条件 Win7 /Windows 8.1/Linux等操作系统,装有java、C、C++、C#等语言工具的环境。 三、实验原理分析 可以选择最佳适应算法,按照从小到大的次序组成空闲区自由链,当用户作业或进程申请一个空闲区时,存储管理 程序从表头开始查找,当找到第一个満足要求的空闲区时,停止查找。如果该空闲区大于请求表中的请求长 度,将减去请求长度后的剩余空闲区部分留在可用表中。回收时,从作链中删去要回收的作业块,同时在空 闲链中插入该作业大小的空闲区,并按顺序排列 四、实验方案或步骤 1、应用环境、需求分析 本模拟系统主要针对文件的管理和操作名主要有:创建用户、文件、文件夹,读文件,写文件,执行文件,关闭文件,删除用户、文件夹、文件的功能。 创建用户、文件、文件夹:在对系统发出操作命令之前必须先登录用户,然而登录之前必须创建该用户。在创建完后,可通过登录用户来创建文件和文件夹。在创建文件时可设置文件的属性和输入文件的容。 读文件:读取任何已创建的只读或读写文件的容;如果所要读的文件不是可读文件时,系统会显示该文件不可读;如果所读文件不存在,系统会显示文件不存在。 写文件用户可写或重写读写文件中的容,并保存文件中的重写容,以供下次读取;当所要写的文件不是可写的文件时,系统会显示该文件不可写;当所要写的文件并不存在时,系统会显示该文件不存在。

2《Linux基础》实验报告 基本配置Linux

实验序号: 2 《Linux基础》 实验报告 实验名称:基本配置Linux操作系统 姓名: 学院:计算机学院 专业: 班级: 学号: 指导教师: 实验地址:N6-113 实验日期:2017.3.7

说明 一.排版要求 1.实验报告“文件名”按模板要求填写。 2.一级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,四号字体,加粗。 3.二级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,小四号字体,加粗。 4.三级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,五号字体。 5.正文:每段缩进量:2个汉字。两端对齐;汉字用宋体,阿拉伯数字用 Times New Roman字体,五号字体。 6.图形要求 (1)在正文中要有引用。 (2)要有图名,图名位于图的下方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)图和图名“居中”。 7.表格要求 (1)在正文中要有引用。 (2)要有表名,表名位于表的上方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)表和表名“居中”。 二.注意事项 1.复制、拷贝、抄袭者取消成绩。 2.没有安实验报告排版要求者不及格。

实验2基本配置Linux操作系统实验 【实验目的】 1.。。。。 2.。。。。 3.。。。。 4.思考: (1)Linux默认的系统超级管理员帐户是什么? (2)Linux的操作系统引导器是什么?它有哪几种的操作界面? (3)RHEL的支持哪几种X-Window图形管理器?默认是使用哪一种?(4)RHEL支持哪几种Shell?默认是使用哪一种? 【实验原理】 1.。。。 。。。 2.。。。 。。。 (1)。。。 。。。 (2)。。。 。。。 3.。。 【实验环境】 1.实验配置 本实验所需的软硬件配置如表1所示。 表1 实验配置 本实验的环境如图1所示。

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课程实验报告

实验 1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare

实验1.3 Shell编程 1.实验目的与容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error");

} esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); } close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验2.3 核模块 实验步骤: (1).编写核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译核模块Makefile文件 # Makefile under 2.6.25

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: 掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

linux应用程序开发实验报告3

实验报告 学生姓名:白迪学生学号:222014********* 日期:2016年11月15日与11月29日 院(系):计算机与信息科学学院软件学院专业(班级):网络工程实验题目:终端驱动属性编程及利用属性特性的应用程序编程 一. 实验目的 掌握终端驱动属性的特殊功能,掌握终端驱动属性的显示与修改方法编程,掌握利用终端驱动属性的特属性编写需要特殊功能的应用程序技巧。 二. 实验原理 三. 实验器材 安装有Windows操作系统PC机一台,实验环境为LINUX虚拟机(包含gcc 与gdb). 四. 实验分析与设计 补全终端设备属性位与控制字符的信息输出: Main函数

Flags的补充 显示flags函数

Setecho函数,设置echo的状态位Echostate函数。显示echo状态 Setecho函数

忽略特殊的一些按键,CTRL+C、CTRL+\,不能一直阻塞等待键盘输入,设置等待一定的时间的非阻塞。 预处理 Main函数 Tty—mode set_nodelay_mode()//没阻塞 set_nobuf_noecho_mode()//没回显,没缓冲

Getresponse() 中断处理函数 五. 实验结果 属性位与控制字符的信息输出

stty控制字符的修改功能,setecho 忽略特殊的一些按键,CTRL+C、CTRL+\,不能一直阻塞等待键盘输入,设置等待一定的时间的非阻塞。当按下的键不是y或者n就显示f。 六. 实验心得 通过本次试验中对终端文件更加的了解了,还学会了对中断文件的一些基本的设置,前面的实验做起来就是一些验证比较简单,但是收获很大,最后一个做的时候先看过书后,自己编写的,调试过程中总是出错,做到最后跟书上的代码比较发现自己的代码跟书上比差了好远,修改了很多,自己用的是Redhat5,cc—

Linux课程综合训练实验报告

Linux课程综合训练实验报告 姓名:柳晓阳 班级:软件94班 学号:09161071

一.实验目的 熟练掌握Linux操作系统的使用,掌握Linux的各项系统管理功能,掌握Linux下各类网络服务的安装、配置以及使用,并能用shell脚本实现简单的管理任务。 二.实验内容 (1)准备工作:利用虚拟机安装Linux操作系统,要求对 /home目录单独分区,在系统中安装适当的软件包以备后续的实验需要,可关闭防火墙和SeLinux。完成安装后将/root中的anaconda-ks.cfg 文件的内容附到报告中。(5分) 实现过程:首先安装虚拟机VMware,然后在虚拟机里新建一个虚拟机,利用老师的光盘Fedora-10-i386-DVD.iso安装Linux操作系统,因为题目要求对/home目录单独分区,所以在安装时有个分区选项,默认是不打勾的,打勾后按下一步,会有个分区,在下拉列表框中选出/home,然后设置它的大小,默认是200mb的大小,我设置为5000mb。在安装的最后新建了一个非管理员用户gui,密码123456,用于平时的登录。 附:anaconda-ks.cfg文件的内容

关闭selinux需要修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启。Linux关闭防火墙用chkconfig iptables off 命令。

(2)题目1: 查看Linux系统磁盘空间的使用情况(给出显示结果)(3分) 在命令行新建几个用户,如tux,tom,lily等,给每个用户创建密码,测试各个用户是否创建成功。(2分) 并为/home分区创建磁盘配额,使得你所创建的每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes的软限制为300,硬限制为400。试编写shell测试脚本验证你的磁盘配额设置。(10分) 实现过程:首先,查看Linux系统磁盘空间的使用情况用df这个命令。显示结果如下: 其次,新建几个用户和密码,所用的命令为useradd和passwd。比如说我们新建2个用户,一个为tux,密码为09161071;另一个为tom,密码为09161071。

实验一 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.wendangku.net/doc/5a14965974.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实验报告_大三上

实验三普通文件和目录编程 1.编写程序mycp.c,实现从命令行读入文件的复制功能,用原始文件系统调用。 实验流程图: 判断输入main 函数参数个数 argc argc!=3 no Exit(0) fd1=Open(argv[1],O_RDONLY); fd2=open(argv[2],O_RDWR|O_CREA T); 1 read(fd1,buf,bufsize); write(fd2,buf,i); if(i!=bufsize) break;

实验程序代码: //mycp.c #include #include #include #include #define bufsize 5 int main(int argc,char * argv[]) { int fd1,fd2; int i; char buf[bufsize]; if(argc!=3) { printf("argument error\n"); exit(1); } fd1=open(argv[1],O_RDONL Y); if(fd1==-1) { printf("file %s can not opened\n",argv[1]); exit(1); } fd2=open(argv[2],O_RDWR|O_CREAT); if(fd2==-1) { printf("Can not open file %s\n",argv[2]); exit(1); } while(1) { i=read(fd1,buf,bufsize); write(fd2,buf,i); if(i!=bufsize) break; }

Linux程序设计实验报告总结计划.docx

实验报告 课程名称:Linux程序设计 学院:信息科学与工程学院 专业:13计算机班级:2013-1姓名:学号: 2016年6月28日 山东科技大学教务处制 实验报告

组别姓名同组实验者 实验项目名称实验一熟悉linux命令实验日期教师评语第 12 周周四9,10 节 实验成绩指导教师廉文娟 1.登录和退出 Linux 系统 用户登录系统时为了使系统能够识别自己必须输入用户名和密码经系统验证无后 方能进入系统。用户登录分两步进行,第一步输入用户的登录名,系统根据该登录 名来识别用户,第二步输入用户的口令,该口令是用户自己选择的一个字符串对其 他用户是保密的,是在登录时系统用来辨别真假用户的关键字。 必须输入用户的账号,分为 1)root ——系统管理员账号,该账号可以进行任意操作。2)普通用户——拥有一定的权限 2.其他命令 三、实验内容 常用操作命令。 1、在 Linux 系统中打开终端,利用快捷键ctrl+alt+T,打开,结果如下: 2、退出: 不论是 root 用户还是普通用户,需要退出系统,在 shell 提示符下,键入 exit 命令 即可。 3、关机与重启: Linux 中提供了命令 shutdown,可以安全地关机或重启系统,该命令只能是超级用 户可以使用,命令格式: shutdown [ 选项 ][ 时间 ][ 警告信息 ] 其中警告信息是向其他用户发布的信息,时间指定关机或是重启的时间,选项的意 义如下: -h关机,关机前关闭相关进程,执行fsck 命令(文件系统的一致性检查) -r系统重新启动 -f快速关机,系统关机前不执行 fsck命令 -n快速关机,系统关机前不执行 init命令 -k不关机,只是将警告信息向其他用户发布 -c终止执行正在运行的 shutdown 命令 举例: 1.系统立即关机shutdown–h now 2.两分钟后重启系统,发布信息 System will be down in 2 minutes!给其他终端用户。 Shutdown – r +2“System will be down in 2 minutes!” 除了可以使用 shutdown 命令来关机和重启系统外, Linux 还有专门用于关机和重启系统的命令 poweroff 和 reboot ,reboot 用于重启系统(相当于 shutdown –r now),

Linux实验报告

Linux实验 一、实验目的 1. 了解Linux基本使用方法; 2. 掌握Linux基本设置方式; 3. 掌握Linux基本操作命令使用。 二、内容要求 1. 了解进程管理、文件管理与内存管理 2.掌握系统设置文件与命令 3. 熟练使用系统操作与维护命令 4. 熟练使用系统操作与维护命令 三、实验原理 Linux 系统常用命令格式: command [option] [argument1] [argument2] ... 其中option以“-”开始,多个option可用一个“-”连起来,如 “ls-l -a”与“ls-la”的效果是一样的。根据命令的不同,参数 分为可选的或必须的;所有的命令从标准输入接受输入,输出结果显示在 标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对这 些设备进行重定向。如: ls –lh > a.txt 命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回 一个非零值(在shell中可用变量$?查看)。在shell script中可用此返 回值作为控制逻辑的一部分。 DSL命令操作: 帮助命令: man 获取相关命令的帮助信息 例如:man dir 可以获取关于dir的使用信息。 info 获取相关命令的详细使用方法 例如:info info 可以获取如何使用info的详细信息。 基本操作: echo 显示字符串 pwd 显示当前工作目录 ls 查看当前文件夹内容 ls -a 查看当前文件夹内容(包括隐藏项) ls -l 查看当前文件夹内容(详细) ls / 查看根目录内容 cd / 移动到根目录

pwd 显示当前工作目录 ls -al 查看根目录文件夹内容(详细情况并包括隐藏项) cd /home/dsl 回到“家”目录 pwd 显示当前工作目录 df -h 显示剩余磁盘空间,参数“-h”表示适合人读取(human readable) du -h 显示文件夹(及子文件夹)所占空间 mkdir fd0 在当前目录下创建目录fd0 touch a.txt 创建一个空文件a.txt ls / -lh > a.txt 利用重定向功能将根目录中的内容写入a.txt。 cat a.txt 显示a.txt内容 wc a.txt 显示a.txt的行数,字数与字节数 find / -name *conf 在根目录下(包括子目录)查找以conf结尾的文件 sudo mount /dev/fd0 fd0 将软盘镜像挂载到目录fd0上 cd fd0 进入软盘镜像所挂载的目录 ls -lh 查看软盘镜像中的文件 cd .. “..”表示进入上一层目录 gzip a.txt 使用gzip压缩a.txt ls -lh 查看当前文件夹 sudo cp a.txt.gz fd0/ 将a.txt复制到fd0目录下,即将其复制到软盘镜像中 sudo mv fd0/a.txt.gz ./ 将a.txt移动到当前目录下,“.”表示当前目录 sudo umount /dev/fd0 将软盘镜像卸载 ls fd0 显示fd0 目录内容 gzip -d a.txt.gz 解压缩a.txt.gz ls -lh 查看当前文件夹 权限管理: 假设当前处于/home/dsl 目录下,且有a.txt(文件)与fd0(目录),当前用户名为dsl。 sudo cat /etc/passwd 用户 sudo cat /etc/shadow 密码 sudo cat /etc/group 组 users 查看当前登录用户 sudo chmod -x fd0 更改文件夹权限 ls fd0 fd0不能被执行,则意味着无法打开! sudo chmod +x fd0 更改文件夹权限 ls fd0 fd0能被打开 sudo chown root fd0 更改目录fd0的所有者 ls -lh 注意看fd0目录的属性 sudo chown dsl:root fd0 更改目录fd0的所有者为dsl,所属组为root ls -lh 注意看fd0目录的属性 chmod a-r a.txt 现在a.txt不具有“读”权限,不能被读取

linux基础实验报告含代码

Linux基础实验

目录 实验一 (3) 实验二 (4) 实验三 (6) 实验四 (9) 实验五 (11) 实验六 (14) 实验七 (16)

实验一螺旋矩阵 一、实验目的 1.熟悉linux下c程序编写。 2.掌握Makefile编写方法。 二、实验环境和工具 Red Hat Linux 三、实验流程 1.编写螺旋矩阵程序 2.编写Makefile文件 四、实验结果 五、实验心得 通过这次实验,我熟悉了linux下c语言程序的编写,掌握了vi的一些常用操作,学会了使用gcc命令和makefile文件两种方法编译程序。同时也使我熟悉了linux里常用命令的使 用,还有,学会了挂载U盘的方法,可以很方便的往linux里传送文件。 六、关键代码 Makefile 文件 CC=gcc EXEC=juzhen OBJS=juzhen.o all:$(EXEC) $(EXEC):$(OBJS) $(CC) -o $@ $(OBJS) clean: -rm -f $(EXEC) $(OBJS)

实验二添加、删除用户 一、实验目的 1.设计一个shell程序,分组批量添加用户。 2.再设计一个批量删除用户的shell程序。 二、实验环境和工具 Red Hat Linux 三、实验流程 1.编写shell程序 2.修改文件权限 chmod +x addusers 3.运行脚本 四、实验结果 添加用户: 删除用户:

五、实验心得 通过本次实验,我了解了shell脚本编程的方法和其语法规则。掌握了使用shell脚本程序添加、删除用户的方法。需要注意的是:shell脚本直接用vi编写,要特别注意空格。 六、关键代码 添加用户: 删除用户:

Linux实验报告

Linux程序设计 实验报告 姓名:杨帆 班级:计1242 学号: 121842284 专业:计算机科学与技术指导老师:赵帼英

实验一 Linux系统安装与启动(选做实验) 一、实验目的(通过实践及查阅资料完成如下实验) 1.掌握虚拟机的配置过程。 2.掌握Linux系统的安装过程和简单配置方法。 3.掌握与Linux相关的多操作系统的安装方法。 4.掌握Linux系统的启动、关闭步骤。 5.了解Linux文件系统和目录结构。 二、实验内容 1.安装虚拟机软件(如VMware、Virtualbox)。 2.在虚拟机软件中安装Linux操作系统(如Fedora、Ubuntu、redhat等)。 3.配置Linux系统运行环境。 4.正确地启动、关闭系统。 三、实验步骤 1 .安装虚拟机软件(VMware Workstation 7.0) 。 2.在虚拟机软件中新建Linux虚拟机 2.1设置内存大小(建议大于256MB) 2.2设置虚拟硬盘大小(建议大于8GB) 2.3设置虚拟光驱(虚拟方式,镜像文件) 2.4设置网络连接模式(建议采用桥接方式) 2.5设置共享目录(建议英文目录名) 1.在Linux虚拟机中安装Linux操作系统(fedora10 )。 3.1选择安装界面 3.2检测安装截介质(建议跳过) 3.3安装过程中的语言、键盘选择 3.4磁盘分区(采用自动分区,总大小与2.2相匹配) 3.5引导程序选择(采用GRUB) 3.6注意事项(禁用SELinux) 2.通过相关命令实现对操作系统的登录、退出与关机 3.使用文件浏览器査看Linux操作系统目录结构

linux综合实验

华北科技学院 计算机学院综合性实验 实验报告 课程名称 Linux操作系统 实验学期 2015 至 2016 学年第二学期学生所在院部计算机学院 年级大三专业班级信管B132班 学生姓名学号 成绩评定: 1、工作量: A(),B(),C(),D(),F( ) 2、难易度: A(),B(),C(),D(),F( ) 3、答辩情况: 基本操作: A(),B(),C(),D(),F( ) 代码理解: A(),B(),C(),D(),F( ) 4、报告规范度: A(),B(),C(),D(),F( ) 5、学习态度: A(),B(),C(),D(),F( ) 总评成绩: 指导教师:兰芸 计算机系制

《Linux操作系统》课程综合性实验报告 开课实验室:基础七2016年6月29日

四、程序、调试步骤 1、根据实验内容建立需要的目录与文件 图1 /home/stu/abc目录 图2 x1文件的填写内容 图3 建立/home/stu/backup目录内的bak01.txt文件 图4 建立data文件 图5 显示backup目录下的内容 2、利用crontab –e编辑定时任务 图 6 编辑任务 3、shell程序 #!/bin/bash #usage:procfile files while true do echo -n "1:定时删除文件2:定时复制文件内容3:定时打包文件4:定时卸载U盘[1|2|3|4|q]:" read choice

case $choice in 1* ) crontab /home/stu/task1.cron;; 2* ) crontab /home/stu/task2.cron;; 3* ) crontab /home/stu/task3.cron;; 4* ) crontab /home/stu/task4.cron;; q* ) exit 0;; * ) echo Illegal Options;; esac done 程序说明:crontab执行任务命令格式:crontab [-u user] file 利用while do循环语句,让用户进行选择,分为1,2,3,4执行不同的语句。即若要执行第一个任务,则:crontab /home/stu/task1.cron,其他任务相同。 图7 shell 程序 五、指令执行前、后截图 首选使用root用户登录系统。 ①task1 定时删除文件 递归显示/home/stu目录下的文件。在/home/stu/abc下建立文件aa。 图8 建立aa 执行前: 图9 查看aa存储场所 执行后:abc内的子目录和子文件aa已被删除

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命令格式。

Linux实验报告(2)

Linux 实验报告姓名 黄芳恺 班级软件工程114 学号119074258 指导教师阮越

目录 实验一 Linux基本命令的使用 实验二简单Shell程序设计 实验三 Linux下简单C程序设计与文件操作实验四 Linux下进程操作与进程间通信 实验五 Linux线程的使用 实验六 Linux进程间的IPC 实验七 Linux下访问Mysql数据库 实验八 Linux下网络编程 练习题: grep、 bash、生产者消费者

实验一 Linux基本命令的使用 1、实验目的 学习和掌握 Linux 的基本命令。 2、实验内容和步骤 步骤 1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。 步骤 2 :使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。 步骤 3:使用 pwd 命令察看当前的工作目录,然后用ls命令查看当前目录下的内容,尝试使用 -a,-l,-F,-A,-lF等不同选项并比较不同之处。 -a do not ignore entries starting with -I, --ignore=PATTERN do not list implied entries matching shell PATTERN -l use a long listing format -F, --classify append indicator (one of */=>@|) to entries -A, --almost-all do not list implied . and .. -lF ignore file

Linux实验报告(2)

Linux实验报告 姓名黄芳恺_____________ 班级软件工程114 学号119074258 指导教师阮越

目录 实验一Linux基本命令的使用 实验二简单Shell程序设计实验三Linux下简单C程序设计与文件操作 实验四Linux下进程操作与进程间通信实验五Linux线程的使用 实验六Linux进程间的IPC 实验七Linux下访问Mysql数据库 实验八Linux下网络编程练习题:grep bash生产者消费者

实验一 Linux 基本命令的使用 1、 实验目的 学习和掌握Linux 的基本命令。 2、 实验内容和步骤 步骤1:以user_login 用户身份并使用tel net 登录Lin ux 服务器,按照提示创建自己的账 户和口令。 步骤2 :使用新创建的用户账户和口令登录 Linux 系统,察看登录后的界面。 [max@localhost Documents]f pwd /home/max/Documents [max@localhost Documents]f 步骤3:使用pwd 命令察看当前的工作目录,然后用 使用-a,-l,-F,-A,-IF 等不同选项并比较不同之处。 -a do no t ig nore en tries start ing with [max^localhost Documents]$ Is -a, ?.* VirtualBox Dropped Files -I, --ig nore=PATTERN do not list implied en tries matchi ng shell PATTERN -l use a long listi ng format [max@localhost Documents]f Is -I total 4 drwx -------- ? 3 max max 4096 Apr 27 16:45 VirtualBox Dropped Files appe nd in dicator (one of */=>@|) to en tries [max^localhost Desktop^ Is - F a.c c~ 台?out* firefox ?d 包gnoaedesktop* -A, --almost-all do not list implied . and .. [max@lacailhost Docjments]J Is -A VirtualBox Dropped Files -lF ignore file [maxglacBlhost Deskt 叩]$ Is -IF total 24 -rw- rw- r--. L max max 145 May 22 22:32 a. c -rw- rw- r- - * 1 max max 143 May 22 22:32 a. c- -rwx rwx r ■ x . 1 max max 6707 May 22 22:32 OUt* 1 rwx rwx rwx. 1 max max 39 Hay 18 19:07 firefox .desktop -> /u5r/share/applicatio ns/firefox. desktop -rwxrwxr^x. 1 max max 6333 Apr 27 22:40 eriindl■( iesktop* Is 命令查看当前目录下的内容,尝试 -F, --classify

相关文档