25赛季算法组第一阶段第二次培训(ubuntu安装与基本使用)

news/2024/12/21 23:46:31/文章来源:https://www.cnblogs.com/ziyulab/p/18446055

25赛季算法组第一阶段第二次培训

1. Ubuntu 的介绍

1.1. 操作系统和操作系统的选择

操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。
操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU、内存、磁盘等的管理,同时对系统资源所需的优先次序进行管理。操作系统还可以控制设备的输入、输出以及操作网络与管理文件系统等事务。同时,它也负责对计算机系统中各类软件资源的管理。例如各类应用软件的安装、设置运行环境等。

操作系统简介

主流操作系统介绍

  1. windows 懂得都懂。是目前生态最好,使用范围最广的操作系统。优点在与生态好,使用较为自由,支持软件多(盗版软件方便安装)用户界面较为友好。缺点在于:系统bug多,稳定性差;系统权限设置不合理,容易导致软件对系统的篡改;系统资源分配不合理,导致系统不当使用易卡顿,成了流氓软件的滋生养蛊之地(因此把你哪什么360,鲁大师,联想电脑管家,xxx极速浏览器,xxx应用市场,都TM给我卸载了)。windows 一般适合普通用户使用,因为一般搭载windows的电脑往往经济实惠,且由于系统的易用性较好,因此不需要太多电脑知识即可掌控。
  2. Mac 苹果系统。是目前效率最好,易用性最好(当然看你有没有钱)稳定性较高(咋都高于windows)资源分配最好(可以看看苹果电脑的续航)的操作系统。因此一般集中于需要较大计算的高端应用上(如图像剪辑和特效制作)和追求稳定性和易于性的普通用户(需要人民币)上。其缺点就是:贵,贵,贵。而且二次开发性差(难装盗版软件)。而且局限于特定硬件,不适合用于部署嵌入式系统。
  3. Linux(ubuntu)Linux系统是开源的操作系统。由于其出色的稳定性和安全性,往往是大型服务器的选择。linux由于其开源的特性,很多爱好者将其修改并创建自己的发行版(ubuntu 就是其中之一)以满足不同的需求(比如centos在服务器方面进行了优化,常用于做网络服务器;ubuntu在嵌入式机器人控制支持较好,也在易用性进行了优化,因此适合于机器人应用,和日常使用)其主要优点是:系统轻量,运行效率高,速度快,对硬件要求很低;系统稳定性高,不易崩溃;开发工具齐全(各种包管理器很好用);正确使用能发挥很好的效能,因此常用于嵌入式系统。缺点便是:使用困难(命令行操作),常用工具缺乏(office 等软件),入门门槛高。

综上所述:我们选择ubuntu作为操作系统设计机器人

1.2. Linux 简介

上述完备,不再赘述,详细可以百度百科。

1.3. Ubuntu 简介

上述完备,不再赘述,详细可以百度百科。

1.4. Ubuntu 版本说明

我们目前使用 22.04 而不是 24.04 因此不要安装24.04版本

  • 22.04 是较新的版本且在生命周期内。网上资料较多,因此

2. Ubuntu 的安装

2.1. 主推:基于wsl2 的 Ubuntu 系统安装

2.1.1. wsl2 简介

为什么是wsl2?

wsl(适用于linux的windows子系统)是一种特殊的虚拟机。它和windows系统兼容性极好,能很好的利用windows主机的硬件资源,能获得较好的调度。

  • 使用虚拟机是一种简便的,安全的,在windows上安装linux系统的方法,主流的虚拟机软件是VMware。然而,由于虚拟机搭建的是一个完整的虚拟linux系统,和操作系统兼容性不良,而且无法使用计算机原有硬件,只能使用虚拟化硬件。因此运行速度慢,易崩溃,耗内存,吃cpu和存储空间。在学习时期可以使用,然而在开发时期就捉襟见肘了。
  • 使用双系统是一种高效的,和硬件兼容性最好的linux系统安装方式,本质上是在硬盘中安装两个系统,使的windows在电脑中共存。它能够很好利用计算机硬件,如你的nvidia,也是这三种方式中运行速度最快的一种。然而由于双系统的安装需要较为丰富的系统装机经验(否则可能导致你原先系统也无法正常运行),且安装复杂与否,与硬件密切相关。因此,不适合于初学者进行使用。
  • wsl2 具有安装容易,与windows兼容较好,clion vscode 等开发工具支持度高的有点。虽然初学期间只能通过命令进行操作,无法使用图形界面(后期可以通过命令行安装),容易劝退,但一旦克服这点,就非常适合进行开发。因此本培训主要讲解wsl的安装

2.1.2. wsl2 上

ubuntu

