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

实验一:Linux 系统简介

Linux 系统

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

Linux 历史简介

1.操作系统始于二十世纪五十年代,当时的操作系统能运行批处理程序。

2.二十世纪六十年代初,交互式操作系统开始流行,这样的操作系统被称作分时操作系统。

3.贝尔实验室开发了他们自己的一个操作系统—— UNIX 。

4.1991 年 10 月,Linus Torvalds(Linux 之父)第一次发行最初的 Linux。

学习Linux的路径

 实验二:Linux基本概念及操作

Linux 桌面环境介绍

  • 相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 UNIX/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件。 
  • Linux 上的这套软件以前是 XFree86,现在则是 xorg(X.Org)
  • 如果只有服务器也是不能实现一个完整的桌面环境的,当然还需要一个客户端,我们称为 X Client,像如下几个大家熟知也最流行的实现了客户端功能的桌面环境 KDEGNOMEXFCELXDE 。

终端

  • 通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的。
  • Linux 默认提供了 6 个纯命令行界面的 “terminal”(来让用户登录。在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,不过在我们的在线实验环境中可能无法切换,因为特殊功能按键会被你的主机系统劫持。当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。

Shell

Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。

命令行操作

  • [Tab] 使用Tab键进行命令补全。当你忘记某个命令的全称时可以只输入它的开头的一部分,然后按下Tab键就可以得到提示或者帮助完成:

  •  一些常用快捷键

  •  命令行常用操作指令

1)touch file:创建一个名为 file 的文件,touch是一个命令;

2)cd /etc/:进入一个目录,cd是一个命令;

3)pwd:查看当前所在目录;

4)按方向上键,恢复你之前输入过的命令;

5)星号(*)和问号(?),用来对字符串进行模糊匹配;

6)想要获得更详细的帮助,可以使用info命令,不过通常使用man就足够了。

  • 常用通配符

 作业

输出图形字符的命令banner:

  • 先使用如下命令安装:

sudo apt-get update

sudo apt-get install sysvbanner

  • 使用banner生成字符:

banner shiyanlou

生成效果图:

printerbanner -w 50 A

 toilet gengqian(使用toilet前要先将其安装)

figlet gengqian(使用figlet前要先将其安装)

遇到的问题以及解决方案 

在使用toilet,figlet时,如果之前没有安装,是不能正常使用的,所以需要sudo apt-get install toilet将其安装。 

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

Linux 用户管理

由于 Linux 的 用户管理和权限机制,不同用户不可以轻易地查看、修改彼此的文件。

查看用户

  • who am i、who mom likes可以查看打开当前伪终端的用户的用户名。
  • whoami查看当前登录用户的用户名。
  • who 命令其它常用参数

 创建用户

root 账户拥有整个系统至高无上的权限,比如新建和添加用户。root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作。大部分 Linux 系统在安装时都会建议用户新建一个用户而不是直接使用 root 用户进行登录。

  • 新建一个叫 lilei 的用户:sudo adduser lilei,注意Linux 下密码输入是不显示任何内容的。
  • 这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录。

  • 新建后,可以使用你创建的用户登录了,使用如下命令切换登录用户:su -l lilei

 

用户组 

  • 如何知道自己属于哪些用户组

方法一:使用group命令    groups shiyanlou

方法二:查看 /etc/group 文件   cat /etc/group | sort (这里 cat 命令用于读取指定文件的内容并打印到终端输出)

  • 将其它用户加入 sudo 用户组

默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限。

使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限

  • 删除用户和用户组

使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除。

删除用户组可以使用 groupdel 命令。

Linux 文件权限

  • 查看文件权限

使用较长格式列出文件,会出来以下格式:

具体含义如下:

(1)关于文件类型,这里有一点你必需时刻牢记 Linux 里面一切皆文件。

(2)读权限,表示你可以使用 cat <file name> 之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件的内容

(3)一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件。

  • 关于 ls 命令的一些其它常用的用法:

(1)显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件):ls -a

(2)查看某一个目录的完整属性,而不是显示目录里面的文件属性:ls -dl <目录名>

(3)显示所有文件大小,并以普通人类能看懂的方式呈现:ls -asSh

  • 变更文件所有者:

使用 chown 命令变更文件所有者:sudo chown shiyanlou iphone11 #修改文件iphone11的所有者为shiyanlou

  • 修改文件权限

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

(1)方式一:二进制数字表示

每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,记住这个顺序是固定的。文件的读写执行对应字母 rwx,以二进制表示就是 111,用十进制表示就是 。

(2)加减赋值操作

go 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限。

adduser 和 useradd 的区别是什么

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

 作业

添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写

以下为实现截图:

 

 

 遇到的问题以及解决方案

 以用户loutest登录后,直接输入指令ls -alh,里面并没有forloutest文件,需要使用cd指令跳转到opt目录下,再使用指令ls -alh才可以看到。

关于ls -alh指令:

-l : (list)以列表形式显示
-a: (all)显示全部文件, 包括隐藏文件
-h: (human readable)人性化形式显示文件大小

小结

Linux的命令需要多记多练才能记牢,通过第一周的Linux学习,我收益匪浅。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值