实验一:linux中Ubuntu安装及shell命令

2023-11-15

实验一:Ubuntu安装及基本shell命令

1.实验目的:

(1)熟悉虚拟机Ubuntu的安装过程;
(2)熟悉shell常用命令;
(3)习惯自己解决Linux环境中的各种问题;
(4)熟悉Linux系统的特点,包含但不仅限于文件系统、网络配置、终端窗口等;·
(5)会用基本命令对文件进行基本操作。
2.实验内容
(1)windows下安装VMware,VMware中安装Ubuntu18.04
(2)检查Ubuntu下的网络连接情况、更改为全屏
(3)sudo apt-get update更新软件列表包,下载速度慢的情况下进行换源
(4)通过命令建立文件夹、文件,以及复制、粘贴、压缩、解压、修改权限等基本操作
例子:在用户主目录下创建一个以自己姓名为名的文件夹,然后在该文件夹下面新建两个文件夹,分别取名test1、test2,然后在test1文件夹下面创建一个main.c的文件,文件要求实现计算1+2+3+。。。+N的值,N由键盘输入。接着将main.c复制到test2文件夹中,将test1文件夹压缩,复制到Ubuntu桌面并解压。查看桌面解压后的main.c文件的权限,并将权限更改为文件所有者具有可读可写可执行权限,同组用户具备可读可写权限,其他用户具有可执行权限。
3.实验过程
3.1windows下安装VMware,VMware中安装Ubuntu18.04
(1)打开ubuntu18.04.1的下载地址,进入页面后点击右边的Download按钮开始下载。
在这里插入图片描述
(2)制作U盘启动盘
1)安装制作工具:UltraISO(点我下载),下载完成后安装
2)插入用来做启动盘的U盘(最好是usb3.0接口,16GB或以上),并清空里面的文件
3)打开安装好的UltraISO,点击继续试用按钮工作界面
4)进入工作界面后,点击菜单栏文件(F),在弹出的选项卡里点击打开
在这里插入图片描述
5)在弹出的文件选择对话框中找到下载好的 Ubuntu18.04.1 LTS 镜像文件,打开后如下图所示:请添加图片描述
6)点击菜单栏上的启动,在弹出的选项卡里点击写入硬盘映像
在这里插入图片描述

7)在弹出的新窗口中,
硬盘驱动器:选择刚刚插入的U盘
写入方式:设置为USB-HDD+
其余需要勾选的不管,采用默认的设置就行
然后可以格式化一下
最后点击最下面一栏的写入按钮
写入过程大概会持续4~5分钟,完成后界面如下图所示,接着点击返回按钮。
在这里插入图片描述

至此,启动盘制作完成!

(3)给 Ubuntu 分配硬盘空间
这一步也可以在安装过程中分区的时候执行,不过最好安装前弄好,省得到时候出岔子需要从头开始。
1)鼠标右键计算机,在弹出来选项卡中选择管理,接着在弹出来的窗口左侧点击 存储/磁盘管理,进入磁盘管理界面,然后在你要安装的目标磁盘中,通过删除卷和删除分区操作腾出一块未分配的磁盘空间作为安装区,我要安装的位置是 磁盘1,所以我在 磁盘1 中整合出了 256GB 的空间用来安装 Ubuntu18.04.1(安装区的大小依磁盘总的空间以及你的需要而定),这一步弄好后如下图所示:
在这里插入图片描述

(4)安装 Ubuntu18.04
1.设置启动项
关闭你要安装 Ubuntu18.04.1 的目标主机,然后插入启动盘,接着开机,迅速的按住 F12直到进入 bios 设置界面(不同的电脑进入 bios 的按键不同,一般为 F12 或者 Delete 键),通过方向键选择Boot Menu,然后回车
在这里插入图片描述

进入Boot Manager后,选择 EFI USB 作为启动项,回车
在这里插入图片描述

至此我们就进入了安装程序,选择 Install Ubuntu, 回车直接安装

在这里插入图片描述

一般我们用仅仅用 Ubuntu 来编程或者部署项目,娱乐一般用 Windows, 所以选择 最小安装最下面的两个选项会拖慢安装的速度,这些工作可以放到安装完成后集中处理,所以也不勾选。

在这里插入图片描述

(5)选择安装类型
第一和第二个选项安装的时候更省事,安装程序会自动分区,第三个选项需要自己手动分区,安装的时候会麻烦一点,但是因为是手动分区,你对系统的分区情况也更加熟悉,方便系统后期的管理。我们选择第三个选项 其他选项 ,然后点击 继续
在这里插入图片描述

(6)选择时区
在这里插入图片描述

(7)创建用户名

在这里插入图片描述

(8)安装系统软件
用户名创建完成后,安装程序会安装一些必要的系统软件,整个过程会持续大概 20~30分钟,完成后,会弹出如下的对话框。
在这里插入图片描述

