高考理科数学试题江西卷Word格式.docx
《高考理科数学试题江西卷Word格式.docx》由会员分享,可在线阅读,更多相关《高考理科数学试题江西卷Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。
比较这几个命令的不同之处
__________________当前目录的可以,另一个不可以_______________________
步骤6:
用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为test.txt,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。
尝试用chomd将文件权限为“-rw-------”。
看看能否成功,不成功,请说明原因。
__________不行,权限不够_____________________________________________
步骤7:
用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。
(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令)
____________________rm-r
步骤8:
使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。
___________________psT
步骤9:
使用df命令查看当前系统已安装的文件系统的空间使用情况,记录结果。
____________文件系统1K-块已用可用已用%挂载点
/dev/loop0148606729879100422668071%/
none102225632410219321%/dev
none102670818810265201%/dev/shm
/dev/sda6166379481615408448386498%/host
/dev/sdb148838297634543681214294616471%/media/ChenKai
步骤10:
使用du命令查看用户的工作目录占用了多少空间,记录结果。
________________5729136
步骤11:
使用free命令查看内存资源的使用情况,记录结果。
______________________________________________totalusedfreesharedbufferscached
Mem:
205342019096681437520725820877684
-/+buffers/cache:
3061641747256
Swap:
2611120261112_______________________________________________________________________________________________________________________________________________________________________________________________
步骤12:
使用man获取tar和gzip的帮助信息,尝试将test目录下的文件打包并压缩,然后到另外一目录tmp下解包,写出这几条命令。
_____tarxvzftesttest.tar.gz
mvtest.tar.gztmp/test.tar.gz
___tarxvftest.tar.gz
步骤13:
尝试执行“ls–l>
tmp”,看看这条命令的执行会出现什么结果,解释一下这条命令。
__ls-l的内容输入到了tmp文本中________
步骤14:
尝试执行find/usr/src-name“*.c”-print|xargsgrep“#include”,看看这条命令的执行会出现什么结果,解释一下这条命令。
________在/usr/src目录下的C语言源程序文件中查找含有”#include”内容的行_
步骤15:
执行命令shutdown,关闭系统。
(想一想有没有更简单的命令,写出这条命令)
_____init0_____
3、实验结论
实验二简单Shell程序设计
(1)学习和掌握vi编辑器的基本使用方法。
(2)学习和掌握编写简单的shell程序。
2.1vi的使用
以root用户身份登录进入Linux
系统。
启动Vi,切换到输入模式,输入一段英文:
This
ia
an
exercise!
We
use
Vi
to
edit
it.
Left,down,up,right
尝试匹配其中的一串字符,写出这命令及执行结果。
在命令状态下输入/Left即匹配Left这个字符
尝试替换其中的一串字符,写出这命令及执行结果。
在命令状态下输入1.$/use/123即把use字符替换为123
尝试复制/删除其中的一行或几行文本,写出命令及执行结果。
在命令状态下输入nyy(n为复制的行数)然后把光标移动到要复制的地方输入p可以粘贴同样输入ndd即为删除
尝试存盘退出操作,写出命令。
________________:
wq__________________________________________________
2.2简单的shell程序
使用Vi将程序清单2-1的程序输入。
尝试运行该程序,如果不能运行,原因是什么,怎样修改。
______________________没有执行权限___________________________________
执行程序,写出程序的执行结果。
User:
chenkaiHost:
ubuntuDate:
12/06/12
---------------------------------------------------------------------
1:
Listsubdirectoryincurrentdirectory
2:
Listfilesincurrentdirectorywhichcanrun
3:
Seewhoisonthesystem
H:
Helpscreen
Q:
ExitMenu
--------------------------------------------------------------------
YourChoice[1,2,3,H,Q]>
阅读程序,掌握shell函数的编写方法,补全函数file_run。
_________________________ls-l|sed-n'
/^-..x/p'
_
修改程序中的函数uers(),使得显示在线用户时不分行。
(提示:
可以使用循环,对每个在线用户分别处理。
)
___who|awk'
{printf"
%s"
$1}END{printf"
\n"
}'
__________________________________________________________________________________________________________________________________________
实验三Linux下简单C程序设计与文件操作
(1)学习和掌握gcc等Linux的开发调试环境。
(2)学习并掌握Linux的文件操作。
使用Vi将程序清单3-1和3-2的程序输入,并在当前目录下创建文件“file.in”和文件“file.out”,尽可能的使文件“file.in”大一些。
利用gcc分别编译这两个程序,写出编译命令和执行结果,如果不成功,尝试利用gdb调试。
real0m0.622s
user0m0.491s
sys0m0.082s
real2m24.143s
user0m2.672s
sys2m12.122s
仔细观察这两个程序,比较标准C的文件操作和Linux的系统调用open、read、write等的使用区别。
_linux系统调用没有用到指针,标准c使用了文件指针;
按照说明重新修改程序3-2,并使用time命令察看程序执行的时间效率上有何区别。
real0m0.415s
user0m0.002s
sys0m0.131s
输入、编译并运行程序3-3和3-4,写出执行结果,并比较他们fseek和lseek在使用方法上的异同
生成hoel.file文件
内容是:
abcdefghijABCDEFGHIJ
fseek是___标准C函数需要用到文件指针
lseek是linux系统调用,是对文件描述符fildes指针的设置,lseek回避了指针
___________________________________________________________________________________________________________________________________________
实验四Linux文件编程
(3)编写并实现实验步骤1要求的程序。
步骤1:
学习并分别使用标准C的文件操作函数和Linux的系统调用创建一个对学生基本信息进行操作(插入、修改和删除)的C程序,学生基本信息以结构体的形式存储在文件stu.info中,structstu_info的定义如下:
structstu_info{
charstu_num[12];
charname[10];
shortintsex;
/*0为女生,1为男生*/
charmobile_phone[12];
};
intmain(intargc,char*argv[])
{
charch;
intloop=1;
intnr;
charfilepath[]="
./my_ss"
;
if(argc<
=1)
exit(0);
temp_t.who=who;
strcpy(temp_t.filepath,filepath);
printf("
wile--filepath:
%s\n"
temp_t.filepath);
while(loop==1)
{
printf("
A-addD-delV-viewC-changeL-loads-searchS-saveQ-quit"
);
scanf("
%s"
&
ch);
temp_=ch;
switch(temp_)
{
case'
a'
:
case'
A'
add_t();
loop=1;
break;
d'
D'
del_t();
c'
default:
}
}
return0;
}
intview_t()
intnr=1;
nr=write(pipe_out_t,&
temp_t,sizeof(structcommd));
Wating...\n"
sleep
(2);
nr=read(pipe_in_t,&
temp_t.info,sizeof(structstu_info));
while(nr>
0)
************************************\n"
学号:
temp_t.info.stu_num);
printf("
姓名:
temp_t.info.name);
性别:
"
if(temp_t.info.sex==0)
女\n"
elseif(temp_t.info.sex==1)
男\n"
else
保密\n"
手机:
temp_t.info.mobile_phone);
实验五Linux下进程操作与进程间通信
(1)学习和掌握fork等系统调用的基本使用方法。
(2)利用Linux中的管道实现父子进程间的同步。
2、实验内容与步骤
使用Vi将程序清单4-1的程序输入、编译并运行,学习和掌握fork的基本调用方法。
使用Vi将程序清单4-2、4-3和4-4的程序输入、利用gcc分别编译这三个程序,写出编译命令和编译结果,如果不成功,尝试利用gdb调试。
gcc-o4-24-2.c
gcc-o4-34-3.c
gcc-o4-44-4.c
写出编译这三个程序的makefile,然后利用make进行编译,谈谈这么做的好处。
all:
4-24-34-4
4-2:
4-2.c
gcc-o4-24-2.c
4-3:
4-3.c
gcc-o4-34-3.c
4-4:
4-4.c
gcc-o4-44-4.c
运行这三个程序,写出运行结果。
Parentisusingpipewrite.
child,child.
Parentisusingpipewrite.parent,parent,parent
屏幕上显示出的执行结果是哪一个进程执行的结果?
_________child_______________________________________________________
父进程中的printf有向屏幕输出吗?
为什么?
____________________有但是不再当前终端下_____________________________
____________________________________________________________________
实验六Linux下进程同步
学习并分别使用基本的父子进程管道通讯编程。
学生基本信息以结构体的形式存储在文件stu.info中,structstu_info的定义如下:
要求利用父子进程间的管道通信方式,完成一个并发的文件操作程序。
要求启用两个进程,其中父进程接受用户对文件stu.info的操作命令(含有关数据)然后通过管道发给子进程,子进程完成对文件的实际操作。
intpipe_in,pipe_out;
intmsgid;
longinttorcv=0;
intmain()
charnum[12];
msgid=msgget((ket_t)1234,0666|O_CREAT);
if(msgid<
fprintf(stderr,"
creatoropenerror\n"
exit(EXIT_FAILURE);
nr=msgrcv(msgid,(void*)&
temp,sizeof(temp),torcv,0);
if(nr<
recverror\n"
if(nr==0)
continue;
//printf("
filepath:
temp.filepath);
ch=;
who=temp.who;
switch(ch)
add(who,temp.info);
loop=1;
break;
deling\n"
del(who,temp.info);
C'
strcpy(num,temp.info.stu_num);
sleep
(1);
nr=msgrcv(msgid,(void*)&
change(who,temp.info,num);
//server
#definetrue1
#definefalse0
structcommd
structstu_infoinfo;
charcom;
charfilepath[20];
intwho;
intpipe_in_t,pipe_out_t;
intwho=0;
mkfifo(filepath,0777);
pipe_in_t=open(filepath,O_RDONLY|O_NONBLOCK);
pipe_out_t=open("
./my_listen"
O_WRONLY);
pipe_out_id=%d\n"
pipe_out_t);
change_t();
v'
nr=1;
实验七简单Linux线程编程
学习和掌握Linux线程的创建以及同步方法。
假设有两个线程共享使用一个缓冲区,一个线程向该缓冲区中写数据,另外一个线程将数据读出并进行统计数据字符个数相关处理.试用两个信号量来控制它们之间的关系。
在上述程序设计中,pthread_create函数中有几个参数,分别起什么作用?
根据该函数,试说明两线程间参数传递的方式。
编译该线程的gcc命令是什么?
________通过公共的内存空间传递数据____________________________________________gcc-o11.clpthread
与教材中的thread3a.c相比,用两个信号量有什么好处?
___________避免出错,________________________________________________