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. 牛客寒假基础集训营 | Day1 E-rin和快速迭代(暴力 + 优化)

    E-rin和快速迭代 题目描述 rin最近喜欢上了数论. 然而数论实在太复杂了,她只能研究一些简单的问题. 这天,她在研究正整数因子个数的时候,想到了一个"快速迭代"算法.设 f( ...

  2. 1051 Pop Sequence (25分)

    Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and p ...

  3. 1049 Counting Ones (30分)

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

  4. 1025 PAT Ranking (25 分)

    Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...

  5. Ubuntu 修改$PS1 自定义命令提示符

    文章更新于:2020-03-25 文章目录 一.自定义命令提示符 1.可修改的是那部分? 2.修改 $PS1 变量 3.$PS1 变量格式 4.如何修改背景颜色 5.修改字体 二.Enjoy! 一.自 ...

  6. Flask 入门(四)

    url反转 当我学习到url反转的时候,看了一个人写的例子,如下: from flask import Flask,url_for app = Flask(__name__)   @app.route ...

  7. 编写高质量Python程序(三)基础语法

    本系列文章为<编写高质量代码--改善Python程序的91个建议>的精华汇总. 关于导入模块 Python的3种引入外部模块的方式:import语句.from ... import ... ...

  8. 基于linux或windows平台上的c/s简单通信

    linux: tcpclient.cpp #include<iostream> #include<unistd.h> #include<sys/types.h> # ...

  9. 【Java】标识符 & 命名规则

    Java的标识符和命名规则 什么是标识符[Identifier]? 指用来标识某个实体的一个符号.在不同的应用环境下有不同的含义. 在编程语言中,标识符是开发者编程时使用的名字,对于变量.常量.函数. ...

  10. 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式

    1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...