实验一 Linux系统安装与简单配置
一、实验目的
1.掌握Linux系统安装的分区准备。
2.掌握Linux系统的安装步骤。
3.掌握Linux系统分区的挂载和卸载。
4.掌握Linux系统的启动和关闭操作。
二、实验内容
1.安装VMware虚拟机,设置光盘驱动器,为Linux系统安装做准备。
2.在虚拟机下安装Linux操作系统(如Ubuntu桌面版本)和VMwareTool,实现宿主机和虚拟机之间的文件拷贝。
3.配置Linux系统运行环境。
4.增加一块SCSI硬盘,请在新增的硬盘中给出系统6个分区的方案,并选择一种方案利用fdisk进行分区,并且学会使用命令建立和删除交换分区。
5.将新的Linux系统分区挂载到系统中;卸载新挂载的分区,重新挂载到目录树中的其他位置。
6. 修改配置文件将分区配置成开机自动挂载。
三、主要的实验步骤
1.制定安装系统的分区计划。
2.配置光驱引导镜像文件iso,启动系统,开始安装过程。
3.根据安装计划,对磁盘空间进行分区设置(一个主分区、一个swap分区,一个空闲分区)。
4.根据系统安装指导,完成Linux系统的安装过程。
5.安装成功后,退出系统,重新启动虚拟机,登陆Linux操作系统。

图 1 Ubuntu虚拟机
6.对Linux系统进行配置,如VMwareTool,网络设备等。
在这里插入图片描述

图 2 配置VMwareTool
7.利用fdisk分区工具依据设计的将硬盘分成6个分区的方案,进行分配。并对分区采用mkfs命令对分区进行格式化。

  1. 创建主分区:


图 3 采用mkfs命令对分区进行格式化
2.创建拓展分区

图 4 创建拓展分区
3.创建后:

图 5 创建分区后
4.mkfs格式化:

图 6 mkfs格式化
8.利用partprobe命令重新加载分区表。利用df -h命令可查看分区挂载情况。

图 7 查看分区
9.利用mkswap命令创建交换分区,并使用swapon命令激活交换分区。

图 8 创建并激活交换分区
10.利用磁盘使用工具和mount,将新创建的Linux系统分区挂载到系统中。将新挂载的分区卸载,并重新挂载到目录树的其他位置。观察挂载之前和之后的该目录下所存储的文件。
/home/zxy/Documents 挂载前:

图 9 挂载前

图 10 挂载

图 11 挂载后磁盘分区

图 12 挂载后的Documents

图 13 挂载所有分区

图 14 挂载后的磁盘分区

解释为什么挂载之后文件都消失了:
正常登录以后,所看到的各个目录,文件都是内核在加载时候构造在内存中的VFS目录树,而不是直接看到硬盘上的实际目录树。当你挂载某个设备到一个VFS挂载点上时(比如/home),系统就把VFS中的这个挂载点/home指向你最后所挂载的那个设备上。那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备。而之前所挂载的设备依然在那里,只不过挂载点/home已经不再指向之前的设备。所以之前的数据是被隐藏了,但并没有删除,若umount挂载后,数据又重新回来了。
(1)先将硬盘挂载到一个新建的空目录作为中转目录。
(2)将硬盘先挂载到跳板目录上。
(3)将原要挂载的目录中所有文件复制过来。
(4)删除原目录下的所有文件。
(5)将硬盘挂载到原要挂载的目录。
11.利用/ect/fstab配置文件进行分区的自动挂载,重启测试。
gedit /ect/fstab
reboot

图 15 新分区的UUID

图 16 更改/etc/fstab
重启后保持原挂载状态。

图 17 重启后

四、拓展实验
1.设计方案,在计算机中安装双系统?并通过实验验证自己的方案。
因为我在上本课程之前电脑中已经装好双系统了,因此本实验将在M.2接口(NVMe协议)的SSD固态硬盘做本实验(由删除arch linux之后腾出),以下将给出装双系统的全部过程。
(1)预准备:
闲置U盘(大于64G),确定bios类型以及硬盘个数,安装UltralSO 软碟通,将 Ubuntu 的镜像写入U盘。
(2)压缩卷
给选择最后一个磁盘空间的磁盘,鼠标右键点击该磁盘,选择压缩卷,压缩200G。
(3)将ubuntu镜像写入U盘。
(4)进入BOOT界面,也就是bios,关闭secure boot,选择U盘启动就进入了Ubuntu安装界面。
(5)进行磁盘分区:
EFI:200M,swap:16G,其他的放根目录。
(6)然后选择efi文件所在分区启动。(例如:/dev/sdb2或者/dev/nvme0n1p1等等。)
(7)随后内容按照默认或者自己设置的来就好。
创建好Ubuntu系统后还可以根据需要下载Linux版本的腾讯会议,Typora,向日葵等等软件进行会议,文本,通信等方面的需求,还可以下载QT,VSCode等满足开发需求,如下图(18)展示的QT,VSCode,腾讯会议,WPS等等。
2.新建一个虚拟机,安装另外一个版本的Linux系统如:CentOS、Redhat等,体验Linux不同发行版的使用环境,如图(19)。

