当前位置: 首页 > news >正文

Linux程序开发(一):Linux基础入门安装和实操手册

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊!

喜欢我的博客的话,记得点个红心❤️和小关小注哦!您的支持是我创作的动力!数据源存放在我的资源下载区啦!

Linux程序开发(一):Linux基础入门安装和实操手册

目录

  • Linux程序开发(一):Linux基础入门安装和实操手册
    • 第一次作业
      • 1、Linux与Unix的关系?
      • 2、Linux内核版本和发行版本的差别?
      • 3、解释GPL、POSIX、LBS。
      • 4、安装自己的Linux运行环境,该任务在自己的机器上完成,架设完毕后写出主要安装步骤并截图。
        • ==(1)下载VMWARE,安装centos7==
        • ==(2)关联centOS镜像==
        • ==(3)安装centOS镜像==
        • ==(4)直接回车==
        • ==(5)镜像检测,在这里可以直接按下Esc键,跳过检测==
        • ==(6)等待一会, 就会出现以下界面==
        • ==(7)以root用户身份登录: 输入 root , 然后输入密码 即可登录成功==
      • 5、给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
      • 6、用递归的方法求 Hermite 多项式的值

第一次作业

问答题:

1、Linux与Unix的关系?

Linux与Unix有很紧密的关系。
(1)Linux最初是由Linus Torvalds在1991年编写的:它的核心遵循了Unix的设计思路,并参考了一些Unix的代码。因此,Linux与Unix有着相似的命令行界面、文件系统结构和进程管理方式。(2)另外,Linux还内置了许多来自Unix的工具和服务:但是,Linux并不是完全兼容Unix的,在一些细节上还存在差异。另外值得注意的是,Unix是一个商业操作系统,而Linux则是一个开源免费的操作系统。

2、Linux内核版本和发行版本的差别?

Linux内核版本和发行版之间是有一些差异的。(1)Linux内核是操作系统的核心部分:它控制着硬件和软件之间的交互。Linux内核版本号通常由三个数字构成,例如:5.14.6。每个数字表示一个层次结构:大版本、次要版本和修订版本。新版本的内核通常包含了新的功能和性能优化,并且也会修复已知的安全漏洞和bug。(2)Linux发行版则是基于Linux内核的完整操作系统:并包括一个桌面界面、应用程序、工具等。常见的Linux发行版包括Ubuntu、Debian、Red Hat Enterprise Linux、CentOS、Fedora等。不同发行版之间会有不同的软件包管理系统、默认桌面环境、配置文件位置等等。发行版会对Linux内核进行定制和打包以便于用户使用。(3)简单来说,Linux内核是操作系统的核心:控制着硬件和软件之间的交互。而发行版则是基于Linux内核的完整操作系统,包含了桌面界面和各种应用程序。

3、解释GPL、POSIX、LBS。

GPL(General Public License):通用公共许可证是一种开源软件许可证,它保障了用户对软件的自由使用、修改和分发。GPL要求在使用或修改基于GPL许可的软件时,必须将修改后的代码也以GPL许可证的形式进行发布。这意味着GPL许可证确保了开源软件在整个生命周期中的开放性和自由性,鼓励开发者共享和合作。POSIX(Portable Operating System Interface for Unix):可移植操作系统接口标准是为了使Unix和类Unix操作系统之间具有可移植性而制定的一套标准。POSIX定义了一系列的API(应用程序接口)和命令行工具规范,旨在提供一致的系统调用接口、文件系统结构、下层硬件接口等,使得符合POSIX标准的应用程序可以在不同的POSIX兼容操作系统上运行。LBS(Location-Based Service):基于位置的服务是指利用移动通信技术和位置信息来提供与用户位置相关的各种应用和服务。通过LBS,用户可以获取周边商家信息、导航路线、地图定位、社交媒体签到等功能。LBS技术通常依赖于全球定位系统(GPS)或移动基站信号定位,结合地图数据和其他相关信息实现服务的提供。LBS在移动互联网时代得到了广泛的应用,为用户提供了更便捷和个性化的服务体验。

实验题:

4、安装自己的Linux运行环境,该任务在自己的机器上完成,架设完毕后写出主要安装步骤并截图。

提示:有三种方式架设Linux运行环境

  • 第一种方式,独立安装:在计算机硬件上独立安装Linux发行版本。
  • 第二种方式,虚拟机安装:在Windows操作系统或者Mac操作系统中安装虚拟机软件,虚拟机上再安装Linux操作系统。
  • 第三种方式,软件仿真:在Windows系统中安装cygwin的类Unix运行环境。
(1)下载VMWARE,安装centos7

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)关联centOS镜像

在这里插入图片描述

在这里插入图片描述

