2019-2020-1 20199308《Linux内核原理与分析》第一周作业
Linux 基础入门(新版)学习笔记
实验二 基本概念及操作
重要快捷键
- Tab 补全命令
- Ctrl+c 强行终止当前命令

历史命令
- 方向上键↑,恢复之前输入过的命令
通配符
在命令行中获取帮助
- 某个命令的说明和使用方式的详细介绍
$ man <command_name>
- 查看 man 命令本身的使用方式
man man

- 要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如:
$ man 1 ls
实验三 用户及文件管理权限
作业
添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。
运行结果


实验四 Linux 目录结构及文件基本操作
一、Linux目录结构
1、FHS标准
- FHS(Filesystem Hierarchy Standard ,文件系统层次结构标准)
- FHS 定义了两层规范:
- 第一层是, / 下面的各个目录应该要放什么文件数据,
例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。 - 第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。
例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。
- 第一层是, / 下面的各个目录应该要放什么文件数据,


2、目录路径
- 使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录
(注意:以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件)
-表示上一次所在目录,~通常表示当前用户的 home 目录。
使用 pwd 命令可以获取当前所在路径(绝对路径)。 - 绝对路径:以根" / "目录为起点的完整路径,以你所要到的目录为终点,
表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。 - 相对路径:就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,
表现形式如: usr/local/bin (这里假设你当前目录为根目录),如果是当前目录的上一级目录,则需要使用 .. ,
比如你当前目录为 /home/shiyanlou 目录下,根目录就应该表示为 ../../ ,表示上一级目录( home 目录)的上一级目录( / 目录)。
二、Linux文件的基本操作
1、新建
- 空白文件 touch命令
- 目录 mkdir(make directories)命令
使用 -p 参数,同时创建父目录(如果不存在该父目录),(在安装软件、配置安装路径时非常有用)

2、复制
- 文件 cp(copy)命令
- 目录 需要加上 -r 或者 -R 参数,表示递归复制
3、删除
- 文件 rm(remove files or directories)命令
删除一些为只读权限的文件,使用 -f 参数强制删除 - 目录 需要加上 -r 或 -R 参数
4、移动文件与文件重命名
移动文件 mv(move or rename files)命令

重命名文件 mv
讲文件file1重命名为myfile

批量重命名 rename
使用通配符批量创建 5 个文件;批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件;批量将这 5 个文件,文件名和后缀改为大写——

5、查看文件
cat 正序显示
tac 倒序显示
查看从/etc目录下拷贝来的文件

加上-n参数显示分行

nl 命令,添加行号并打印,这是个比 cat -n 更专业的行号打印命令。
- -b : 指定添加行号的方式,主要有两种:
-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
-b t:只列出非空行的编号并列出(默认为这种方式) - -n : 设置行号的样式,主要有三种:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0 - -w : 行号字段占用的位数(默认为 6 位)
- -b : 指定添加行号的方式,主要有两种:
more/less 分页显示
tail 查看新增加的用户

只看一行, 加上 -n 参数,后面紧跟行数

6、查看文件类型
- file 命令

7、编辑文件
- vimtutor
作业
创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。
运行结果

实验五 环境变量与文件查找
环境变量
1、变量
- 创建变量:declare 命令
- 赋值:= 运算符
- 读取变量的值:echo 命令和 $ 符号($ 符号用于表示引用一个变量的值)
- 以下三个命令用于打印环境变量信息,区别在于涉及的变量范围不同:


- 使用 vimdiff 工具可以更直观的比较一下它们之间的差别
- 永久生效: /etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量
.profile 只对当前用户永久生效。而写在 /etc/profile 里面的是对所有用户永久生效,所以如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上想添加的环境变量就可以。
2、命令的查找路径与顺序
2019-2020-1 20199308《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程序漏洞实验> 二.本周学习内容 ...
随机推荐
- Java内存模型和ConcurrentHashMap 1.7源码分析
简介 ConcurrentHashMap 是 util.concurrent 包的重要成员.本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体 ...
- 微信小程序生成带参数的二维码(小程序码)独家asp.net的服务端c#完整代码
一)我先用的小程序端的wx.request去调用API,发现竟然是一个坑! wx.request({ url: 'https://api.weixin.qq.com/wxa/getwxacodeunl ...
- 实验七 MySQL语言结构
实验七 MySQL语言结构 一. 实验内容: 1. 常量的使用 2. 变量的使用 3. 运算符的使用 4. 系统函数的使用 二. 实验项目:员工管理数据库 用于企业管理的员工管理数据库,数据库名为 ...
- Git创建本地仓库&把pycharm项目添加GitHub仓库上
一.创建本地仓库 1.1.下载Git地址:https://git-scm.com/downloads 下载完,一路next就可以 1.2.打开Git Bash输入: #创建一个learngit目录 $ ...
- (C#、JavaScript)面向对象的程序设计
面向对象(OOP)的理解 喜欢程序的朋友们,大家应该都听过一句话"万物皆对象",感觉老牛X了. 面向对象的程序设计,它是围绕真实世界来设计程序的. 面向对象三要素:封装.继承.多态 ...
- 001_Chrome 76支持原生HTML 图片懒加载Lazy loading
Table Of Content 什么是懒加载? 语法参数及使用方式? 有哪些特点? 与js有关的实践 什么是懒加载? 技术背景 Web应用需要经常向后台服务器请求资源(通过查询数据库,是非常耗时耗资 ...
- Redis 笔记(一)——数据类型简介
Redis 是一个 key-value 存储系统,但是它的 value 值不仅仅可以存储字符串,value 共有 五种 数据结构类型,具体如下: 数据结构类型 结构类型 结构存储的值 结构的读写能力 ...
- VLAN、Trunk,以太通道及DHCP
VLAN.Trunk,以太通道及DHCP 案例1:Vlan的划分 案例2:配置trunk中继链路 案例3:以太通道配置 案例4:DHCP服务配置 1 案例1:Vlan的划分 1.1 问题 VLAN(虚 ...
- mpvue中使用flyjs全局拦截
mpvue全局属性设置,在我之前的文章中有介绍,今天想记录的就是怎么和Fly.js结合使用来实现全局拦截功能: 首先我们要安装好Flyio,在mpvue项目中我们用npm下载安装: npm insta ...
- python 删除三天前的日志.py
#获取所有文件def file(): for cur_dir, dirs, files in os.walk(r'/学习/接口自动化/BestTest/作业/logs'): # cur_dir(当前路 ...
