20232816《Linux内核原理与分析》第一周作业

Linux基础入门

学习AI工具

使用Pycharm下面的内置chatgpt插件
对chatgpt进行提问
在这里插入图片描述
提问部分指令
在这里插入图片描述

实验二.基本概念及操作

通过本实验对Linux的环境、shell以及命令的使用有了初步的认识和了解。

1.重要快捷键

|

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

tab快捷键演示
在这里插入图片描述

2. 使用键盘上的方向上键↑,恢复你之前输入过的命令

3.学会使用通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正字符。

终端里面输入的通配符是由 Shell 处理的,不是由所涉及的命令语句处理的,它只会出现在命令的“参数值”里(它不能出现在命令名称里, 命令不记得,那就用Tab补全)。当 Shell 在“参数值”中遇到了通配符时,Shell 会将其当作路径或文件名在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。总之,通配符实际上就是一种 Shell 实现的路径扩展功能。在通配符被处理后, Shell 会先完成该命令的重组,然后继续处理重组后的命令,直至执行该命令。

Shell 常用通配符:

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

4.学会在命令行中获取帮助

在 Linux 环境中,如果你遇到困难,可以使用man命令,它是Manual pages的缩写。

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

man <command_name>

比如你想查看 man 命令本身的使用方式,你可以输入:

man man

运行结果:
在这里插入图片描述
想要获得更详细的帮助,你还可以使用info命令,不过通常使用man就足够了。如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你可以使用–help参数,大部分命令都会带有这个参数,如:

ls --help

在这里插入图片描述

实验三.基本概念及操作

实验三介绍了Linux的用户管理和权限机制,不同用户不可以轻易地查看、修改彼此的文件。

1.用户管理

对于用户管理部分,学习了用户的创建和删除以及用户组的概念,常用的命令有:

su,su- 与 sudo
adduser
groups(查看属于哪些用户组同样可以查看 /etc/group 文件)
deluser(使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除)
groupdel (删除用户组)

2.权限机制

对于权限机制部分,学习了文件的权限查看,权限修改等内容
文件类型和权限表示如下所示

在这里插入图片描述
实验楼的环境目前设置为 shiyanlou 用户执行 sudo 不需要输入密码,通常此处需要按照提示输入 shiyanlou 密码(Linux 下密码输入是不显示任何内容的,shiyanlou 用户密码可以在右侧环境信息里查看,请勿自行设置密码)。然后是给 lilei 用户设置密码,后面的选项的一些内容你可以选择直接回车使用默认值。
在这里插入图片描述

3.具体操作

这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限,首先我们切换回 shiyanlou 用户。

su - shiyanlou

环境信息:
在这里插入图片描述
修改文件所有者从lilei变为shiyanlou
在这里插入图片描述
可以使用ls命令显示文件的各种属性,使用chmod可以修改文件权限,如

chmod 600 iphone11

在这里插入图片描述

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

主要包括Linux的文件组织目录结构以及文件的移动、复制、重命名、编辑等操作。

1.目录结构

Linux 的大部分目录结构是按照FHS标准规定好了的,其定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据;第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。FHS依据文件系统使用的频繁与否以及是否允许用户随意改动,将目录定义为四种交互作用的形态,如下表所示:

在这里插入图片描述
FHS标准:

在这里插入图片描述

2.文件常用的基本操作

包括:新建、复制、删除、移动文件与文件重命名、查看文件、查看文件类型、以及编辑文件,通过实验学习了以下主要命令:

touch :命令创建空白文件
mkdir:新建目录
cp:复制一个文件到指定目录
- 复制目录需要加上 -r 或者 -R 参数,表示递归复制
rm:删除文件
-使用 -f 参数强制删除
-要删除一个目录,也需要加上 -r 或 -R 参数
mv:移动文件
-重命名文件:mv 旧的文件名 新的文件名
-rename可以用来批量重命名文件
cat,tac 和 nl :查看文件
more 和 less :分页查看文件
file:查看文件类型
vim:编辑文件