图 18 双系统中的Ubuntu

图 19 Arch Linux
实验二 Linux常用命令使用
一、实验目的
1.掌握Linux一般命令格式。
2.掌握有关文件和目录操作的常用命令。
3.熟练使用man命令。
二、实验内容
1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。
2.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。
3.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限等。
4.利用man命令显示date、echo等命令的手册页。
5.利用ps命令显示系统中的进程信息。
三、主要实验步骤
1.登陆系统,使用passwd命令修改密码为123456,并重新登录系统。图 1 修改密码
2.使用简单命令:date、cal、who、echo、clear等,了解Linux命令格式。
3.浏览文件系统:
(1)运行pwd命令,确定当前工作目录。

图 3 pwd命令
(2)运行ls –l命令,理解各字段含义。
图 4 ls-l命令
(3)运行ls –ai命令,理解各字段含义。
ls -ai = ls -a和ls -i
ls -a:是显⽰⽬录下所有⼦⽬录和⽂件,包括以“.”开头的隐藏⽂件
ls -i:是查看⽂件的inode号(inode存储⽂件的详细信息)相当于⽂件的身份ID。43516731 . ⽂件.的节点号是43516731
43384921 … ⽂件…的节点号是43384921
43516732 passwd.png ⽂件passwd.png的节点号是43516732
图 5 ls -ai
(4)使用cd命令,将工作目录改到根(/)上。运行ls –l命令,结合教材中图2.2,了解各个目录的作用。
1.total 100
2.第⼀列是:d(-,p,l,b,c,s)rwxrwxrwx
d:⽬录⽂件eg:home
-:普通⽂件eg:passwd.png
p:管理⽂件
l:链接⽂件
b:块设备⽂件
c:字符设备⽂件
s:套接字⽂件
r:可读(“-”不可读)
w:可写(“-”不可写)
x:可执⾏(“-”不可执⾏)
前三个rwx是所有者权限
中间三个rwx是组⽤户权限
后三个rwx是其他组⽤户权限
3.第二列:(1)、如果是⽬录的话,这个数字表⽰当前这个⽬录下⾯的⼀级⽬录个数。(2)、如果是⽂件的话,数字表⽰硬链接个数。(硬链接个数:可以简单的理解为⼀个⽂件的⽂件名 个数,⽐如a⽂件的⽂件名有s和j两个,因为s和j指向同⼀个a,改动s或j都会对a造成改变)
4、第三列:该文件或目录的所有者。
5、第四列:表示所属的组。
6、第五列:文件的⼤⼩。
7、第六列:月份(最近修改⽂件的⽇期)。
8、第七列:多少号(最近修改⽂件的最后⽇期)。
9、第⼋列:几点(最近修改⽂件的最后⽇期)。
10、第九列:
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
蓝绿色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
图 6 ls -l
(5)直接使用cd,通过pwd指令验证目录位置。

直接使⽤cd默认进⼊⽬前⽤户的主⽂件夹“/home/zxy”图 7 pwd
用mkdir建立一个子目录subdir。
图 7 mkdir
(7)将工作目录更改到subdir。
图 8 将目录更改到subdir
4.文件操作:
验证当前工作目录在subdir。

图 9 验证当前目录是subdir
(2)运行date>file1,然后运行cat file1,看到什么信息?
date>file1将date中的数据重定向到file1文件中保存。
图 10 date>file1
(3)运行cat subdir,会出现什么结果?为什么?

结果:cat:subdir:Is a directory
原因:cat操作的对象是⼀个⽂件不是⼀个⽬录,⽽subdir是⼀个⽬录。图 11 cat subdir
(4)利用man命令显示date命令的使用说明。

