2022-2023-1 20222802 《Linux内核原理与分析》第一周作业

目录

实验一  Linux系统简介

1.Linux为何物

 2.Linux历史简介

3.Linux重要人物

 4.Linux 与 Windows 有哪些不同

5.如何学习Linux

实验二 基本概念与操作

1.实验内容

1.1实验楼环境介绍

1.2常用shell命令及快捷键

 1.3查看帮助文档

 2.作业

实验三 用户及文件权限管理 

1.Linux用户管理

1.1查看用户

 1.2创建用户

 1.3用户组

 1.4删除用户和用户组

2.Linux文件权限

2.1查看用户权限

2.2变更文件所有者

2.3修改文件权限

3.adduser和user add的区别

4.作业

 实验四 Linux目录结构及文件基本操作

 1.Linux目录结构

1.1 FHS标准

 1.2 目录路径


 

实验一  Linux系统简介

1.Linux为何物

操作系统中,内核负责控制硬件资源分配,而如果只有内核,则只能让计算机硬件运行,而不能有任何功能,因此需要系统调用提供给开发者使用,从而开发应用程序;内核能够控制硬件,比如:让CPU可以运算、让硬盘可以读写数据等;只有内核的话,只能让计算机运行,但是我们不能控制计算机;而系统调用是操作系统提供给开发者的调用接口;任何硬件都不会默认就被操作系统控制,而需要开发商根据操作系统提供的接口开发驱动程序,只有安装了驱动程序才能够控制硬件设备。

Linux 主要是系统调用和内核那两层。当然直观地看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器、浏览器、电子邮件等。

 2.Linux历史简介

1984年,Richard Stallman组织开发了一个完全基于自由软件的软件体系计划——GNU(GNU是GNU is Not UNIX的递归缩写),并且拟定了一份通用公共许可证(General Public License,简称GPL)。1991年芬兰赫尔辛基大学的学生Linus Torvalds在自己的Intel 386个人计算机上开发了属于他自己的第一个程序,并利用Internet发布了他开发的源代码,将其命名为Linux,从而创建了Linux操作系统。

企鹅的来源:1994年发表 Linux 正式核心 1.0 的时候,大家要 Linus Torvalds 想一只吉祥物,怪怪的 Torvalds 突然想到小时候去动物园被一只企鹅追着满地打滚~还被咬了一口!既然想不到其它的吉祥物了,干脆就以这支企鹅来当吉祥物算了!所以,目前我们常常看到这一只企鹅就是这么来的!

3.Linux重要人物

Ken Thompson(肯汤普森):C 语言之父和 UNIX 之父。 C语言前身B语言的作者,Unix的发明人之一,Belle(一个厉害的国际象棋程序)的作者之一,操作系统Plan 9的主要作者。

Dennis Ritchie(丹尼斯里奇):C 语言之父和 UNIX 之父。对C语言和其他编程语言Multics和Unix等操作系统的发展做出了巨大贡献,被誉为C语言之父、UNIX之父,曾获图灵奖,与布莱恩·科尔尼干(Brian W. Kernighan)出版了《C程序设计语言(The C Programming Language)》,这本书随后被誉为C语言的圣经。

 4.Linux 与 Windows 有哪些不同

LinuxWindows
费用免费或少许费用Windows10需付费购买
软件与支持开源软件,Linux开发者提供支持收费软件,微软官方提供支持
安全性较好一般
使用习惯兼具图形界面操作和命令行操作,入门较难纯图形界面,操作简单
可定制性
应用范畴世界上大部分软件和服务都是运行在Linux上的——
缺点缺少游戏娱乐支持度、专业软件支持度系统不稳定,安全性和漏洞无法快速修复,缺少可选择的多种图形用户界面,……

5.如何学习Linux

 

实验二 基本概念与操作

1.实验内容

1.1实验楼环境介绍

Linux桌面环境:相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 UNIX/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件,大家熟知也最流行的实现了客户端功能的桌面环境有 KDEGNOMEXFCELXDE,实验楼目前使用的 XFCE 桌面环境。

终端:通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)。目前我们的实验中的终端程序是 xfce 桌面环境自带的 xfce-terminal 。

shell:通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell(壳)。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME),但我们的环境中使用的分别是 zsh 和 xfce。

1.2常用shell命令及快捷键

使用键盘上的方向上键,恢复之前输入过的命令;

表格:Shell 常用快捷键

按键作用
Tab补全命令,补全目录,补全命令参数

Ctrl+c

强行终止当前程序,不会使终端退出
Ctrl+d键盘输入结束或退出终端
Ctrl+s暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a将光标移至输入行头,相当于Home
Ctrl+e将光标移至输入行末,相当于End
Ctrl+k删除从光标所在位置到行末
Alt+Backspace向前删除一个单词
Shift+PgUp将终端显示向上滚动
Shift+PgDn将终端显示向下滚动

 表格:Shell 常用通配符

