linux实训题目,求答案

作者&投稿:涂侨 (若有异议请与网页底部的电邮联系)
linux题目 求答案。。~

1 A 2 A 3 A 4 A 5 C 6 A 7 A 8 D 9 B 10 C

燕郊,交干院?
建议楼主将课后习题拍张照发出来。

很久很久以前写的一个C/S程序(客户端与服务端聊天的网络程序)

与你的要求差不多

具体的不同可以做一些修改


服务端代码

#include "stdio.h"
#include "sys/types.h"
#include "stdlib.h"
#include "sys/socket.h"
#include "string.h"
#include "errno.h"
#include "netdb.h"
#include "netinet/in.h"
#include "arpa/inet.h"
#define PORT 8888
int get_socket(void)
{
    int sockfd;
    if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
    {
        printf("Creat Socket Error:%s
",strerror(errno));
        exit(1);
    }
    else
        return sockfd;
}
void init_data(struct sockaddr_in *server_addr)
{
    bzero(server_addr,sizeof(struct sockaddr_in));
    server_addr->sin_family=AF_INET;
    server_addr->sin_addr.s_addr=htonl(INADDR_ANY);
    server_addr->sin_port=htons(PORT);
}
void creat_bind(int *sockfd,struct sockaddr_in *server_addr)
{
    if(bind(*sockfd,(struct sockaddr *)server_addr,sizeof(struct sockaddr))==-1)
    {
        printf("Creat Bind Error:%s
",strerror(errno));
        exit(1);
    }
}
void creat_listen(int *sockfd)
{
    if(listen(*sockfd,SOMAXCONN)==-1)
    {
        printf("Listen Error:%s
",strerror(errno));
        exit(1);
    }
}
int creat_accpet(int sockfd,struct sockaddr_in *client_addr)
{
    int new_fd;
    int sin_size=sizeof(struct sockaddr_in);
    if((new_fd=accept(sockfd,(struct sockaddr *)client_addr,&sin_size))==-1)
    {
        printf("Accept Error:%s
",strerror(errno));
        exit(1);
    }
    else
        return new_fd;
}
int main(void)
{
    int sockfd,new_fd;
    struct sockaddr_in server_addr,client_addr;
    char buffer[1024];
    sockfd=get_socket();
    init_data(&server_addr);
    creat_bind(&sockfd,&server_addr);
    creat_listen(&sockfd);
    new_fd=creat_accpet(sockfd,&client_addr);
    while(1)
    {
        int n;
        n=read(new_fd,buffer,sizeof(buffer));
        buffer[n]='\0';
        printf("Form:%s
:%s
",inet_ntoa(client_addr.sin_addr),buffer);
        bzero(buffer,sizeof(buffer));
        printf("Please Enter msg:");
        n=0;
        while((buffer[n++]=getchar())!='
');
        write(new_fd,buffer,sizeof(buffer));
    }
    close(new_fd);
    close(sockfd);
}

客户端代码

#include "stdio.h"
#include "sys/socket.h"
#include "netdb.h"
#include "netinet/in.h"
#include "string.h"
#include "errno.h"
#include "stdlib.h"
#include "sys/types.h"
void error_get(int argc)
{
    if(argc!=3)
    {
        printf("Error:%s
",strerror(errno));
        exit(1);
    }
}
struct hostent *get_host(char *hostname)
{
    struct hostent *host;
    host=(struct hostent *)malloc(sizeof(struct hostent));
    if((host=gethostbyname(hostname))==NULL)
    {
        printf("Get Hostname Error:%s
",strerror(errno));
        exit(1);
    }
    else
        return host;
}
int get_port(char *port)
{
    return atoi(port);
}
int creat_socket(void)
{
    int sockfd;
    if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
    {
        printf("Creat Socket Error:%s
",strerror(errno));
        exit(1);
    }
    else
        return sockfd;
}
void init_data(struct sockaddr_in *server_addr,int portnumber,struct hostent *host)
{
    bzero(server_addr,sizeof(struct sockaddr_in));
    server_addr->sin_family=AF_INET;
    server_addr->sin_port=htons(portnumber);
    server_addr->sin_addr=*((struct in_addr *)host->h_addr);
}
void creat_connect(int sockfd,struct sockaddr_in *server_addr)
{
    printf("开始连接. . .");
    if(connect(sockfd,(struct sockaddr *)server_addr,sizeof(struct sockaddr))==-1)
    {
        printf("Creat Connect Error:%s
",strerror(errno));
        exit(1);
    }
    printf("
连接成功!
");
}
int main(int argc,char **argv)
{
    int portnumber,sockfd;
    struct hostent *hostname;
    struct sockaddr_in server_addr;
    char buff[1024];
    int n;
    error_get(argc);
    hostname=get_host(argv[1]);
    portnumber=get_port(argv[2]);
    sockfd=creat_socket();
    init_data(&server_addr,portnumber,hostname);
    creat_connect(sockfd,&server_addr);
    while(1)
    {
        int i=0;
        printf("Please Enter msg:");
        while((buff[i++]=getchar())!='
');
        write(sockfd,buff,sizeof(buff));
        bzero(buff,sizeof(buff));
        n=read(sockfd,buff,sizeof(buff));
        buff[n]='\0';
        printf("From:%s
:%s
",argv[1],buff);
    }
    close(sockfd);
    return 0;
}


不就是写个web吗

这怎么了?设计啊!哪不会啊!?


实训项目2__Linux基本命令(带参考答案)
回答:实验报告实训项目2Linux基本命令一、实训目的●掌握Linux各类命令的使用方法;●熟悉Linux操作环境。二、实训内容练习使用Linux常用命令,达到熟练应用的目的。三、实训步骤子项目1.文件和目录类命令的使用(1)启动计算机,利用root用户登录到系统,进入字符提示界面。练习使用cd命令(2)用pwd命令查看当前所在的...

薪享宏福云计算课程大纲大家有吗,能否看看
7.软件包安装(1课时)8.用户及权限管理(1课时)9.案例精讲(1课时)10.阶段测试(1课时)二、Linux高级系统工程师课程 实训周期:5.5周 实训方式:项目实战集训 实训主题:1.Linux网络配置(1课时)2.Linux基础命令(1课时)3.网络文件系统(1课时)4.Linux网络服务(6课时)5.Linux防火墙(1课...

Linux项目实训开启你的操作系统之旅linux项目实训
实现Linux实训首先要安装Linux操作系统,具体的安装过程如下:1.准备安装数据 下载系统镜像,准备硬盘。2.引导系统安装 根据操作系统安装提示,一步步完成系统安装,设置系统配置,检查安装结果。3.完成安装 通过安装后续测试,安装Linux成功。另外,Linux实训还可以通过shell脚本,批处理等技术实现,以及常见工作...

Linux权限操作实训实现安全管理linux权限实训
首先,第一步是给出有效的权限设置。相比于Windows,Linux中的权限设置比较严格,根据文件的不同属性,Linux具有多种权限。我们可以通过以下的shell命令去查看某个文件的权限:ls -l demo.txt -rw-r–r– 1 user user 0 Jul 18 15:09 demo.txt 其中,第一个字符`-`表示这是一个文...

Linux基础及应用教程实验指导与实训内容简介
《Linux基础及应用教程实验指导与实训》是一本针对Fedora Core Linux的实际操作应用指南。作为Linux基础与应用教程的配套教材,该书全面涵盖了Linux系统应用技术的实训内容。其中包括Linux桌面应用、文件系统管理、用户管理、进程管理、网络管理、安全管理等实用操作知识,旨在帮助Linux初学者快速入门,提高实际操作...

linux操作系统与实训
linux实训报告怎么写?实验目的:1、熟悉系统管理相关的命令;2、熟悉重定向及管道操作;3、熟悉后台运行符 3、掌握作业调度at和crontab的使用。实验设备及环境:PC兼容机(具体的机型)、Fedora14\/CentOS实验内容及要求:实验内容:1、练习系统管理相关的命令:top,free,who,w,ps,kill 2、将vi命令置于...

Linux实训指导教程Linux实训指导教程概述
《Linux实训指导教程》的所有实例均在Red Hat Linux 6.2环境中进行了严格的实测验证,确保其在实际操作中的适用性。该教程的特色在于通过丰富的实践环节,帮助读者掌握Linux操作系统的核心技能,并辅以简明易懂的概念讲解,使其不仅适合作为独立的Linux操作技能培训教材,也能够作为Linux操作系统原理课程的实战...

求份LINUX实习报告不足和收获
在一周的实训中遇到了不少的问题,如果在linux中配置dns的时候马虎,不细心,就会导致启用失败。而dns服务器配置问题也值得我们去理解,去实践,琢磨了很久,才琢磨透彻。4.3实习体会 通过本次的实习,我知道了“有心人天不负”,我们只有对什么都注意观察、分析、总结、归纳、提炼,才能使自己的工作...

linux并发程序设计 实训小结,急求!!!字数500~600
1 实验目的:掌握Linux环境下的进程并发程序及管道应用程序的编写要点。2 实验内容和实验步骤:(1) 调试并运行3.10的并发程序设计实例,显示结果是什么,并分析之。通过pipeline.c这个文件,调用child1.c和father1.c这两个程序,father1.c写入管理,然后再通过child1.c读管道,因此输出为以...

Linux操作系统高级教程目录
1.1.3Linux的版本 1.2Fedora8概述 1.2.1Fedora8简介 1.2.2Fedora8的特性 1.3Fedora8的安装 1.3.1硬件需求 1.3.2Fedora8的安装过程 1.4系统启动及关机 习题1 实训1Fedora8的安装 第2章Fedora8基本操作 2.1Xwindow概述 2.1.1xWindow简介 2.1.2xWindow的基本概念 2.2GNOME及其使用 2...

丁青县13111795024: 求Linux习题答案:在vi中,5G表示( ) -
徭狠莱普:[选项] A. 将光标移到第n行的行尾 B. 将光标移到第n行的行首 C. 将光标移到本行的第五个字符前 D. 将光标移到本行的第五个字符后

丁青县13111795024: linux题目 再次求破解三、判断题(共2题,每题10分,共20分)1. RedHat LINUX 安装时自动创建了根用户.( )2. 在安装RedHat Linux 时要以图形化模式安... -
徭狠莱普:[答案] 三 1.对 2.对 3.错 4.错 5.对,是特点之一 6.对 7.对 8.对 9.错 ls -R才是显示子目录的内容 10.对 四 1.644 目录 2.文件 3.硬连接 符号连接 4.rmdir rm 父目录 (rmdir 没有-f参数) 5.执行 五 1.ls /etc/boot 2.cat /etc/hosts 3.groupadd -g 10100 group1 4....

丁青县13111795024: Linux的实验题目 -
徭狠莱普: groupadd jsj adduser -G jsj student passwd student mkdir /option1 touch /option1/empty chown root:smith empty cp -p /option1/tmpty /tmp/empty1 ln -s /option1/empty /tmp/softln

丁青县13111795024: 求Linux习题答案:下面关于passwd命令说法不正确的是( ) -
徭狠莱普:[选项] A. 普通用户可以利用passwd命令修改自己的密码 B. 超级用户可以利用passwd命令修改自己和其他用户的密码 C. 普通用户不可以利用passwd命令修改其他用户的密码 D. 普通用户可以利用passwd命令修改自己和其他用户的密码

丁青县13111795024: 求助 Linux系统编程的实验题 -
徭狠莱普: gcc -o /root/hello /root/hello.c注意空格跟0跟o的区别!

丁青县13111795024: 急求Linux相关题目的答案((20点))
徭狠莱普: 我只能给你部分答案,以下都是个人看法,回答的不是很官方啊~~: 1,相对路径:打个比方:你现在在/etc下 你要编辑passwd 文件,如果你直接 vi passwd 这个就属于相对路径,2:还是以上面的例子来说明你在/etc 下,编辑passwd文件, ...

丁青县13111795024: linux基础操作题 -
徭狠莱普: 1. cd /home mkdir vitest cp txt vitest2. vim test_for_linux_en.txt3. 在vim的命令模式下输入":set nu",就有行号了4. vim vi 在命令模式中 键盘按dd 可删除插入模式时光标当前行5. 进入命令模式6. ‍一:在冒号下输入7. 命令模式下8. 输入:d ,...

丁青县13111795024: 一个简单的linux题目,只是确认一下答案.呵呵 ,谢谢了 -
徭狠莱普: 答案是A!/etc是系统配置文件文件目录/ect/passwd保存系统用户的帐号信息/etc/shadow保存用户密码文件(加密了)/var(vary) 包括系统...

丁青县13111795024: 3道Linux题目,麻烦看下前2题,还有最后一道也麻烦做下 ,急.
徭狠莱普: 3 建立用户:net user test 123/add 提升权限:net localgroup administrators test/add 建立用户:net user 用户名 密码 /add 提升权限:net localgroup administrators 用户名 /add 删除: net user test /delete

丁青县13111795024: linux操作题:创建LV -
徭狠莱普: 这是考试题么?1. 创建pv (一块磁盘用户创建卷组,如sdb磁盘)# pvcreate /dev/sdb2. 创建卷组(使用pv创建vg,卷组名vg0,PE大小16M)# vgcreate -s 16M vg0 /dev/sdb3. 创建lv(lv名lv01, /dev/vg0/lv01即/dev/卷组名/lv名)# lvcreate -L 800M -n ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网