操作系统实验:Shell编程

emmmmm,实验前老师发了一份实验说明,里面有教怎么配置虚拟机Ubuntu。这里就不做过多叙述,需要说明的是,kali和ubuntu都可以以shell运行这个C语言程序,详情如下。

配置虚拟机Ubuntu/Kali

下载VMWare软件和Ubuntu/Kali的镜像文件(https://cn.ubuntu.com/download或者https://www.kali.org/downloads/),这里我附上了中文乌班图官网和卡里官网的镜像地址,然后一步步在VM上安装就好了。记得换源和下载gcc。下载gcc的时候需要注意,可以先后运行以下俩个命令行

sudo apt-get install gcc   //安装gcc
apt-get install build-essential //第一个不行就用这个,再不行请留言
gcc --version //查看版本

运行Shell

将所给的代码放在一个.c的文件里面(这里以test.c文件为例),随后把test.c文件放置到root文件夹中,在root文件中打开终端,输入以下代码

gcc -o <可执行程序名> <源程序名>
//在这个程序里,把可执行程序名定为test,那么代码应该为
gcc -o test test.c //会出现一些警告,但是可执行程序test会照常出现,kali也可以照常进行

同目录下就会出现一个名为test的可执行程序(老师给的源代码else if打错了,需要改过来)。

./test          //同目录下使用这个命令就可以直接运行了,不同文件名需要修改成自己的

这里附一张用kali虚拟机演示的结果

尽管这里疯狂警告,但是还是在同目录下出现了shiyan这个可执行文件。

运行结果

实验报告里说的是在用户登陆的时候就会自动运行,但我在同学的虚拟机上重启了很多次都实现不了登陆的时候自动弹出,但我在自己的Ubuntu的服务器上就可以实现一连接服务器就直接弹出。这里附上一张在kali虚拟机上运行的结果

以下是在自己ubuntu服务器上运行的结果。

操作系统实验(一)-Shell编程的更多相关文章

  1. Linux下管道重定向使用以及Shell编程(操作系统)

    实验名称:Linux的基本操作 实验目的: 1.了解管道和重定向 2.熟悉基本的Linux脚本的编写 实验环境:Ubuntu 12.4(32位,简体中文) 实验内容: 1.将当前用户目录下的文件清单输 ...

  2. linux操作系统5 shell编程

    知识内容: 1.shell编程预备知识 2.shell变量 3.表达式与运算符 4.分支循环语句 5.函数 一.shell编程预备知识 1.什么是shell编程 shell是与linux交互的基本工具 ...

  3. SHELL编程综合练习

    SHELL编程综合练习1 一. 实验准备(预防抄袭,此步必做) 请将命令提示符设为你的学号:输入PS1=你的学号_,即学号之后跟下划线,例如PS1=110015_, 回车执行 如发现命令提示符和你的学 ...

  4. shell编程:定义简单标准命令集

    shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...

  5. Linux Shell编程入门

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  6. Shell 编程基础之变量和环境变量

    一.变量赋值和引用 Shell 编程中,使用变量无需事先声明,同时变量的命名不惜遵循如下规则: 首个字符必须为字母(a-z,A-Z)或者_ 变量名中间不能有空格,可以使用_连接 不能使用其他表达符号 ...

  7. Linux下的Shell编程

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  8. linux中shell编程

    shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚 ...

  9. [转]Windows Shell 编程 第二章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987893】

    第二章Shell的结构  “Shell 编程”的大伞之下有大量的API函数和COM接口.这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程.函数和接口并不是两种提供相同功能 ...

随机推荐

  1. In_array()函数弱比较

    0x01 定义 (PHP 4, PHP 5, PHP 7) in_array - 检查数组中是否存在某个值 说明 in_array ( mixed $needle , array $haystack ...

  2. Linux 驱动框架---驱动中的异步

    异步IO是对阻塞和轮询IO的机制补充,所谓异步IO就是在设备数据就绪时主动通知所属进程进行处理的机制.之所以说是异步是相对与被通知进程的,因为进程不知道也无法知道什么时候会被通知:这一机制非常类似于硬 ...

  3. C# 6.0 Features , C# 7.0 Features

    1 1 1 C# 6.0 Features http://stackoverflow.com/documentation/c%23/24/c-sharp-6-0-features#t=20160828 ...

  4. macOS 需要更新软件才能连接到 iOS 设备

    macOS 需要更新软件才能连接到 iOS 设备 更新 Mac 上的软件 如果您在 iPhone.iPad 或 iPod touch 上看到"需要更新软件才能连接到 iOS 设备" ...

  5. taro swiper & scroll tabs

    taro swiper & scroll tabs https://taro-docs.jd.com/taro/docs/components/viewContainer/swiper.htm ...

  6. TypeScript Generics

    TypeScript Generics https://www.typescriptlang.org/docs/handbook/generics.html 泛型 1 Generic Interfac ...

  7. Apache 低版本不支持 WebSocket

    Apache 低版本不支持 WebSocket Apache HTTP Server Version 2.4 Apache Module mod_proxy_wstunnel https://http ...

  8. net字符串倒置和冒泡排序

    using System;using System.Configuration;using System.Data;using System.Linq;using System.Web;using S ...

  9. jQuery编写组件的几种方式

    原文链接:https://w.cnblogs.com/xiao-xi/p/8572471.html 三种方式: 1.通过$.extend()来扩展jQuery 2.通过$.fn 向jQuery添加新的 ...

  10. MySQL like查询使用索引

    在使用msyql进行模糊查询的时候,很自然的会用到like语句,通常情况下,在数据量小的时候,不容易看出查询的效率,但在数据量达到百万级,千万级的时候,查询的效率就很容易显现出来.这个时候查询的效率就 ...