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 终端中输入,前面有 $ 的内容为 ...
随机推荐
- 我遇到的一个ClassNotFoundException问题
近期,使用socket进行进程间Object通信,但是总是报ClassNotFoundException错误. 查找了很多原因,均没有解决. 通过写入文件,查看Object发送的消息内容到底是何种格式 ...
- A 组队参赛
时间限制 : - MS 空间限制 : - KB 评测说明 : 1s,256m 问题描述 一年一度的ioiAKer大赛即将来临,何老板打算让信竞队的同学们组队参赛.信竞队共n名队员,他们的CF积分 ...
- int不可为null引发的 MyBatis做持久层框架,返回值类型要为Integer问题
MyBatis做持久层框架,返回值类型要为Integer MyBatis 做持久层时,之前没注意,有时候为了偷懒使用了int类型做为返回的类型,这样是不可取的,MyBatis做持久层框架,返回值类型要 ...
- python:爬取博主的所有文章的链接、标题和内容
以爬取我自己的博客为例:https://www.cnblogs.com/Mr-choa/ 1.获取所有的文章的链接: 博客文章总共占两页,比如打开第一页:https://www.cnblogs.com ...
- JavaScript五子棋第二版
这是博主做的一个移动端五子棋小游戏,请使用手机体验.由于希望能有迭代开发的感觉,所以暂时只支持双人对战且无其他提示及对战界面,只有胜利提示,悔棋.对战双方显示.人机对战.集成TS(用于学习).和局 ...
- input radio点击选中再点击取消
这里主要说一下这个jquery中的data()方法,个人感觉这个方法平时挺少用到的,所以说一说,按照官方的解释就是 向元素附加数据,然后取回该数据; 嗯,是的,就是这么简单. 那这里说一下这个方法的使 ...
- MTK Android ROM与RAM的区别
ROM与RAM 简单的说,一个完整的计算机系统是由软件和硬件组成的.其中,硬件部分由中央处理单元CPU(包括运算器和控制器).存储器和输入/输出设备构成.目前个人电脑上使用的主板一般只能支持到1GB的 ...
- 通过STC15F2K60S2控制SIM900A发中英文短信,打电话
本文通过串口通信,使用STC15系列单片机实现发短信打电话功能. 一. 注意事项 1. 首先要确定手机卡已经注册到网络,具备打电话发短信功能 2. 正确的硬件连接: P3.0-----STXD或者5V ...
- excel完成数据库数据的批量插入
业务场景: 开发过程中往往会遇到这样情况就是产品直接给我们一堆数据,让咱们直接导入到后台数据库中,这时候咱们只需要在excel表中进行直接操作即可,如图所示(以河北省的编号为例): 而对应的数据表为: ...
- break与continue用法注意事项
break 中断循环执行,跳出循环 注意,break只能中断自己所在的循环,一般用在内层循环,但是不能中断外层循环中的代码. continue 跳到循环的下一轮继续执行,结束自己所在循环体代码,继续自 ...