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是未来的第一编程语言吗?

    目录 一.前言 二.Java帝国的今天 2.1 依然霸占TIOBE热门编程语言的榜首 2.2 曾经想扼杀Java的微软宣布加入OpenJDK 2.3 Oracle发布开源全栈虚拟机GraalVM 三. ...

  2. 一款基于SVM算法的分布式法律助手

    一. 项目简介 与 使用说明 体验网站(适配手机端): http://www.zhuchangwu.com 项目基于 Spring Cloud .Vue 构建,平台针对需要维权的用户而设计,主要提供如 ...

  3. iOS - scrollView与headerView的视差滚动实现思路

    假设场景:viewController里面有一个scrollView,该scrollView有一个headerView.现在需要将scrollView的滚动contentOffset与headerVi ...

  4. 1049 Counting Ones (30分)

    The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...

  5. 1011 World Cup Betting (20 分)

    With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excite ...

  6. [Python] 字符串加密解密

    1. 最简单的方法是用base64: import base64 s1 = base64.encodestring('hello world') s2 = base64.decodestring(s1 ...

  7. NonRegisteringDriver造成的内存频繁FullGc

    某天上服务器看了下gc情况,发现状况不对,启动了才2天的服务器发生了360次fullgc,这个频率肯定高了 说明 S0C.S1C.S0U.S1U:Survivor 0/1区容量(Capacity)和使 ...

  8. springIoc中的单列对象的分析

    最近有个同事去面试,其中有一个问题是关于spring单例的.本篇博文就发表一下小编我自己的理解~~. 使用过spring的程序猿应该都知道,我们的bean(controller.service和Dao ...

  9. vueThink框架搭建与填坑(new)

    自己跟着官网搭建vueThink框架,发现github上文档有很多坑.所以总结一下(仅针对WIN端下载使用) 1.安装node.js 前端部分是基于node.js上运行的,所以必须先安装node.js ...

  10. 数据结构和算法(Golang实现)(8.2)基础知识-分治法和递归

    分治法和递归 在计算机科学中,分治法是一种很重要的算法. 字面上的解释是分而治之,就是把一个复杂的问题分成两个或更多的相同或相似的子问题. 直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合 ...