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 位)
  • 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内核原理与分析》第一周作业的更多相关文章

  1. Linux内核原理与分析-第一周作业

    本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...

  2. 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业

    前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...

  3. 2019-2020-1 20199303<Linux内核原理与分析>第二周作业

    2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...

  4. 20169219 linux内核原理与分析第二周作业

    "linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...

  5. 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业

    1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...

  6. Linux内核原理与分析-第二周作业

    写之前回看了一遍秒速五厘米:如果

  7. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  8. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

  9. 2019-2020-1 20199329《Linux内核原理与分析》第十三周作业

    <Linux内核原理与分析>第十三周作业 一.本周内容概述 通过重现缓冲区溢出攻击来理解漏洞 二.本周学习内容 1.实验简介 注意:实验中命令在 xfce 终端中输入,前面有 $ 的内容为 ...

  10. 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业

    <Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...

随机推荐

  1. Java内存模型和ConcurrentHashMap 1.7源码分析

    简介 ConcurrentHashMap 是 util.concurrent 包的重要成员.本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体 ...

  2. 微信小程序生成带参数的二维码(小程序码)独家asp.net的服务端c#完整代码

    一)我先用的小程序端的wx.request去调用API,发现竟然是一个坑! wx.request({ url: 'https://api.weixin.qq.com/wxa/getwxacodeunl ...

  3. 实验七 MySQL语言结构

    实验七 MySQL语言结构 一.  实验内容: 1. 常量的使用 2. 变量的使用 3. 运算符的使用 4. 系统函数的使用 二.  实验项目:员工管理数据库 用于企业管理的员工管理数据库,数据库名为 ...

  4. Git创建本地仓库&把pycharm项目添加GitHub仓库上

    一.创建本地仓库 1.1.下载Git地址:https://git-scm.com/downloads 下载完,一路next就可以 1.2.打开Git Bash输入: #创建一个learngit目录 $ ...

  5. (C#、JavaScript)面向对象的程序设计

    面向对象(OOP)的理解 喜欢程序的朋友们,大家应该都听过一句话"万物皆对象",感觉老牛X了. 面向对象的程序设计,它是围绕真实世界来设计程序的. 面向对象三要素:封装.继承.多态 ...

  6. 001_Chrome 76支持原生HTML 图片懒加载Lazy loading

    Table Of Content 什么是懒加载? 语法参数及使用方式? 有哪些特点? 与js有关的实践 什么是懒加载? 技术背景 Web应用需要经常向后台服务器请求资源(通过查询数据库,是非常耗时耗资 ...

  7. Redis 笔记(一)——数据类型简介

    Redis 是一个 key-value 存储系统,但是它的 value 值不仅仅可以存储字符串,value 共有 五种 数据结构类型,具体如下: 数据结构类型 结构类型 结构存储的值 结构的读写能力 ...

  8. VLAN、Trunk,以太通道及DHCP

    VLAN.Trunk,以太通道及DHCP 案例1:Vlan的划分 案例2:配置trunk中继链路 案例3:以太通道配置 案例4:DHCP服务配置 1 案例1:Vlan的划分 1.1 问题 VLAN(虚 ...

  9. mpvue中使用flyjs全局拦截

    mpvue全局属性设置,在我之前的文章中有介绍,今天想记录的就是怎么和Fly.js结合使用来实现全局拦截功能: 首先我们要安装好Flyio,在mpvue项目中我们用npm下载安装: npm insta ...

  10. python 删除三天前的日志.py

    #获取所有文件def file(): for cur_dir, dirs, files in os.walk(r'/学习/接口自动化/BestTest/作业/logs'): # cur_dir(当前路 ...