2019-2020-1 20199302《Linux内核原理与分析》第一周作业
2019.9.13
说明:可能是因为网速问题,笔记本上一直没有办法加载实验楼的学习界面,所以没有使用实验楼提供的环境,而是用的ubuntu进行的所有实验。
二、学习第二章,对shell命令有了一个大概的了解。
(一)首先是快捷键的学习,会使得以后的学习简便很多。
1、【Ctrl】+【F1~F6】切换用户。
2、【Tab】命令补全
3、【Ctrl】+【c】强行终止当前程序
4、【Ctrl】+【d】键盘输入结束或退出终端
5、【Ctrl】+【z】将当前程序放入后台运行
6、【Ctrl】+【a】光标移至最前
7、【Ctrl】+【e】光标移至最后
8、【Ctrl】+【k】删除光标开始到行末
9、【Alt】+【Backspace】向上删除一个单词
10、【shift】+【PgUp】显示向上滚动
11、【shift】+【PgDown】显示向下滚动
(二)模糊匹配 *与?[c1-c2] {c1..c2}等
(三)输出图形字符命令
1、首先展示pv命令(此处为自己扩展内容)
1)安装pv,

2)使用预先输好的内容像是敲击键盘一样的显示出来。

后面的数字表示字符显示速度,数字越小,速度越慢。
2、toilet
1) 安装toilet与安装pv类似
2)使用命令以及出现的结果

3.figlet
与上面两个命令用法相同。
三、第三章内容
(一)零碎知识
1、通过之前学到的内容,切换用户时,有1-6六个用户,当F7时,切换到的是ubuntu的图形化界面。
2、root权限是Linux和Unix系统中的最高权限,当黑客进行攻击时,会提权到root。
3、创建用户与切换用户


4、查看当前用户所属分组

5、cat /etc/group | sort 查看/etc/group文件内容 sort表示将文件中的内容用字典排序的方式显示出来

6、/etc/group包括用户组,用户组口令,GID以及该用户组所包含用户,每个用户组一条数据
为lilei分组到sudo,使lilei可以将权限提到root

7、删除用户lilei

四、文件权限
(一)

所显示的信息分别代表的含义如下图所示:

上图摘自 https://blog.csdn.net/zhuoya_/article/details/77418413
1、 其中d表示文件类型为目录 (说明:d表示目录,l表示软链接:类似于windows的快捷方式,b表示块设备,c表示字符设备,s表示socket,p表示通道,-表示普通文件,/dev中是设备文件)。
2、三部分权限分别为:拥有者权限,所属组权限以及其他用户权限。
3、权限的表示:r代表允许读,w代表允许写,x表示允许执行。(一个目录通常要有读权限和执行权限才可以查看内部文件,要有目录的写权限才可以在该目录中创建写权限。)
4、查看隐藏文件
ls -A
5、查看某一个目录的完整属性
ls -dl
6、查看所有文件大小。S为显示文件大小,s为按文件大小排列
ls -AsSh
man ls之后所显示的内容中,关于排序的包括:(用的是谷歌浏览器,但是不知道为什么图片不能显示出来,手动链接看图吧!)





7、变更文件所有者:sudo chown变更后名称 变更文件(注:该命令需要在变更后的所有者的身份下执行)

8、修改文件权限
方法一: 
方法二:chmod gou+/-rwx 文件名 g代表group o代表others u代表user
9、adduser和useradd
adduser像是一个程序需要输入用户的相关信息,但是useradd只是单纯地创建用户,不需要设置相关信息。
10、作业
首先创建用户,将该用户设为有sudo权限,创建文件,将文件修改权限,修改权限时,前面需要加sudo

五、文件管理
1、FHS(Filesystem Hierarchy Standard,文件系统层次结构标准)。
2、第一层:/etc放置配置文件;/bin,/sbin放置可执行文件。
第二层:/user/share放置共享数据;/var/log放置系统日志文件。
3、(1)相对路径:当前目录为起点,目标目录为终点。
4、nl是比-n更加专业的添加行号并打印的命令,我还以为是cat -nl 文件名,实际上应该是nl 文件名=cat -n 文件名。
5、(1)相对路径:从当前目录开始。
(2)绝对路径:从根目录开始。
4、复制文件命令:cp 文件名 要复制到的路径
5、由于登陆的用户不具有创建和复制文件(夹)的权限,所以操作时需要加sudo,且复制文件夹时要加参数-r。

