操作系统实验(一)-Shell编程
操作系统实验: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编程的更多相关文章
- Linux下管道重定向使用以及Shell编程(操作系统)
实验名称:Linux的基本操作 实验目的: 1.了解管道和重定向 2.熟悉基本的Linux脚本的编写 实验环境:Ubuntu 12.4(32位,简体中文) 实验内容: 1.将当前用户目录下的文件清单输 ...
- linux操作系统5 shell编程
知识内容: 1.shell编程预备知识 2.shell变量 3.表达式与运算符 4.分支循环语句 5.函数 一.shell编程预备知识 1.什么是shell编程 shell是与linux交互的基本工具 ...
- SHELL编程综合练习
SHELL编程综合练习1 一. 实验准备(预防抄袭,此步必做) 请将命令提示符设为你的学号:输入PS1=你的学号_,即学号之后跟下划线,例如PS1=110015_, 回车执行 如发现命令提示符和你的学 ...
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
- Linux Shell编程入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- Shell 编程基础之变量和环境变量
一.变量赋值和引用 Shell 编程中,使用变量无需事先声明,同时变量的命名不惜遵循如下规则: 首个字符必须为字母(a-z,A-Z)或者_ 变量名中间不能有空格,可以使用_连接 不能使用其他表达符号 ...
- Linux下的Shell编程
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- linux中shell编程
shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚 ...
- [转]Windows Shell 编程 第二章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987893】
第二章Shell的结构 “Shell 编程”的大伞之下有大量的API函数和COM接口.这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程.函数和接口并不是两种提供相同功能 ...
随机推荐
- 【原】无脑操作:Centos 7.6 + MariaDB + Rsyslog + LogAnalyzer环境搭建
背景: 网络安全法第三章第二十一条明确规定"采取监测.记录网络运行状态.网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月". 为了满足合规性的要求,应当建设相应的日 ...
- vue 单文件组件最佳实践
vue 单文件组件最佳实践 生命周期 template <template> <section> <h1>vue single file components te ...
- VSCode 开放式架构的产品实现思路
VSCode 开放式架构的产品实现思路 https://code.visualstudio.com/ 源码 https://github.com/microsoft/vscode https://gi ...
- js data type checker
js data type checker js 数据类型检测 "use strict"; /** * * @author xgqfrms * @license MIT * @cop ...
- copy-webpack-plugin & ignore folder
copy-webpack-plugin & ignore folder https://github.com/webpack-contrib/copy-webpack-plugin#ignor ...
- Raspberry Pi & GPIO
Raspberry Pi & GPIO pinout === pin out / p in out pi@raspberrypi:~ $ pinout ,------------------- ...
- js inheritance all in one
js inheritance all in one prototype & proto constructor Object.definepropety Object.create() js ...
- flutter 插件调用callback函数
dart plugin class TestLib { static MethodChannel _channel = const MethodChannel('test_lib') ..setMet ...
- scrapy 运行逻辑
爬虫的步骤:发送请求获得响应→解析并提取数据→保存数据 我们沿用这个朴素的逻辑去理解scrapy 一.发送请求获得响应 1.爬虫发送请求request到引擎 2.引擎将请求request传递给调度器s ...
- 《Activity显示界面历险记》—说说View的那些理不清的关系
前言 在Activity显示View的过程中,有一些重要的角色总让人理不清,比如PhoneWindow.DecorView.ViewRootImpl. 也常常有面试题会问到,他们四者之间的关系?创建的 ...