2019-2020-1 20199328《Linux内核原理与分析》第一周作业
Windows和Linux在收费方面,软件知识方面,安全性、使用习惯、可定制性上以及应用范畴上都有所不同,UNIX/Linux操作系统下的Shell既是用户交互的界面,也是控制系统的脚本语言,其中Ubuntu终端默认使用的是bash。
快捷键的使用
利用touch进行文件的创建,利用cd命令来进入一个目录,在输入命令的时候可以利用tab键来进行辅助,利用Ctrl+c来强行终止当前程序而不会使终端退出,利用键盘上的上方向键来利用历史输入命令,利用 ls *.xxx命令来进行模糊查询,当然我们也可以进行多文件创建,这里只需要在文件名中加入{1..n}就可以了, 在遇到问题的时候,我们可以通过man <command _name>来进行相关命令说明和使用方法的查看,如果要更加详细的命令说明,可以使用info方法,利用banner xxx可以打印文字,toilet命令可以给文字加边框,figlet命令则可让字母全都大写。
Linux用户管理
利用who am i 命令可以惊醒查看当前伪终端的用户名,若要查看当前登录用户的用户名则中间不加空格(其中伪终端是图形用户接麦你使用/dev/tty时,每打开一个终端就会生成一个)。在Linux中,root账户拥有最大的权力,要创建用户要使用sudo命令,在使用该命令时,除了需要用户名和密码外,当前用户还必须是sudo用户组,命令上,利用su <用户名>来进行用户的切换(su -l <用户名>),用sudo 来执行创建用户等操作。Linux中还有许多的用户组,主要为方便同组用户共享资源,在查看用户所在组时,可以通过groups <用户名来进行查看,这里如果是没有指定组的新建用户,系统会自动创建一个同名的的用户组,在 /etc/sudoers.d 目录上进行同名文件的操作可以进行用户sudo权限的赋予,我们查看文件时,可以利用cat命令读取指定文件的内容并打印到终端, 进而可以利用 | sort命令进行字典排序再输出,例如:cat /etc/group | sort。如果输出太多不易查找可以通过cat <路径> | grep -E "目标文字"进行筛选。对于新创建的用户是没有root权限的,这里要给其添加root权限需要使用sudo用户组的用户(或root用户),利用groups查看用户的分组,再利用sudo usermod -G sudo <用户名>进行root权限的赋予,而删除用户则比较简单,使用sudo deluser <用户名> --remove-home就可以了。之前利用的ls命令不止可以查看当前目录下的文件,更加可以查看文件权限,只需要在后面 加上 -l 就可以了,另外我们可以通过ls -A来显示除了当期那当期那目录和上一级目录以外的所有文件。查看目录完整性,利用ls -dl<目录名>l命令。显示所有文件大小,可以利用ls -AsSh命令,其中的小s是显示文件的大小,大S则是按文件大小排序。在变更文件所有者上可以利用sudo chown <用户名> <文件名>,如果不想其他用户对文件进行读写执行等操作可以使用chmod 600 <文件名>,或者chmod go-rw <文件名>,另外,我们可以利用source命令使配置文件立即生效,在搜索文件上我们可以使用where、locate、which、find命令。
Linux目录结构
FHS(文件系统层次结构标准),定义了两层规范,第一层是各个目录应该存放什么数据,/etc应该放置文件,/bin和/sbin应放置可执行文件。第二层针对/usr和/var目录的子目录,其中/var/log放系统日志文件,/usr/share放共享数据等,利用pwd命令可以查看当前路径,新建目录利用mkdir (-p可以创建父目录) [路径]<文件名>,使用cp命令可以复制文件到指定目录,例 cp <文件名> <目标路径>,如果要复制目录则要通过 cp -r <源目录> <目标目录>,删除文件则要利用rm <文件名>,忽视提示信息进行文件删除则要使用rm -f <文件名>来进行操作,删除目录和复制目录类似,也要通过rm -r <文件名>来进行删除,移动文件可通过mv <元目录文件> <目的目录>来进行操作,重命名文件,通过mv <就文件名> <新文件名>,批量重命名则需要通过rename 命令,查看文件则需要cat(正序)、tac(倒序),这两个可用-n显示行数,nl命令比前两者的行号打印更为专业。利用more命令进行文件的单屏显示,Enter键可以读取下一行,Space键课向下滚动一屏,h显示帮助,q退出。head和tail可以各查看头尾10行,另外可以通过tail -n <所要查看的行数>进行所需行数的查询,另外通过file命令可以进行文件类型的查询。PS:通过xeyes命令可以召唤出一双眼睛,通过nohup xeyes让其进行后台运行。
环境变量与文件查找
可以通过declare <变量名>进行变量的创建,也可以直接即用即创建,直接tmp=<变量值>,读取变量值时,可以通过echo $<变量名>进行查看,我们会涉及三种变零类型:当前shell进程私有用户自定义变量是、shell本身内建的变量、从自定义变量导出的环境变量对应三种环境变量相关的命令,set(显示当前shell所有变量),env(显示与当前用户相关的环境变量),export(显示从Shell中导出成环境变量的变量)Linux的两个重要文件/etc/bashrc存放shell变量,/etc/profile存放的是环境变量。命令的查找路径,查看path环境变量的内容和查看变量值类似,通过echo $path查看,实验中chmod 755不知道对应什么权限,在网上通过搜寻资料了解到:第一个数字表示文件所有者的权限;第二个数字表示与文件所有者同属一个用户组的其他用户的权限;第三个数字表示其它用户组的权限。而读(r=4),写(w=2),执行(x=1),通过以上可以获知文件所有者可以读写执行,与文件所有者同一个组以及其他组的用户只能读和执行该文件,可利用gcc命令生成可执行文件,另外path可以通过path=$path:/<新路径>来进行添加。删除数据则可以通过${变量名##匹配字串}等命令进行删除,可以用unset命令删除一个环境变量!
文件的打包与压缩
利用zip命令打包文件,-r递归打包,-q不向屏幕输出信息,-o输出文件。另外使用du命令查看偶人压缩级以及文件大小和-h、-d一起使用效果更佳。可通过zip -e创建加密压缩包,解压则需要unzip <文件名>来解压到当前目录,并可通过-O指定编码类型,有关tar包,tar -cf创建文件(-c)并指定文件名(-f),解包时则可通过tar -xf <文件名> -c <目录>
文件系统操作与磁盘管理
可以使用df命令查看磁盘的容量,进而使用-h命令查看主机磁盘的使用情况,利用du -h命令,用更加易读的方式查看目录,利用dd命令可以转换和复制文件。创建虚拟镜像文件,sudo mkfs命令可以格式化磁盘,mount命令可以挂在磁盘到目录树,umount命令卸载已挂载磁盘,使用fdisk为磁盘分区,使用losetup命令建立镜像与回环设备的关联。这一章的内容比较晦涩,不太容易理解,准备在今后的课程中继续深入学习。
Linux下的帮助命令
进入bash的help命令,help 命令是用于显示 shell 内建命令的简要帮助信息,比较简明扼要。man命令显示系统手册页中的内容,内容比用 help 更多更详细,而且man没有内建与外部命令的区分。info命令的信息最为详细。
2019-2020-1 20199328《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 20199328《Linux内核原理与分析》第四周作业
<Linux内核原理与分析>第四周作业 步骤一 首先我们指定一个内核并指定内存根文件系统,这里的bzImage是vmLinux经过gzip压缩的内核,"b"表示&quo ...
- 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业
<Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...
随机推荐
- XDebug的配置和使用
简介 XDebug是一个开放源代码的PHP程序调试器(即一个Debug工具) 可以用来跟踪,调试和分析PHP程序的运行状况 功能强大的神器,对审计有非常大的帮助. 官网:http://www.xdeb ...
- 详谈XSS防御方法
1.HttpOnly 严格的说,httponly并非为了对抗XSS,它解决的是XSS后的Cookie劫持攻击.Cookie设置了httponly之后,JavaScript读不到该cookie的值. ...
- js检查数据类型
在实际工作中我们经常遇到要检测传入的参数类型是什么.也许第一时间想的的是typeof ,但这个也只是能检测个别的一些类型.如果要检测null,Array这些类型呢? 所以我们可以封装一个方法可以更加方 ...
- 写给程序员的机器学习入门 (二) - pytorch 与矩阵计算入门
pytorch 简介 pytorch 是目前世界上最流行的两个机器学习框架的其中之一,与 tensoflow 并峙双雄.它提供了很多方便的功能,例如根据损失自动微分计算应该怎样调整参数,提供了一系列的 ...
- Vmware安装CentOs7.4
转载https://blog.csdn.net/qq_42545206/article/details/90301472
- 1067 Sort with Swap(0, i) (25分)
Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy to sort them in increasing order ...
- Redis 练习(二)
需求: 为购物网站实现登录状态及浏览记录的维护 进入时检查 token 是否已登录 每次进入更新 token 最新进入时间 记录用户浏览的商品信息(最多 25 个) 定时检查 token 数量,如果超 ...
- 家庭版记账本app进度之编辑框组件
<EditText>中设置提示信息是用到的语句是android:hint来进行提示语句的书写. android:inputType可以将此编辑框设置为输入密码的编辑框(现实的是小黑点) a ...
- javascript入门 之 ztree(四 自定义Icon)
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - Standard Data </TITLE& ...
- 7.1 java 类、(成员)变量、(成员)方法
/* * 面向对象思想: * 面向对象是基于面向过程的编程思想. * * 面向过程:强调的是每一个功能的步骤 * 面向对象:强调的是对象,然后由对象去调用功能 * * 面向对象的思想特点: * A:是 ...