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 终端中输入,前面有 $ 的内容为 ...
随机推荐
- Thinking in Java学习杂记(第7章)
将一个方法调用同一个方法主体连接到一起就称为"绑定"(Binding).若在程序运行以前执行绑定,就叫做"早期绑定".而Java中绑定的所有方法都采用后期绑定技 ...
- 延时对象promise的使用
promise是ES6(ECMA Script6)的新标准,只能在支持ES6的浏览器中使用 Promise是一个延时对象,创建延时对象时需要传入一个函数类型的参数 这个函数有两个参数:resolve和 ...
- Activiti组任务
一.Candidate-users候选人 1.需求 在流程定义中在任务节点的assignee固定设置任务负责人,在流程定义时将参数者固定设置在.bpmn文件中,如果临时任务负责人变更则需要修改流程定义 ...
- 【故障公告】部署在 k8s 上的博客后台昨天与今天在访问高峰多次出现 502
非常抱歉,从昨天上午开始,部署在 k8s 集群上的博客后台(基于 .NET Core 3.1 + Angular 8.2 实现)出现奇怪问题,一到访问高峰就多次出现 502 ,有时能自动恢复,有时需要 ...
- linux神器 strace解析
除了人格以外,人最大的损失,莫过于失掉自信心了. 前言 strace可以说是神器一般的存在了,对于研究代码调用,内核级调用.系统级调用有非常重要的作用.打算了一周了,只有原文,一直没有梳理,拖延症犯了 ...
- Appium自动化(1) - 环境准备详细教程
Appium需要用到的工具 链接:https://pan.baidu.com/s/1od9x-1l0ALGRT5T6QFDHWg 提取码:bnhq 安装Appium Pyhton client包 1. ...
- var、let和const的区别详解
let 和 const 是 ECMAScript6 新推出的特性,其中 let 是能够替代 var 的"标准",所以我们探讨 var.let 和 const 的区别,首先应该知 ...
- tornado的ORM
tornado的ORM 安装sqlalchemy和pymysql pip install sqlalchemy pip install pymysql 连接数据库 from sqlalchemy im ...
- Flask 入门(七)
flask操作数据库:建表: 承接上文: 修改main.py中的代码如下: #encoding:utf-8 from flask_sqlalchemy import SQLAlchemy from f ...
- MySQL学习之路5-数据表的常用操作
排序 :order by desc select * from <tablename> order by <字段名> desc:order by默认升序 desc 降序 分组 ...