部分实验截图:
在这里插入图片描述

实验五 环境变量与文件查找

本节实验介绍环境变量的作用与用法,及几种搜索文件的方法。学会这些技巧可以高效地使用 Linux 。

1.环境变量

环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。有三种环境变量相关的命令:set,env,export

2.搜索文件

常用的有 whereis,which,find 和 locate

whereis:简单快速(只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s))
locate:快而全
which :小而精
find:精而细

生成helloword.c
在这里插入图片描述
which语句演示
在这里插入图片描述

实验七 文件系统操作与磁盘管理

本节实验的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习 Linux 和实验楼后续其他课程的过程中有极大帮助。

1.基本操作

查看磁盘的容量

df -h

在这里插入图片描述

参数指定查看目录的深度

# 只查看 1 级目录的信息
du -h -d 0 ~
# 查看 2 级
du -h -d 1 ~
2.磁盘管理
dd
可以从标准输入读入用户的输入到标准输出或者一个文件中,并进行数据转换

在这里插入图片描述

3.作业

找出当前目录下面占用最大的前十个文件

du -am -h | sort -nr | head -n 10

在这里插入图片描述

实验八 linxu下的帮助命令

1.内建与外部命令
内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,
这些命令是写在 bash 源码的 builtins 里面的,由 shell 程序识别并在 shell 程序内部完成运
行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 
shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。

外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其
包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才
将其调入内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外
部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin 等等。比如:
ls、vi 等。

简单来说就是:一个是天生自带的天赋技能,一个是后天得来的附加技能。我们可以使用 type 命令来区分命令是内建的还是外部的。例如这三条指令得出的结果是不同的
在这里插入图片描述

2.基本命令

help命令
因为 help 命令是用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明,一定记住 help 命令只能用于显示内建命令的帮助信息,不然就会得到你刚刚得到的结果。

那如果是外部命令怎么办,不能就这么抛弃它呀。其实外部命令基本上都有一个参数 --help,这样就可以得到相应的帮助,看到你想要的东西了。试试下面这个命令是不是能看到你想要的东西了。

ls --help

在这里插入图片描述
2.info命令

info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。

# 安装 info
sudo apt-get update
sudo apt-get install info
# 查看 ls 命令的 info
info ls

在这里插入图片描述

实验十四 Linux下软件安装

本实验介绍了Ubuntu下软件安装的几种方式,及 apt,dpkg 工具的使用。

1.apt 包管理工具
APT 是 Advance Packaging Tool(高级包装工具)的缩写,是 Debian 及其派生发行版的软件包管理器,APT 可以自动下载,配置,安装二进制或者源代码格式的软件包。apt-get 包含的常用的一些工具:

install:其后加上软件包名,用于安装一个软件包
update:从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表
remove:移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件
2.dpkg
dpkg 是 Debian 软件包管理器的基础,被用于安装、卸载和供给和 .deb 软件包相关的信息。常用参数介绍:

-i :安装指定 deb 包
-R :后面加上目录名,用于安装该目录下的所有 deb 安装包
-r :remove,移除某个已安装的软件包
-I :显示 deb 包文件的信息
-s :显示已安装软件的信息
-S :搜索已安装的软件包
-L :显示已安装软件包的目录信息

比如我们想安装一个软件,名字叫做 w3m(w3m 是一个命令行的简易网页浏览器),那么输入如下命令:
在这里插入图片描述
安装的ubuntu系统:

在这里插入图片描述

实验心得

本次实验是自己第一次在实验楼上学习,虚拟环境很是方便,运行很快,从实验楼上学到了很多命令和操作,自己都在博客上记录了下来。
通过这几次实验的学习,让我对linux有了一定的了解。我知道了linux只是个内核。现在的linux操作系统,都是用这么一个内核,加上其它的应用程序构成的。linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一,这是我第一次系统性的学习linux系统,希望以后在娄老师的指引下,自己对于linux的理解与应用能更上一层楼。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值