操作系统实验: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. 系统扩展与 macOS 不兼容

    系统扩展与 macOS 不兼容 某些系统扩展与当前版本的 macOS 不兼容或将与后续 macOS 版本不兼容 https://support.apple.com/zh-cn/HT210999 ref ...

  2. web 存储方式汇总:Cookies,Session, Web SQL; Web Storage(LocalStorage ,SessionStorage),IndexedDB,Application Cache,Cache Storage

    1 1 1 web 存储方式汇总: 旧的方式: Cookies; Session; Web SQL; 新的方式 HTML5 : Web Storage(LocalStorage ,SessionSto ...

  3. Upcoming Browser Behavior Changes & Chrome & SameSite

    Upcoming Browser Behavior Changes & Chrome & SameSite Chrome 80 https://auth0.com/blog/brows ...

  4. How to create a folder symbol link in macOS

    How to create a folder symbol link in macOS macOS 创建文件夹链接 Make AliasMake Alias Symbolic Links 符号链接 $ ...

  5. Github & DMCA Takedown & git remove history

    Github & DMCA Takedown & git remove history Github & DMCA Takedown Policy Removing files ...

  6. svg click event bug & css pointer-events

    svg click event bug & css pointer-events svg click event not working Error OK ??? css class /* d ...

  7. 在.NET Core 中使用 FluentValidation 进行规则验证

    不用说,规则验证很重要,无效的参数,可能会导致程序的异常. 如果使用Web API或MVC页面,那么可能习惯了自带的规则验证,我们的控制器很干净: public class User { [Requi ...

  8. 疯狂的String

    本文转载自疯狂的String 导语 在java中字符串是我们比较常用的一个类型,字符串是不可变的,类被声明为final , 存储字符的char[] value数据也被声明为final ,我们对Stri ...

  9. 自己的Scrapy框架学习之路

    开始自己的Scrapy 框架学习之路. 一.Scrapy安装介绍 参考网上资料,先进行安装 使用pip来安装Scrapy 在开始菜单打开cmd命令行窗口执行如下命令即可 pip install Scr ...

  10. 你见过老外的 Java 面试题吗 (上)?

    前言 最近无聊的在逛某 tube 网站,本来想看看大家是怎么吐槽川普的,结果无意间点进了一个老外面试 Java 的视频,对于常年面试被吊打的我瑟瑟发抖,于是决定进去一探究竟. 毕竟不是专业的后台开发, ...