安装完成!
(9)再次打开虚拟机即可看到下图,单机开启此虚拟机。
在这里插入图片描述
3.2检查Ubuntu下的网络连接情况、更改为全屏
在这里插入图片描述

3.3sudo apt-get update更新软件列表包,下载速度慢的情况下进行换源
1.先进行换源,在中端里面首先备份原来的源,以免出错丢失,用命令
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak,运行结果如下:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

在这里插入图片描述

2.命令行打开sources.list文件,输入命令sudo gedit /etc/apt/sources.list,回车运行结果就是该文件里面的内容:(由于我在安装的时候就已经进行换源了,所以此时list里面的内容是修改后的阿里云源)

在这里插入图片描述

3.修改sources,list文件(更改为阿里镜像源)将下列文本复制粘贴到list文件中即可(建议在ubuntu中的火狐浏览器中搜索阿里镜像源方便复制)
在这里插入图片描述
在这里插入图片描述

4.最后sudo apt-get update更新软件列表包,如下图显示:

sudo apt-get update

在这里插入图片描述
3.4通过命令建立文件夹、文件,以及复制、粘贴、压缩、解压、修改权限等基本操作
例子:在用户主目录下创建一个已自己姓名为名的文件夹,然后再该文件夹下面新建两个文件夹,分别取名test1、test2,然后在test1文件夹下面创建一个main.c的文件,文件要求实现计算1+2+3+。。。+N的值,N由键盘输入。接着将main.c复制到test2文件夹中,将test1文件夹压缩,复制到Ubuntu桌面并解压。查看桌面解压后的main.c文件的权限,并将权限更改为文件所有者具有可读可写可执行权限,同组用户具备可读可写权限,其他用户具有可执行权限。

1.创建文件夹用命令mkdir+文件名,然后在创建的文件夹下创建子目录test1和test2,用mkdir -p 文件名/test1(test2同理),然后用touch分别创建main.c并且用vim对其进行打开shell编写代码,如图:
在这里插入图片描述

这是main.c的代码

在这里插入图片描述
然后命令cd …/返回上一级将test1中的main.c复制到test2中,并查看如下图:
在这里插入图片描述Ok,继续,我们就压缩将test1文件夹压缩,复制到Ubuntu桌面并解压,此时需要输入命令:tar cvzf tmp.tar.gz /zhangtingting/test1和cp tmp.tar.gz ~/Desktop,最后解压,运行如下图:

tar cvzf tmp.tar.gz /zhangtingting/test1和cp tmp.tar.gz ~/Desktop

在这里插入图片描述

在这里插入图片描述
最后的最后,查看文件的权限