字符含义
*匹配 0 或多个字符
?匹配任意一个字符
[list]匹配 list 中的任意单一字符
[^list]匹配 除 list 中的任意单一字符以外的字符
[c1-c2]匹配 c1-c2 中的任意单一字符 如:[0-9][a-z]
{string1,string2,...}匹配 string1 或 string2 (或更多)其一字符串
{c1..c2}匹配 c1-c2 中全部字符 如{1..10}

图片:通配符使用实例

 1.3查看帮助文档

man命令:man命令,它是Manual pages的缩写。Manual pages 是 UNIX 或类 UNIX 操作系统中在线软件文档的一种普遍的形式, 内容包括计算机程序(包括库和系统调用)、正式的标准和惯例,甚至是抽象的概念。用户可以通过执行man命令调用手册页。

用如下方式来获得某个命令的说明和使用方式的详细介绍:

man  <command_name>

man 手册的内容很多,手册通常被分为 8 个区段,安排如下:

区段说明
1一般命令
2系统调用
3库函数,涵盖了 C 标准函数库
4特殊文件(通常是/dev 中的设备)和驱动程序
5文件格式和约定
6游戏和屏保
7杂项
8系统管理命令和守护进程

要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如:

man 1 ls

 会显示第一区段中的ls命令 man 页面。

图片:使用“man man”命令查看 man 命令本身的使用方式

 想要获得更详细的帮助,还可以使用info命令。如果知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,可以使用--help参数.

 图片:使用“ls --help"命令查看一些ls的作用

 2.作业

图片:打印自己的学号姓名 

 使用的命令有:

sudo apt-get update

sudo apt-get install sysvbanner

banner 20222802

banner qiaoqianqian

 

实验三 用户及文件权限管理 

1.Linux用户管理

Linux 是一个可以实现多用户登录的操作系统,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件。

1.1查看用户

图片:查看用户

 1.2创建用户

一般我们登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。

图片:创建新用户,用户名为qiaoqianqian

 图片:登录用户qiaoqianqian, 分辨who am i 和 whoami 命令的区别

 1.3用户组

在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源。

图片:使用groups命令查看所属用户组

 图片:使用cat /etc/group | sort命令查看用户组信息

 这里 cat 命令用于读取指定文件的内容并打印到终端输出, | sort 表示将读取的文本进行一个字典排序再输出。

 1.4删除用户和用户组

图片:使用 --remove-home 参数删除用户和用户组

2.Linux文件权限

文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。Unix/Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux 系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。

2.1查看用户权限

图片:使用“ls -l”命令用较长格式列出文件

 图片:使用“ls -a"命令列出目录下的所有文件,包括以 . 开头的隐含文件

 图片:使用”ls -al"命令查看

 图片:使用“ls -asSh"命令查看所以文件大小

 图片:使用”man ls"命令查看其他排序方式

 

2.2变更文件所有者

图片:用户qiaoqianqian创建文件20222802

 可见文件所有者是qiaoqianqian。

 图片:变更文件所有者为 shiyanlou

  可见文件所有者是shiyanlou。

2.3修改文件权限

如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改。文件的权限有两种表示方式:

方式一:二进制数字表示

 每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,记住这个顺序是固定的。文例如我们刚刚新建的文件 20222802的权限是 rw-rw-rw-,换成对应的十进制表示就是 666,这就表示这个文件的拥有者,所属用户组和其他用户具有读写权限,不具有执行权限。

图片:更改文件权限为只有所有者拥有读和写的权限

 图片:检验发现用户qiaoqianqian已经不具备读写权限

 

方式二:加减赋值操作

要完成上述实验相同的效果,可以使用命令“chmod go-rw 20222802”,其中go 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限。

3.adduser和user add的区别

useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd <username> 去设置新用户的密码。adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradduserdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

4.作业

图片:添加用户loutest

 图片:loutest用户获取sudo权限

图片: 用户 loutest创建一个空文件

 图片:文件 /opt/forloutest设置成用户 loutest 可以读写

 实验四 Linux目录结构及文件基本操作

 1.Linux目录结构

1.1 FHS标准

FHS(英文:Filesystem Hierarch标准y Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。

第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。

 1.2 目录路径

Linux cd 命令是Linux中最基本的命令语句,同时也是常用的命令,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。因此先要学好 cd 命令的使用方法技巧。

使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录,- 表示上一次所在目录, 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

 

绝对路径:以根" / "目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。

相对路径;相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin (这里假设你当前目录为根目录)。

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值