操作系统实验(一)-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进行编程.函数和接口并不是两种提供相同功能 ...
随机推荐
- Chrome console & Command Line API
Chrome console & Command Line API $ && $$ querySelector querySelectorAll Command Line AP ...
- Electron All In One
Electron All In One desktop app https://www.electronjs.org/docs/api/browser-window BrowserWindow 创建和 ...
- window resize & resize observer
window resize & resize observer https://developer.mozilla.org/en-US/docs/Web/API/Window/resize_e ...
- 【.NET 与树莓派】控制舵机
不管是小马达,还是大马达,嗯,也就是电机,相信大伙伴们也不会陌生.四驱车是一种很优秀的玩具,从老周小时候就开始流行(动画片<四驱兄弟>估计很多大朋友都看过),直到现在还能看到很多卖四驱车的 ...
- 1004 Counting Leaves ——PAT甲级真题
1004 Counting Leaves A family hierarchy is usually presented by a pedigree tree. Your job is to coun ...
- 前端问题录——在导入模块时使用'@'时提示"Modile is not installed"
前情提要 为了尽可能解决引用其他模块时路径过长的问题,通常会在 vue.config.js 文件中为 src 目录配置一个别名 '@' configureWebpack: { resolve: { a ...
- CentOS Install NMP
目录 Installation steps of the Nginx install run 默认安装路径 指定安装目录 Installation steps of the MySQL 下载源码包 解 ...
- C++类的静态成员笔记
下面是C++类的静态成员笔记. 静态数据成员特征 用关键字static声明 为该类的所有对象共享,静态数据成员具有静态生存期 必须在类外定义和初始化,用(::)来指明所属的类 举例说明-具有静态数据成 ...
- [个人总结]利用grad-cam实现人民币分类
# -*- coding:utf-8 -*- import os import numpy as np import torch import cv2 import torch.nn as nn fr ...
- Hi3559AV100 NNIE RFCN开发:V4L2->VDEC->VPSS->NNIE->VGS->VO系统整体动态调试实现
下面随笔将给出Hi3559AV100 NNIE RFCN开发:V4L2->VDEC->VPSS->NNIE->VGS->VO系统整体动态调试实现,最终的效果是:USB摄像 ...