sudo chmod 777 *

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实验一:linux中Ubuntu安装及shell命令 的相关文章

  • 如何在 Bash 中为数组赋值?

    我正在尝试从文本文件中读取值列表 你好 txt 并将它们存储在一个数组中 counter 0 cat hello txt while read line do Unix Array counter line let counter coun
  • pygraphviz,导入错误:未定义的符号:Agundirected

    import pygraphviz Traceback most recent call last File
  • 是否可以找到哪个用户位于 localhost TCP 连接的另一端?

    这是一个编程问题 但它是 Linux Unix 特定的 如果我从本地主机获得 TCP 连接 是否有一种简单的方法可以告诉哪个用户在 C 程序内建立了连接而无需 shell 我知道这对于 Unix 域套接字来说并不太难 我已经知道远程 IP
  • 对 sf:: 的未定义引用

    我想用 C 制作 GUI 应用程序 发现 SFML 是一个不错的选择 幸运的是 我使用的是 Linux 所以 SFML 2 4 已经安装在我的系统上 所以我开始搜索一些教程并找到了一个制作简单窗口的教程 但是当我运行代码时 出现错误 提示未
  • 无法安装 psycopg2 Ubuntu

    试图为 django 项目准备好服务器 但我在设置 postgres 时遇到了一些问题 我正在遵循本指南 https jee appy blogspot com 2017 01 deply django with nginx html ht
  • 测试linux下磁盘空间不足

    我有一个程序 当写入某个文件的磁盘空间不足时 该程序可能会死掉 我不确定是否是这种情况 我想运行它并查看 但我的测试服务器不会很快耗尽空间 有什么办法可以嘲笑这种行为吗 看起来没有任何方法可以在 Ubuntu 中设置文件夹 文件大小限制 并
  • 编写脚本时,#!/usr/bin/perl 和 #!/usr/bin/env perl 有什么区别?

    显然 这同样适用于用 python bash sh 等替代 perl 昆汀下面的答案显然是正确的 所以我接受了它 但我想我实际上的意思是 两种使用 的方式的优点和缺点是什么 调用 perl python bash 作为脚本的解释器 有人提到
  • /proc/PID 文件格式

    我想从中检索一些流程信息 proc目录 我的问题如下 中的文件是否有标准格式 proc PID 例如 有这个proc PID status文件与Name t ProcName在第一行 我可以在其他地方用空格代替这个文件吗 t或者类似的东西
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 如何从最新版本的 Ubuntu (18.10) 运行使用 SystemD 的 Docker 容器?

    我正在尝试执行使用 ubuntu latest 构建的 Docker 映像 并且在运行容器时不断收到 SystemD 错误消息 System has not been booted with systemd as init system P
  • 箭头键变成 Telnet 中的控制字符

    我在 Ubuntu 终端中 并通过 telnet 连接到服务器 现在每当我输入 up 时 它就会变成 A 其他箭头键也变成控制字符 有没有办法可以运行 telnet 以便它理解我的箭头键 这将是一个巨大的帮助 因为我想在我的命令历史记录中向
  • 是否有可能通过 mmap 匿名内存“打孔”?

    考虑一个使用大量大致页面大小的内存区域 例如 64 kB 左右 的程序 每个内存区域的寿命都相当短暂 在我的特定情况下 这些是绿色线程的替代堆栈 如何最好地分配这些区域 以便一旦该区域不再使用 它 们的页面可以返回到内核 天真的解决方案显然
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • 如何从“git log”中查看 Git 中的特定版本?

    My git log显示为 enter code here git trial git log commit 4c5bc66ae50780cf8dcaf032da98422aea6e2cf7 Author king lt email pro
  • 如何在 Linux 中使用单行命令获取 Java 版本

    我想通过单个命令获取 Linux 中的 Java 版本 我是 awk 的新手 所以我正在尝试类似的事情 java version awk print 3 但这不会返回版本 我将如何获取1 6 0 21从下面的Java版本输出 java ve
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • 如何在bash中仅提取两个字符串之间多行的第一个实例?

    我的文件是 abc 123 xyz abc 675 xyz 我想提取 abc 123 xyz 123 可以是任何东西 重点是我想要第一次出现 我尝试使用这个 sed n abc xyz p filename 但这给了我所有的例子 我怎样才能
  • Windows、Emacs、Git Bash 和 shell 命令

    Windows 7 Emacs 24 3 1 git 1 8 1 msysgit 1 我的等效 emacs 文件中有以下内容 if equal system type windows nt progn setq explicit shell
  • Linux 文本文件操作

    我有一个格式的文件 a href a href a href a href 我需要选择 之后但 之前的文本 并将其打印在行尾 添加后 例如 a href http www wowhead com search Su a a a a a
  • 在 Ubuntu 16.04 中创建虚拟主机

    我已经开始在 laravel 中工作并使用 lampp 我看过很多使用虚拟主机来制作用户友好的 url 的教程 我想在 Ubuntu 16 04 上执行此操作 以下教程对我不起作用 https ourcodeworld com articl