man date
图 12 man
(5)运行man date>>file1,看到什么信息?运行cat file1,看到什么信息?
“>”表⽰输出重定向,“>>”表⽰追加重定向。
图 13 把date帮助文档写入file1
(6)显示file1的当前10行,后19行。显示file1的当前10⾏,后19⾏
图 13 显示前10行
图 14 显示后10行
(7)运行cp文件名1文件名2,然后ls –l,看到什么信息?运行mv文件名2文件名3,然后ls –l,看到什么信息?运行cat 文件名,结果如何?
cp file1 file2
#将file1⽂件中的内容 复制到了⽂件file2中
mv file1 file2
#把⽂件file1改名为file2,此时原来的file2被file1覆盖
mv file1 file3
#把文件file1改名为file3,此时同时存在file2和file3
图 15 cp&mv
(8)运行rm 文件名3,然后ls –l,结果如何?
rm:命令删除⼀个⽬录中的⼀个或者多个⽂件或者⽬录,只⽤rm命令不会删除⽬录,通常⽂件通常可以恢复。


图 16 rm
(9)在/etc/passwd文件中查找合适你的注册名的行。
图 17 打开/etc/passwd
图 18 /etc/passwd中我的注册名
(10)运行ls –l,理解各文件的权限是什么?
第⼀列是d(-,p,l,b,c,s)rwxrwxrwx
d:⽬录⽂件 eg: home
-:普通⽂件 eg:passwd.png
p:管理⽂件
l:链接⽂件
b:块设备⽂件
c:字符设备⽂件
s:套接字⽂件
r:可读(“-”不可读)
w:可写(“-”不可写)
x:可执⾏(“-”不可执⾏)
前三个rwx是所有者权限
中间三个rwx是组⽤户权限
后三个rwx是其他组⽤户权限图 19 理解rwx

(11)用两种方式改变file1的权限。图 20 u/g/o = rwx图 21 a+x
(12)统计file1文件的行数、字数。
1.统计⽂件信息
wc⽂件名
说明:3个数字分别代表⾏数,单词数,字节数
2.只统计⽂件⾏数
wc -l ⽂件名
3.只统计⽂件单词数
wc -w ⽂件名
4.只统计字节数
wc -c ⽂件名图 21 统计行,字数
(13)运行cat 文件名|wc -l,结果如何?
cat file1 | wc -l 将file1中的内容作为输⼊给wc,其实就是输出file1的⾏数。
图 22 cat file1 | wc -l
5.权限管理
假设目前要开发一个项目叫做LinuxDemo,参与人包括:zhao, qian, sun, li, zhou, wu六人,这六人的分组为如图1所示。请利用所学命令构造满足如下要求的用户权限模型。
具体要求如下:
0)使用图1中的分组创建组,并将相应的学生添加到相应分组
​ 1)创建组

​ sudo groupadd designing

​ sudo groupadd coding

​ sudo groupadd testing

​ 2)查看创建组是否成功

​ tail /etc/group

​ 3)将学生添加到分组

​ sudo useradd -g designing zhao

​ sudo useradd -g designing qian……

​ 4)检查学生是否已添加到分组

​ groups zhao

​ groups qian……

2、所有目录都保存在同一的文件夹下/LinuxDemo

​ cd /

​ mkdir LinuxDemo

3、每个分组拥有独立的文件夹

​ cd LinuxDemo

​ mkdir designing

​ mkdir coding

​ mkdir testing

4、不同组之间不可访问各自的文件夹

5、每个学生在所在组的文件夹下拥有一个所属的文件夹

6、同组不同学生之间可以查看各自文件夹的内容,但不可以修改,学生只能修改自己的文件内容

​ //设置学生文件的文件主

​ sudo chown zhao /LinuxDemo/designing/zhao //设置zhao是zhao文件夹的文件主,通过文件主(zhao)和同组(qian)和其他用户(sun li ……)来区分权限

​ sudo chown qian /LinuxDemo/designing/qian……

​ //设置权限 同组可查看不可修改(5)不同组不可访问(0)

​ cd /LinuxDemo/designing

​ chmod 750 zhao

​ chmod 750 qian……

​ //设置文件权限

​ cd …

​ chmod 770 designing/

6.进程管理
开启多个终端程序,使用ps命令是查看进程状态,并用kill命令结束其中一个终端程序。
ps a
两个终端程序,bash。


图30 进程状态图31 结束第一个终端进程
7.文件压缩和解压
利用gzip命令对某个文件或文件夹进行压缩,然后再对其解压。使用unzip命令对Windows下生成的zip格式的压缩文件进行解压缩。
压缩file1:图32 压缩file1
使用unzip命令对Windows下生成的zip格式的压缩文件进行解压缩。