六、环境变量与文件查找
1、遇到问题 输入declear时,出现common not found错误提示。
解决:是因ubuntu默认为dash
首先查看自己当前shell:ls -l /bin/sh 可以看到ubuntu默认用的是dash
这时候就要将这个sh转换为bash,方法如下:
sudo dpkg-reconfigure dash,此时会弹出窗口,点击“否”
成功后,执行ll /bin/sh,此时可以看到已经转换成了bash
这样就可以解决那些找不到命令的问题。
2、将可执行文件放在bin文件夹中并且设置好PATH变量后,再运行这些可执行文件的时候,直接文件名即可,不需要加前面的"./"
可以将可执行文件固化到环境变量中,在关闭当前shell再打开时,不需要再去配置环境变量。
将该path添加到.shrc中(bash为.bathrc,zsh为.zshrc等等)
3、编写shell脚本文件之后,执行该文件时,首先要确定此时的用户有这个文件的执行权限,执行该脚本文件时,直接输入./文件名。
编写c语言文件后,使用gcc命令执行c语言程序文件。
c语言程序的执行时遇到问题,错误提示为:syntax error near void token “(”……
解决办法:因为自己在用gcc生成可执行文件之后,在运行程序时候没有用生成的目标文件,而是用编辑的那个文件。
3、搜索文件的命令 whereis ,witch,find,locate
作业:(https://img2018.cnblogs.com/blog/1800801/201909/1800801-20190915214946489-2143858750.png)
4、用tar打包文件时,tar -cf 压缩后文件名.tar 要压缩的内容 中,要压缩的内容路径应该是相对路径,如果要写绝对路径应该加上参数-P
2019-2020-1 20199302《Linux内核原理与分析》第一周作业的更多相关文章
- Linux内核原理与分析-第一周作业
本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...
- 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业
前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...
- 2019-2020-1 20199303<Linux内核原理与分析>第二周作业
2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...
- 20169219 linux内核原理与分析第二周作业
"linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...
- 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业
1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...
- Linux内核原理与分析-第二周作业
写之前回看了一遍秒速五厘米:如果
- 2018-2019-1 20189221《Linux内核原理与分析》第一周作业
Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...
- 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业
这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...
- 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业
<Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业
<Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...
随机推荐
- CharacterEncodingFilter cannot be cast to javax.servlet.Filter
java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot be cast ...
- 微信H5页面前端开发,大多数人都会遇到的几个兼容性坑
最近给公司微信公众号,写了微信h5业务页面,总结分享一下前端开发过程中的几个兼容性坑,项目直接拿的公司页面,所以下文涉及图片都模糊处理了. 1.ios端兼容input光标高度 问题详情描述:input ...
- Maven过滤属性文件,替换属性值
pom.xml 1.resources: resources中是定义哪些目录下的文件会被配置文件中定义的变量替换,一般我们会把项目的配置文件放在src/main/resources下,像db,bean ...
- 使用mavan构建自定义项目脚手架
首先抛出一个问题是为什么要构建自定义的脚手架,maven已经为了我么提供了很多脚手架,方便我们快速的创建一个普通java项目或者是web项目,然而在实际开发中,例如银行项目,大部分都是ssm架构,我们 ...
- 网页包抓取工具Fiddler工具简单设置
当下载好fiddler软件后首先通过以下简单设置,或者有时候fiddler抓取不了浏览器资源了.可以通过以下设置. 设置完成后重启软件.打开网络看看有没有抓取到包.
- Java 面向对象知识扩展
四种权限修饰符 java有四种权限修饰符:public > protected > (default) > private public protected default pr ...
- win10远程桌面 CredSSP加密Oracle修正的解决办法
小编在登录远程桌面的时候一直显示由于CredSSP加密Oracle修正 的警告,连接不上.最终通过以下办法解决了 首先点击windows+R键 输入gpedit.msc,点击确定. 然后依次选择:计算 ...
- fatal: 不是一个有效的对象名:'master'。
听说git比svn的branch功能好,所以装了个msysgit玩.执行完了git init操作后想建branch,用git branch develop命令,结果报错,说 fatal: Not a ...
- ubuntu18.04使用vscode报pylint is not install错误
1.安装pip:sudo apt-get install pip,如果使用python3则需要安装pip3:sudo apt-get install python3-pip 2.使用pip安装pyli ...
- 关于移动端图片浏览,previewimage的使用
我相信在移动端项目中,大家都会遇到图片浏览的问题,像qq,微信,微博,淘宝,当你点击图片时,图片会放大全屏显示,双击图片时图片继续放大查看,双指左右滑动也可以放大,当你再次点击时图片,图片恢复原始大小 ...