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. Cplex教育版申请

    任何人:直接在公众号"毒书 彼记" ,“资源下载” 板块下载: 如果你的学校没有购买cplex软件没那么,你就不可以下载教育版的cplex软件,如过下载免费板,它的功能会有一些限制 ...

  2. 面试:给我说说你平时是如何优化MySQL的?

    面试:给我说说你平时是如何优化MySQL的? 1.explain 在MySQL优化的时候.我们使用最多的是explain查看 SQL 的执行计划 类型 解释 type 连接类型.一个好的SQL语句至少 ...

  3. Vertica的这些事(八)——-Vertica-管理

    1.版本信息 dbadmin=> SELECT version(); version ------------------------------------ Vertica Analytic ...

  4. iOS、Android 开发的前景真的那么差吗?

    程序员问问周刊:别蕉绿了,问问「IT老兵哥」吧! Q:本科 985 在上海二线互联网企业工作,公司有人才落户指标,但要排队等五年左右.除此外只能等居住满七年落户,现在想换工作追求更好的发展,纠结是继续 ...

  5. PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)

    PTA数据结构与算法题目集(中文)  7-36 社交网络图中结点的“重要性”计算 (30 分) 7-36 社交网络图中结点的“重要性”计算 (30 分)   在社交网络中,个人或单位(结点)之间通过某 ...

  6. JavaScript中数组的两种排序方法详解(冒泡排序和选择排序)

    一.冒泡排序的原理(从小到大) 相邻两个数进行比较,如果前一个数大于后一个数,那么就交换,否则不交换 原理剖析 比如有一组含有6个数字的数:5.3.7.2.1.6一共6个数字,做5次循环,每次循环相邻 ...

  7. Elasticsearch 核心术语概念

    Elasticsearch 相当于一个关系型数据库 索引 index 类型 type 文档 document 字段 fields 跟关系型数据库对比 Elasticsearch 相当于一个数据库 索引 ...

  8. python中汉字转数字

    #!/usr/bin/env python # -*- coding: utf-8 -*- common_used_numerals_tmp ={'零':0, '一':1, '二':2, '三':3, ...

  9. python3(四)list tuple

    # !/usr/bin/env python3 # -*- coding: utf-8 -*- # list是一种有序的集合,可以随时添加和删除其中的元素. classmates = ['Michae ...

  10. Linq中带有迭代索引的Select扩展方法,为啥知道的人不多呢?

    一:背景 昨天在看C#函数式编程这本书的时候,有一处让我干着急,需求是这样: 给多行文字加上数字列表项. 针对这个需求你会如何快捷高效的给每个项目加上数字编号呢? 我看书中是这样实现的,如下代码 pu ...