图33 解压zip压缩包

实验三 vi编辑器的使用
一、实验目的
1.学习使用vi编辑器建立、编辑、显示及加工处理文本文件。
二、实验内容
1.进入和退出vi编辑器。
2.利用文本插入方式建立一个文件。
3.在新建的文本文件上移动光标位置。
4.对该文件执行删除、复原、修改、替换等操作。
三、主要实验步骤
1.进入vi编辑器。

图34 进入vi编译器
2.建立一个文件,如file.c。进入插入方式,输入一个C语言程序的各行内容,故意少写几个字符和几行内容。最后,将该文件存盘。回到shell状态下。
进入file.c故意少些几个字符和几行内容(按:wq存储退出。)图35 wq
4.利用a,i,o等命令,将少写的内容填补到文件正确的位置,并且保存退出。

5.运行man date > file10,然后vi file10。使用x,dd等命令删除某些文本行。使用u命令复原此前的情况。使用c、r、s等命令修改文本内容。使用检索命令进行给定模式的检索。

四、拓展实验

  1. 检查当前系统中是否存在Vim和Visual Studio Code编辑器?如果没有,请在系统里安装Vim和Visual Studio Code,并比较Vi、Vim和Visual Studio Code三个编辑器的使用差异。
    安装有Vim和Visual Studio Code编辑器。图41 vim
    图42 VSCode编辑器
    vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。Vscode有界面会更加宜于交互。
    实验四 shell编程
    一、实验目的
    1.了解shell的作用和主要分类。
    2.掌握bash的建立和执行方式。
    3.掌握bash的基本语法。
    4.学会编写shell脚本。
    二、实验内容
    1.shell脚本的建立和执行。
    2.shell变量和位置参数、环境变量。
    3.bash的特殊字符。
    4.一般控制结构。
    5.算术运算及bash函数。
    三、主要实验步骤
    1.利用vi建立一个脚本文件,其中包括date、cal、pwd、ls等常用命令。然后以不同方式执行该脚本。


2.运行history命令。

3.体会bash的命令补全功能。
已体会很方便。
4.对教材例题4.9 (P108)进行编辑,然后执行。5.对教材例题4.19 (P132)进行编辑,然后执行。



1.对习题4.8 (P141)进行编辑,然后执行。
2.对习题4.9进行设计,然后调试、执行。



3.对习题4.11进行设计,然后调试、执行。

4.对习题4.13进行设计,然后调试、执行。5.对习题4.14进行设计,然后调试、执行。
四、拓展实验

  1. Shell编程实现指定输入的加法,比如输入100,计算1+2+3+…+100的和。


2. Shell编程判断指定文件夹下文件的数量。

1.Shell编程判断给定年份是否为闰年。
4. Shell编程实现9×9乘法表。
5. Shell编程实现批量修改文件扩展名,比如将.txt文件修改为.doc文件。



实验五 常用开发工具
一、实验目的
1.掌握C语言编译的基本用法。
2.掌握gdb调试工具的基本用法。
3.理解make工具的功能,学会编制makefile的方法。
二、实验内容
1.利用gcc编译C语言程序,使用不同的选项,观察并分析显示结果。
2.用gdb调试一个编译后的C语言程序。
3.编写一个由多个文件构成的C语言程序,编制makefile,运行make工具进行维护。
三、主要实验步骤
1.按照教学视频“Gcc编程和Gdb调试范例”和“静态链接库和动态链接库的创建和调用”,掌握视频中的内容,熟悉下列选项在编译过程中的作用:-c,-o,-l,-L。


  1. 按照教学视频“程序维护工具make的使用”,重写做一遍,要掌握依赖关系图的画法、makefile文件的编写、及make工具的使用。

    3.完成对习题6.9的编制,并使用make进行维护(参考教学视频,自己制作动态链接库文件libm.so)。