(3)安装centOS镜像

在这里插入图片描述

在这里插入图片描述

(4)直接回车

在这里插入图片描述

(5)镜像检测,在这里可以直接按下Esc键,跳过检测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(6)等待一会, 就会出现以下界面

在这里插入图片描述

(7)以root用户身份登录: 输入 root , 然后输入密码 即可登录成功

在这里插入图片描述

编程题:

5、给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

输入格式

第一行为 n(0<n<20),表示班里的学生数目;

接下来的 n 行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过 20,成绩为一个不大于 100 的非负整数。
输出

把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。

输入样例

4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28

输出样例

Joey 92
Hanmeimei 90 
Kitty 80
Tim 28

代码实现

// 添加了#define _CRT_SECURE_NO_WARNINGS,以消除关于scanf函数不安全的警告
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>#define maxSize 21struct student {char name[maxSize];int score;
};// 冒泡排序函数,按照分数从高到低排序,如果分数相同,则按照姓名的字典序排序
void bubbleSort(struct student s[], int n) {struct student temp;for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {// 如果当前元素的分数比下一个元素的分数小,交换位置if (s[j].score < s[j + 1].score) {temp = s[j];s[j] = s[j + 1];s[j + 1] = temp;}// 如果当前元素的分数与下一个元素的分数相等,但是姓名的字典序大于下一个元素的姓名字典序,交换位置if (s[j].score == s[j + 1].score && strcmp(s[j].name, s[j + 1].name) > 0) {temp = s[j];s[j] = s[j + 1];s[j + 1] = temp;}}}
}int main() {struct student s[maxSize], temp; // 定义一个结构体数组s来存储学生信息,temp用于交换临时变量int n; // 学生数量scanf("%d", &n); // 输入学生数量// 输入学生信息,包括姓名和分数for (int i = 0; i < n; i++)scanf("%s%d", s[i].name, &(s[i].score));// 调用冒泡排序函数,对学生信息进行排序bubbleSort(s, n);// 输出排序后的学生信息for (int i = 0; i < n; i++)printf("%s %d\n", s[i].name, s[i].score);return 0;
}

代码结果

在这里插入图片描述

6、用递归的方法求 Hermite 多项式的值

h n ( x ) = { 1 n = 0 2 x n = 1 2 x h n − 1 ( x ) − 2 ( n − 1 ) h n − 2 ( x ) n > 1 h_n\left(x\right)= \begin{cases} 1 \qquad n=0\\ 2x \qquad n=1\\ 2xh_{n-1}\left(x\right)-2\left(n-1\right)h_{n-2}\left(x\right) \qquad n>1 \end{cases} hn(x)= 1n=02xn=12xhn1(x)2(n1)hn2(x)n>1

对给定的 x 和正整数 n ,求多项式的值,并保留两位小数。

输入格式

给定的 n 和正整数 x。

输出格式

多项式的值。

输入样例

1 2

输出样例

4.00
// 添加了#define _CRT_SECURE_NO_WARNINGS,以消除关于scanf函数不安全的警告
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>// hermite递归函数
double hermite(int n, int x)
{if(0==n)return 1;else if(1==n)return 2*x;elsereturn 2*x*hermite(n-1, x)-2*(n-1)*hermite(n-2, x);
}int main()
{int n, x;scanf("%d %d", &n, &x);printf("%.2f\n", hermite(n, x));return 0;
}==== 代码

代码结果

在这里插入图片描述

相关文章:

Linux程序开发(一):Linux基础入门安装和实操手册

Tips&#xff1a;"分享是快乐的源泉&#x1f4a7;&#xff0c;在我的博客里&#xff0c;不仅有知识的海洋&#x1f30a;&#xff0c;还有满满的正能量加持&#x1f4aa;&#xff0c;快来和我一起分享这份快乐吧&#x1f60a;&#xff01; 喜欢我的博客的话&#xff0c;记得…...

Java | Leetcode Java题解之第92题反转链表II

题目&#xff1a; 题解&#xff1a; class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {// 设置 dummyNode 是这一类问题的一般做法ListNode dummyNode new ListNode(-1);dummyNode.next head;ListNode pre dummyNode;for (int i 0; …...

声纹识别在无人机探测上的应用

无人机在民用和军事领域的应用越来越广泛。然而&#xff0c;随着无人机数量的增加&#xff0c;"黑飞"现象也日益严重&#xff0c;对公共安全和隐私构成了威胁。因此&#xff0c;开发有效的无人机探测与识别技术变得尤为重要。及时发现黑飞无人机的存在进而对其型号进…...

【数据结构】时间、空间复杂度实例分析

跌倒了&#xff0c;就重新站起来&#xff0c;继续向前走&#xff1b;傻坐在地上是没用的。&#x1f493;&#x1f493;&#x1f493; 目录 •✨说在前面 &#x1f34b;知识点一&#xff1a;算法的效率 • &#x1f330;1.斐波那契数列的第n项 • &#x1f330;2.算法的复杂度…...

2024生日快乐祝福HTML源码

源码介绍 2024生日快乐祝福HTML源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c; 源码截图 源码下载 2024生日快乐祝福HTML源码...

Android系统不同版本存储权限

一、Android存储简介 Android系统分为内部存储和外部存储 从Android6.0开始不断在更新存储&#xff08;读写&#xff09;权限&#xff0c;除了在AndroidManifest.xml文件里声明&#xff0c;app运行时也要动态申请使用对应的权限 提醒&#xff1a;应用私有存储不需要动态申请权…...

ue引擎游戏开发笔记(41)——行为树的建立(2)--丰富ai行为:巡逻后返回原处

1.需求分析&#xff1a; 就敌人ai而言&#xff0c;追踪到敌人有可能丢失目标&#xff0c;丢失目标后应该能返回原来位置&#xff0c;实现这一功能。 2.操作实现&#xff1a; 1.思路&#xff1a;利用clear value函数&#xff0c;禁用掉当前的追踪功能&#xff0c;执行之后的返…...

Linux quotacheck命令教程:如何检查和修复文件系统的磁盘配额(附案例详解和注意事项)

Linux quotacheck命令介绍 quotacheck命令是用于扫描文件系统以检查磁盘配额的一致性。它生成、检查和修复配额文件。这个命令通常在系统引导时运行&#xff0c;或者在手动更改了配额设置后运行。 Linux quotacheck命令适用的Linux版本 quotacheck命令在大多数Linux发行版中…...

Response对象的学习

Response对象在Web开发中是一个重要的概念&#xff0c;它代表了服务器对客户端请求的响应。当客户端&#xff08;如浏览器&#xff09;向服务器发送一个请求后&#xff0c;服务器会生成一个Response对象&#xff0c;其中包含了服务器返回给客户端的数据、状态码、响应头等信息。…...

QCustomplot---动态图

QCustomplot绘制动态曲线图-游标及鼠标跟踪显示数值_qcustomplot 游标-CSDN博客 m_timer new QTimer(this);connect(m_timer,SIGNAL(timeout()),this,SLOT(slotTimeout()));m_timer->start(50); void MainWindow::slotTimeout() {static int p0;static int i0;double m,m1…...

蛋白聚乙二醇化修饰检测试剂盒

蛋白多肽因其高生物活性、高特异性等优点备受药物开发商和研究者的青睐。但分子量大、亲水性强、稳定性差等劣势限制了蛋白多肽在临床上的应用&#xff0c;特别是蛋白多肽作为一种异源蛋白具有很强的免疫原性&#xff0c;容易被机体免疫系统识别并清除&#xff0c;导致药物的血…...

[Algorithm][回溯][字母大小写全排列][优美的排列][N皇后]详细讲解

目录 1.字母大小写全排列1.题目链接2.算法原理详解3.代码实现 2.优美的排列1.题目链接2.算法原理详解3.代码实现 3.N 皇后1.题目链接2.算法原理详解3.代码实现 1.字母大小写全排列 1.题目链接 字母大小写全排列 2.算法原理详解 本题逻辑与子集大致相同 思路一&#xff1a;每…...

.NET_NLog

步骤 1. 添加依赖 ①Microsoft.Extensions.DependencyInjection ②NLog.Extensions.Logging&#xff08;或Microsoft.Extensions.Logging.___&#xff09; Tutorial NLog/NLog Wiki GitHub 2.添加nlog.config文件(默认名称, 可改为其他名称, 但需要另行配置) 文件的基础…...

Linux查看进程命令ps和top

Linux 是一种自由和开放源代码的操作系统&#xff0c;它的使用在全球范围内非常广泛。在 Linux 中&#xff0c;进程是操作系统中最重要的组成部分之一&#xff0c;它代表了正在运行的程序。了解如何查看正在运行的进程是非常重要的&#xff0c;因为它可以帮助你了解系统的运行状…...

深入解析Wireshark1:从捕获到分析,一网打尽数据包之旅

目录 1 认识 Wireshark 1.1 选择网卡界面 1.2 捕获数据包界面 1.3 常用按钮功能介绍 1.4 数据包列表信息 1.5 数据包详细信息 2 数据包案例分析 Frame: 物理层的数据帧概况 Ethernet II: 数据链路层以太网帧头部信息 Internet Protocol Version 4 (IPv4): 互联网层IP…...

C++语法|指向类成员(成员变量和成员方法)的指针及其相关应用场景

文章目录 1.基本语法指向成员变量的指针示例 指向成员函数的指针示例 注意事项 2.应用场景泛型编程和模板&#xff1a;通用成员访问打印函数回调机制和事件处理&#xff1a;基于简单GUI框架的事件处理 1.基本语法 指向类成员的指针是一种特殊的指针类型&#xff0c;用于指向类…...

【C语言】通讯录系统实现

目录 1、通讯录系统介绍 2、代码分装 3、代码实现步骤 3.1制作菜单函数以及游戏运行逻辑流程 3.2、封装人的信息PeoInfo以及通讯录Contact结构体类型 3.3、初始化通讯录InitContact函数 3.4、增加联系人AddContact函数 3.5、显示所有联系人ShowContact函数 3.6、删除联系人D…...

(delphi11最新学习资料) Object Pascal 学习笔记---第12章第1节 ( 类静态方法与Windows API回调)

12.1.4 类静态方法与Windows API回调 ​ 静态类方法没有隐藏的Self参数意味着静态类方法可以作为回调函数传递给操作系统&#xff08;例如&#xff0c;在Windows上&#xff09;。实际上&#xff0c;您可以声明一个具有stdcall调用约定的静态类方法&#xff0c;并将其用作直接的…...

第一个Rust程序

在安装好Rust以后&#xff0c;我们就可以编写程序了。 首先&#xff0c;我们执行下面的命令&#xff0c;尽量让你的rust版本和我的版本相同&#xff0c;或者比我的版本大。 zhangdapengzhangdapeng:~$ cargo --version cargo 1.78.0 (54d8815d0 2024-03-26) zhangdapengzhangd…...

【LInux】<基础IO> 文件操作 | 文件描述符 | 重定向

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…...

MySQL--增、删、改、查,

数据库的概述、发展、现状、历史、分类 MySQL关系型数据库、架构&#xff08;C/S&#xff09; window系统安装MySQL数据库 Linux系统【选学】 数据库对象——数据库&#xff08;database&#xff09; show、create、drop命令 数据库对象——表&#xff08;table&#xff…...

5.12学习总结

一.JAVA聊天室项目 文件发送 使用 Java Socket 实现聊天内容或文件的传输的原理如下&#xff1a; 服务器端启动&#xff1a;聊天室的服务器端在指定的端口上监听客户端的连接。它创建一个 ServerSocket 对象&#xff0c;并通过调用 accept() 方法等待客户端的连接请求。客户…...

ansible利用playbook 部署lamp架构

搭建参考&#xff1a;ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…...

SPI通信(使用SPI读写W25Q64)

SPI通信协议 • SPI&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司开发的一种通用数据总线 • 四根通信线&#xff1a; SCLK:串行时钟线&#xff0c;用来提供时钟信号的。 MOSI:主机输出&#xff0c;从机输入 MISO:从机输出&#xff0c;主机输入 SS:…...

<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义

<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义 一 、前言二、拓扑图 XML 定义2.1 <Node, port, link>2.2 < XML prolog >2.3 < UsecaseDef >2.4 < Usecase>2.5 < Targets>2.5.1 < Target>2.5.2 < Range>2.6 < Pipeline>2.…...

使用C++11实现Golang的defer功能

本文主要用C11标准来实现Golang的defer功能。 背景 目前笔者的主力语言是Golang&#xff0c;其次是C&#xff0c;再次是JS、Delphi。在Golang工程中大量使用了defer关键字实现函数的延迟调用。如打开文件的出错处理。近来在C工程中遇到类似需求&#xff0c;在函数返回时进行某…...

前端之电力系统SVG图低代码

其实所有的图形都是由点&#xff0c;线&#xff0c;面组成的。点线面可以组成一个设备。下面就简单讲讲点线面是怎么画的吧 对于线&#xff0c;可以用path <g><path:d"M ${beginX},${beginY} L ${endX},${endY}":stroke-width"lineWidth":strok…...

括号生成[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 数字n代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())(…...

配置ubuntu的VNC时遇到报错_XSERVTransmkdir: Mode of /tmp/.X11-unix should be set to 1777

现在win11内嵌了ubuntu系统&#xff0c;我在根据打造基于 VNC 的 Ubuntu 20.04 的远程桌面 配置VNC server时&#xff0c;到了 vncserver :1 这一步&#xff0c;遇到报错&#xff1a; vncserver: /usr/bin/Xtigervnc did not start up, please look into /root/.vnc/xxxxx.:1.…...

openstack部署nova中出现的问题:

[rootcontroller nova]# su -s /bin/sh -c “nova-manage db sync” nova /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u’Duplicate index block_device_mapping_instance_uuid_virtual_name_device_name_idx. This is deprecated and will be…...