随机推荐

  • 利用leapmotion实现抓取一个立方体

    1 基础设置 2 拖进来LeapHandController 显示为蓝色 其中 Edit Time Pose选择的是不同的模式 是桌面模式还是VR模式 3 拖进来HandModels 此部分为手势模型 为新建空物体 然后加上Hand Mod
  • 关于visual studio中的$(ConfigurationName)疑问

    关于visual studio中的 ConfigurationName 疑问 2012 12 02 16 09 15 转载 标签 it 分类 程序员之路 关于vs中的各种路径的值de查看方法 来源 http social msdn micr
  • Python---三大流程控制

    三大流程控制语句 1 顺序 按顺序去执行步骤 是最基本的代码执行规则 不做过多的解释 2 分支 单分支 if 条件 满足条件做什么 双分支 if 条件 满足条件做什么 else 不满足条件做什么 三元运算符 双份支的简化版 result 满
  • 关于scanf和printf的一些问题&&EOF和~的问题

    1 scanf和printf的返回值 在C语言中 scanf和printf这两个函数是标准输入输出库中的函数 它们在使用时不返回具体的值 而是通过输入输出参数来完成相应的功能 scanf函数 scanf函数用于从标准输入读取数据并根据提供的
  • KNN 原理及参数总结

    文章目录 前言 1 KNN 原理 2 KNN 优缺点 3 KNN 算法三要素 4 KNN 算法实现 5 sklearn实现KNN算法 前言 针对一个完整的机器学习框架目前还没有总结出来 所以目前只能总结每一个单独的算法 由于现在研究的重点是
  • 详解虚短、虚断以及在运算放大器中的应用

    详解虚短 虚断以及在运算放大器中的应用 一 运算放大器 运算放大器 后续简称运放 是一种集成电路 内部有很多三极管类晶体管的组合 外围接很少的电子元器件就能够实现放大信号的作用 并且信号干净 漂亮 1 1 开环 闭环 运算放大器电路 开环电
  • 2021年新版-编程基础训练32题-附提示和答案

    2021年新版 编程基础训练32题 附提示和答案 1 用级数法求圆周率 题目 圆周率十分重要 不仅仅是在数学理论上 即便在千年前的古代 工程上的需求 也迫切需要我们知道圆周率的尽量精确的数值 求圆周率 有很多种方法 级数法就是简便易行的方法
  • 牛客网Python篇入门编程习题

    目 录 一 输入输出 二 类型转换 三 字符类型 四 列表类型 五 运算符号 六 条件语句 七 循环语句 八 元组类型 九 字典类型 十 内置函数 十一 面向对象 十二 正则表达 本文题库非常适合刚刚接触Python编程的同学 有兴趣的同学
  • STlink V2 烧录器使用教学 【STM32篇】

    STlink V2 是一款支持STM32 STM8 烧录的常规工具 本帖主要讲解STM32 的烧录过程 STM32有2种烧录接口 分别为古老的Jtag接口和目前最常规的SWD接口 由于SWD只需要4条线就能烧录 目前STM32硬件工程师用S
  • Unity使用C#实现简单Scoket连接及服务端与客户端通讯

    简介 网络编程是个很有意思的事情 偶然翻出来很久之前刚开始看Socket的时候写的一个实例 贴出来吧 Unity中实现简单的Socket连接 c 中提供了丰富的API 直接上代码 服务端代码 Thread connectThread 当前服
  • idea 编码扫描插件_4款好用的IDEA插件

    刚开始安装使用的IDEA是没有灵魂的 所以我们要通过插件来给 它注入灵魂 Codota 这是一款代码提示工具 根据你敲击的代码进行提示 这样再敲一些长代码时会方便很多 安装方法 点击file gt settings 选择plugins 搜索
  • 悟空CRM9从零开始搭建详细步骤——肯定成功

    悟空CRM9从零开始搭建详细步骤 欢迎留言 欢迎各位一起加入开源 愿意共享分享学习经验 特别感谢打赏点赞的朋友 我们一起努力分享更多学习经验吧 可参考其他论坛 码云https gitee com wukongcrm 72crm java 悟
  • 用户态--fork函数创建进程

    我们一般使用Shell命令行来启动一个程序 其中首先是创建一个子进程 但是由于Shell命令行程序比较复杂 为了便于理解 我们简化了Shell命令行程序 用如下一小段代码来看怎样在用户态创建一个子进程 include
  • 网上经常看到的冒泡排序的动图如何制作

    今天博主想要和大家分享如何实现动态图 经常在其他博主的文章中可以看到各式各样的动图 搜索一下 网上冒泡排序的动图怎么制作出来 可以看到 很迷 全是告诉冒泡排序的原理 以及动图解析 并没有告知动图是如何制作的 结合博主目前正在学习的前端技术
  • Linux Ubuntu16.04 安装lmdb问题

    LMDB的全称是Lightning Memory Mapped Database 快如闪电的内存映射数据库 它的文件结构简单 包含一个数据文件和一个锁文件 LMDB文件可以同时由多个进程打开 具有极高的数据存取速度 访问简单 不需要运行单独
  • ubuntu下新建txt文档的快捷方式

    进入模板文件夹 Templates 右键打开终端 输入如下命令 sudo gedit txt文档 txt 点击右上角保存 退出 即可通过右键新建txt模板
  • Spring Cache缓存注解

    目录 Spring Cache缓存注解 Cacheable 键生成器 CachePut CacheEvict Caching CacheConfig Spring Cache缓存注解 本篇文章代码示例在Spring Cache简单实现上的代
  • 单片机蓝桥杯——DS1302

    1 原理 对 DS1302的操作就是对其内部寄存器的操作 DS1302内部共有12个寄存器 其中有 7 个寄存器与日历 时钟相关 存放的数据位为 BCD 码形式 此外 DS1302 还有年份寄存器 控制寄存器 充电寄存器 时钟突发寄存器 及
  • FAT32文件系统学习(1) —— BPB的理解

    FAT 32 文件系统学习 1 本文的目标 本文将通过实际读取一个FAT32格式的U盘来简单了解和学习FAT32文件系统的格式 虽然目前windwos操作系统的主流文件系统格式是NTFS 但是FAT32由于其兼容性原因 还是有一定的学习价值
  • 实验一:linux中Ubuntu安装及shell命令

    实验一 Ubuntu安装及基本shell命令 1 实验目的 1 熟悉虚拟机Ubuntu的安装过程 2 熟悉shell常用命令 3 习惯自己解决Linux环境中的各种问题 4 熟悉Linux系统的特点 包含但不仅限于文件系统 网络配置 终端窗