注意:此处安装 ubuntu 22.04 LTS 而不是 24.04 版本,我们暂时不考虑更新版本。因为新版本是24年发布的,较新,资源较少,不适合初学,也不适合稳定应用程序的开发。

  1. 开启你的 wsl2 服务和虚拟机平台服务
  2. 在 windows 微软应用商店中搜索 ubuntu 并安装
  3. 安装linux内核 (https://zhuanlan.zhihu.com/p/650240196#:~:text=本文介绍了在win10系统中,将wsl1升级到wsl2后安装Debian时遇到的错误,以及解决办法。错误原因是没有安装wsl2的内核升级包,解决方法是从微软官网下载并安装wsl的内核升级包。
  4. 如果使用windows 家庭版,可能需要手动开启hyper -v
  5. 输入用户名密码进行账号设置(注意:Linux 系统输入密码都是不显示输入值的,因此会让人以为没有成功输入)

详细参照:https://blog.csdn.net/weixin_44301630/article/details/122390018

2.2. 基于 VMware 虚拟机的 Ubuntu 环境搭建

不写详细文案,只做演示。详情请见视频回放

参考博客:VMware 安装配置 Ubuntu(最新版、超详细)_vmware-workstation-full-17.5.1-23298084.exe-CSDN博客 (注意VMware现不支持官网下载安装包,下载试用版安装包请参考这篇博客:2024.6最新详细的vmware17.5.2的下载及安装教程_vmware workstation 17.5.2-CSDN博客)

2.3. Ubuntu 与 windows 双系统的配置简介

不写详细文案,只做演示。详情请见视频回放

参考博客:Windows11 + Linux (Ubuntu22.04) 双系统最简安装详细避坑版_win11安装linux双系统-CSDN博客

系统安装分区参考博客:Windows11 + Linux (Ubuntu22.04) 双系统最简安装详细避坑版_win11安装linux双系统-CSDN博客

3. Ubuntu 的基本使用

3.1. 初识命令行

3.1.1. Ubuntu 命令行简介

ubuntu是一种基于Linux内核的操作系统,因此ubuntu命令和Linux命令基本一致。
使用linux终端命令的原因: linux刚开始是没有图形界面的,所有的操作全靠命令完成,如磁盘操作,文件存取,目录操作,进程管理,文件权限设定等等。
Linux发行的命令有很多,但常用的只有10个左右。

3.1.2. Ubuntu 的权限系统与 sudo

在Linux下,有普通用户和超级管理员(root)用户之分。对于一些系统的底层操作,需要使用到超级管理员用户权限。而如果直接让普通用户获取root,可能会导致失误造成系统破坏。因此,我们在使用其他指令时,使用sudo指令临时获得超级管理员权限。

sudo apt install xxx

3.2. 文件系统的基本操作

3.2.1. 目录操作:cd,mkdir,ls

  1. cd :更改当前的工作空间(注意:linux所有的目录和文件名都是大小写敏感的>
命令 含义
cd 切换到当前用户的主目录(/home/用户目录)
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd . 保持在当前目录不变
cd … 切换到上级目录
cd - 可以在最近两次工作目录之间来回切换

相对路径和绝对路径:

相对路径:输入前最前面无 / 或 ~ ,表示相对 当前目录 所在的目录位置

绝对路径:在输入路径时,最前面时 / 或 ~ ,表示从根目录或家目录开始的具体目录位置

  1. mkdir

创建一个新目录

选项 含义
-p 可以递归创建目录

新建目录名称 不能与当前已有的目录或文件 同名

  1. ls

list的简写,功能是列出目录的内容

ls 常用选项

参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小

<注意: 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示>

3.2.2. 文件基础操作:cp,mv,rm

  1. cp

cp 命令的功能是将给出的文件 或 目录 复制 到另一个文件或目录中

选 项 含义
-i 覆盖文件前提示
-r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
  1. mv

mv命令 可以移动文件 或 目录,也可以给 文件或目录 重命名

选项 含义
-i 覆盖文件前提示
  1. rm

删除文件或目录

使用 rm 命令要小心,因为文件删除后不能恢复

选项 含义
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹 时必须加此参数

3.2.3. 文件的编辑

具体可参考:

https://www.cnblogs.com/bingle/p/9785621.html

  1. :vi编辑法:打开终端,输入vi test.txt 回车,按 i 进入编辑模式,输入想要编辑的内容,然后按esc键退出编辑模式,输入:wq保存并退出。(w 报错 q 退出 可选择加!表示强制执行)
  2. :vim编辑法:与vi编辑法指令界面,不过有代码高亮。

3.3. Ubuntu 镜像库软件安装

# 首先换源
# 鱼香ROS一键换源(初学者推荐)
wget http://fishros.com/install -O fishros && . fishros# 手动换源(中科大源)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update# 核心指令
sudo apt update
sudo apt install xxx

3.4. Ubuntu 非镜像库软件安装

# 核心指令
sudo dpkg -i xxx

4. clion 与 vscode cmake 开发环境的配置 (wsl2 + windows)

  1. 下载破解版 clion 可参考以下教程:Clion 2024.2.2 最新破解版安装教程(附激活码,至2099年~) - 犬小哈教程 (quanxiaoha.com) (注:推荐使用学生邮箱 + 正版。在 windows 上安装)

  2. 下载 vscode (免费,windows 上安装)

  3. 在wsl上配置 cmake 编译环境

    1. 换源(选择一种方法即可)
    # 鱼香ROS一键换源(初学者推荐)
    wget http://fishros.com/install -O fishros && . fishros# 手动换源(中科大源)
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
    sudo apt update
    

    b. 安装相关依赖

    sudo apt install vim cmake make -y
    

5. clion 与 vscode cmake 开发环境的配置 (Ubuntu 桌面)

见演示,可查看视频回放

6. 练习作业

完成cmake环境配置,并展示完成配置的截图(展示使用任意方式安装好的Ubuntu系统)(下次培训前-5号晚上)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/807629.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Electron] 搭建 Vite+Electron 项目

安装 搭建 Vite 项目(根据官方文档搭建),安装 electron、nodemon。 pnpm install electron nodemon -D配置 electron/main.js file:[electron/main.js]import { app, BrowserWindow } from "electron";const createWindow = () => {const win = new BrowserWin…

多校A层冲刺 NOIP2024 模拟赛 01

T1 构造字符串 签到题 注意到 \(n\) 和 \(m\) 较小,直接扫一遍用并查集维护他所描述的情况,并将不同的位置记录下来,若存在不同的位置属于同一个集合则不可能构成,否则贪心从前往后取 mex 即可。 时间复杂度 \(O(nm\alpha(n))\) 。 T2 寻宝 签到题 首先先用并查集将大联通块…

2024/10/3 CSP-S模拟赛20241003

A 恶心恶心恶心,赛时写了一个二分+线段树的复杂度错了,当时yzh和lyz就一会骗我一会说实话的,搞得很懵,自己水平也是菜,那线段树分析复杂度怎么不把递归次数乘上呢?大傻逼grz 思路其实还挺好的。 你考虑很容易就发现一个性质,如果一个区间内存在两个数互质的话,这个区间…

Android 简介

安卓 (Android) 是一种基于 Linux 内核的自由及开放源代码码的操作系统. 主要用于移动设备, 如智能手机和平板电脑, 由美国 Google 公司和开放手机联盟领导及开发. Android 操作系统最初由 Andy Rubin 开发, 主要支持手机. Android 是一种操作系统. Android 系统是开放源代码的…

listary

一、概述 Listary Pro 是一款功能强大的文件管理工具,通过快速搜索、文件夹导航、第三方应用集成和标签管理等功能,大大提升了用户的文件管理效率。无论是在工作中还是日常生活中,Listary Pro 都能成为用户不可或缺的助手。如果你还在为文件查找和管理而烦恼,不妨试试 List…

十、特殊应用:人脸识别和神经风格转换

1、One-Shot学习(One-shot learning)人脸识别所面临的一个挑战就是需要解决一次学习问题(one-shot learning problem),这意味着在大多数人脸识别应用中,你需要通过单单一张图片或者单单一个人脸样例就能去识别这个人。而历史上,当深度学习只有一个训练样例时,它的表现并…

python高级内置函数

filter函数返回迭代器

表情包

创建于 8.1 updated on 10.3:整理博客时发现这个了,当时不敢发,现在没啥问题了吧,毕竟涉及人员都 【数据删除】 了,遂发布。 整理博客发现欧耶! https://img2024.cnblogs.com/blog/3365934/202407/3365934-20240725151423252-219730277.png 害羞 起飞呦 哒咩

VulnHub2018_DeRPnStiNK靶机渗透练习

据说该靶机有四个flag 扫描 扫描附近主机arp-scan -l扫主目录扫端口 nmap -sS -sV -n -T4 -p- 192.168.xx.xx 结果如下 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-30 19:25 CST Nmap scan report for 192.168.93.131 Host is up (0.0024s latency). Not shown: 6…

昨天放洛谷的图

因为刷不出来以及有人问所以放这了

python多进程debug

代码调试 问题阐述 最近遇到一个python debug多进程的问题 有一个进程A,这个进程会fork出8个进程B,fork join结束后,又会fork出8个进程A。 假设按时间有序,我就只想断fork出的第一个B和第一个进程A,怎么做?(breakpoint just break only once)类似于java多线程调试的意思…

一些数学知识题

欧几里得算法费马小定理 当a,p都是是质数时,a^(p-1)=1(mod p) 证明: 举个例子 a=2,p=5; 1,2,3,4 集合(1) {1,2,3,4...,(p-1)} 2,4,6,8 => %5 => 2,4,1,3 集合(2) {1a%p,2a%p,3a%p,4a%p...,(p-1)a%p} 我们发现{1,2,3,4}和{2,4,1,3}只是…