开篇概述

我利用假期的时间自学了实验楼上的Linux基础入门前八个实验的课程,学习过程中遇到了一些小问题。但经过查资料等方式最终还是解决了问题。现将学到的一些知识点总结下来。方便日后复习查看。

1.零散知识点

  • Linux之父是Linus Torvalds
  • Ken Thompson和Dennis Ritchie是C语言和Unix之父
  • Stallman是GNU和FSF(自由软件基金会)创始人
  • 操作系统主要是系统调用和内核两层,同时还包含了一些在其上运行的应用程序
  • 流行的实现了客户端功能的桌面环境为: KDE,GNOME,XFCE,LXDE
  • 实验楼使用的是XFCE桌面环境
  • 终端本质上是对应着 Linux 上的 /dev/tty 设备
  • 在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等
  • Ubuntu 终端默认使用的是 bash
  • 实验楼终端使用的分别是 zsh 和 xfce。
  • 使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(注意,我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
  • rwx对应4,2,1
  • FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。

2.学到的命令

  • touch 创建文件
  • pwd 查看当前所在目录
  • adduser或useradd 添加用户
  • deluser 删除用户
  • su 切换用户
  • sudo 以特权级别运行命令
  • groups 查询用户所在组
  • usermod可用来修改用户帐号的各项设定
    • -g<群组> 修改用户所属的群组
    • -G<群组> 修改用户所属的附加群组
  • ls 查看当前目录下的文件
  • chown 改变文件所有者
  • chmod 控制文件权限
  • mkdir 创建目录
  • cp 复制操作
  • rm 删除
  • mv 移动
  • rename 批量重命名
  • cat,tac,nl 查看文件
  • more 和 less 命令分页查看文件
  • head 从首部查看文件
  • tail 从尾部查看文件
  • cat 用于读取指定文件的内容并打印到终端输出
  • file 查看文件的类型
  • locate 查找文件
  • find 查找文件(强大)
  • tar 压缩与解压缩命令(推荐使用)
  • zip 压缩
  • unzip 解压缩
  • df 查看磁盘的容量
  • du 查看目录的容量
  • dd 用于转换和复制文件
  • help,man,info 用来获取帮助,info信息量最大
  • vimtutor 学习vim教程

3.重要图片

  • 通配符匹配

  • 常用快捷键

  • Linux和Windows的不同

  • 文件属性

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

首先要添加用户loutest,用到了adduser或useradd命令,添加完用户后,要在opt文件夹下创建forloutest空文件,可以用touch命令来创建。但是用户loutest并没有root权限,所以无法在此目录创建文件,需要先赋予权限,这时需要用到usermod命令:usermod可用来修改用户帐号的各项设定。我们要做的就是把用户loutest加入sudo组,需要用到usermod的-g指令:修改用户所属的群组。修改群组完成后,我们切换到用户loutest创建forloutest空文件。然后再使用chmod命令修改文件属性为读写即可。关键代码如下:

##在shiyanlou用户下
sudo adduser loutest
sudo usermod -g sudo loutest
su loutest
##在loutest用户下
cd /opt
sudo chmod go+rw forloutest

运行结果:

2019-2020-1 20199326《Linux内核原理与分析》第一周作业的更多相关文章

  1. Linux内核原理与分析-第一周作业

    本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...

  2. 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业

    前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...

  3. 2019-2020-1 20199303<Linux内核原理与分析>第二周作业

    2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...

  4. 20169219 linux内核原理与分析第二周作业

    "linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...

  5. 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业

    1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...

  6. Linux内核原理与分析-第二周作业

    写之前回看了一遍秒速五厘米:如果

  7. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  8. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

  9. 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业

    <Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...

  10. 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业

    <Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...

随机推荐

  1. CentOS下的Docker-Compose离线安装

    公司服务器已经安装了 Docker 环境,但没有安装 Docker Compose,使用起来十分不便.由于服务无法连接外网,下面演示如何离线安装 Docker Compose. (1)首先访问 doc ...

  2. L - Subway(最短路spfa)

    L - Subway(最短路spfa) You have just moved from a quiet Waterloo neighbourhood to a big, noisy city. In ...

  3. 人生靠反省,Java靠泛型

    昨天有同事问 UserService.XxxService 都会调用 Dao 的 insert.update ... ...,这些重复的代码,有没有办法变得灵活一些? 巧了,和咱们分享的主题刚好碰上, ...

  4. EOS基础全家桶(六)账号管理

    简介 本篇我们会学习最基本的账号相关的操作,包括了创建账号和查询,关于账号资源的操作因为必须先部署系统合约,所以我们会留到后面单独写一篇来讲解. 6-EOS基础全家桶(六)账号管理 简介 账号介绍 账 ...

  5. PTA数据结构与算法题目集(中文) 7-19

    PTA数据结构与算法题目集(中文)  7-19 7-19 求链式线性表的倒数第K项 (20 分)   给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给 ...

  6. 手动搭建I/O网络通信框架2:Socket和ServerSocket入门实战,实现单聊

    第一章:手动搭建I/O网络通信框架1:Socket和ServerSocket入门实战,实现单聊 在第一章中运用Socket和ServerSocket简单的实现了网络通信.这一章,利用BIO编程模型进行 ...

  7. web自动化浏览器chrome和驱动chromedriver

    1.web自动化下载浏览器和对应的浏览器驱动,以谷歌浏览器为例 电脑上安装谷歌浏览器,查看谷歌浏览器的版本,输入chrome://settings/help 2.chromedriver国内镜像地址h ...

  8. Spring(一):Spring入门程序和IoC初步理解

    本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出一遍就懂!b站搜索狂神说或点击下面链接 https://space.bilibili.com/95256449?spm_id_from=33 ...

  9. npm install报错:chromedriver@2.27.2 install: node install.js

    报错: 刚开始以为是 node 或 npm 版本问题,前前后后折腾了好久,终于解决了 解决: 如果执行过npm install,先删除 node_modules 文件夹,不然运行的时候可能会报错 执行 ...

  10. go 中的WaitGroup

    wait_group sync.WaitGroup 类型是并发安全的,也是开箱就能用的. 该类型有三个指针方法,即:Add,Done和Wait. sync.WaitGroup是一个结构体类型.其中一个 ...