Linux复习3 实验 教材 Linux 教程 第5版 燕山大学相关推荐

  1. linux内存管理实验malloc,linux内存管理实验报告.doc

    linux内存管理实验报告 操作系统实验报告 院别:XXXXXX 班级:XXXXXX 学号:XXXXXX 姓名:稻草人 实验题目:内存管理实验 实验目的 通过本次试验体会操作系统中内存的分配模式: 掌 ...

  2. linux使用环境实验报告,Linux 及其使用环境实验报告.doc

    计算机语言与程序设计上机实验报告 学号: 姓名: 所在系: 班级: 实验名称: 实验1 Linux 及其使用环境 实验日期 实验指导教师 实验机房及机号 ----------------------- ...

  3. linux系统进程控制实验报告,Linux进程控制实验报告.doc

    里奴性进程控制实验报告 实验名称: Linux进程控制 实验要求:一.编写一个Linux系统C程序,由父亲创建2个子进程,再由子进程各自从控制台接收一串字符串,保存在各自的全局字符串变量中,然后正常结 ...

  4. 实验四 linux进程控制实验报告,Linux系统进程控制操作系统实验报告4

    实验课程名称:操作系统 实验项目名称Linux系统进程控制实验成绩 实验者专业班级组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 实验内容描述(问题域描述) 要求:掌握Linux系统中进 ...

  5. 熟悉linux操作系统的使用实验报告,Linux系统的熟悉与使用操作系统实验报告

    Linux系统的熟悉与使用操作系统实验报告 实验一 Linux系统熟悉与使用 Linux有两种不同的含义.从严格的技术定义讲,Linux指的是开放源代码的Unix类操作系统的内核.然而,目前大多数人用 ...

  6. linux内核漫游实验目的,Linux内核源代码漫游——

    Linux内核源代码漫游 Alessandro Rubini著, rubini@pop.systemy.it 赵炯 译,gohigh@shtdu.edu.cn 本章试图以顺序的方式来解释Linux源代 ...

  7. 计算机网络实用技术第二版实验,计算机网络实用技术教程(第2版)

    前言 计算机网络给我们的工作.学习和生活带来了革命性的变化.随着计算机网络在各行各业应用的不断深入,计算机网络逐渐成为我们获取信息的一个重要渠道.社会对网络人才的需求促使人们去学习网络知识.本书就是为 ...

  8. linux思考与实验答案,linux课后习题答案教材课后习题参考答案

    27.下列哪个命令中不会自动产生文件后缀? A. gzip B. tar C. bzip2 D. compr 28.有关归档和压缩命令,下面描述正确的是? A. gzip 命令可解压缩由zip 命令生 ...

  9. linux shell程序设计实验报告,linux的shell脚本实验报告

    <linux的shell脚本实验报告>由会员分享,可在线阅读,更多相关<linux的shell脚本实验报告(7页珍藏版)>请在人人文库网上搜索. 1.第二次实验内容一.实验名称 ...

最新文章

  1. 简单介绍MySQL开启事务的两种方式
  2. 【雷达对抗】频率测量与频谱分析-频率搜索与测频技术
  3. 拐点已至,云原生引领数字化转型升级
  4. springmvc atomikos mysql数据源_springboot+atomikos+多数据源管理事务(mysql 8.0)
  5. C和指针之字符串编程练习3
  6. java8 垃圾 不同_【不同的Java垃圾回收器的比较】
  7. Java成神之路——CGLIB使用
  8. 蓝桥杯 ADV-145 算法提高 铺地毯
  9. Linux下的超级终端minicom与XGCom
  10. Xcode真机调试不了,提示 “Please reconnect the device”
  11. api wke_wke: 基于Webkit精简的纯C接口的浏览器内核,可用于桌面UI、浏览器。
  12. 曼联携手HCL开发“数字体验平台”,期待大获全胜
  13. 字体裁剪,精简字体,字体瘦身:FontSubsetGUI,FontCreator,FontPruner
  14. ant组件中select默认选中某一项
  15. 蜂鸣器常见错误电路分析
  16. 青果教务系统适配小爱课程表
  17. 服务器分类方式和类型
  18. python爬虫国家企业信息网_国家企业信用信息公示系统爬虫
  19. java 夏令时jvm设置问题
  20. 网页版php手机端怎么转wap页,【原创文章】介绍一个手机浏览器中ecshop WAP版和PC版自由切换的方法...

热门文章

  1. 智慧环卫解决方案-最新全套文件
  2. touch事件详解(touchstart、touchmove和touchend)
  3. 《数据结构、算法与应用 —— C++语言描述》学习笔记 — 竞赛树
  4. HP批量验证QQ邮箱是否开通 检测是否有效软件
  5. DQN训练atari游戏:No module named ‘atari_py‘
  6. 小米K40(支持wifi 6)不能连上电脑的wifi6热点
  7. android打开系统相机分别获得原图和缩略图
  8. python方差的计算公式_使用Python计算方差协方差相关系数
  9. 第7章用户界面设计工具
  10. c语言一元线性回归方程程序,C语言编程对实验数据进行一元线性回归处理