最新学习笔记 2022-04-04

STM32 MP157

华清远见学习笔记

第一章 开发环境要求

Ubuntu 18.04 LTS 64-bit

虚拟机存放硬盘分区剩余空间 80G 以上

第二章 Ubuntu 安装

安装Ubuntu 18.04

配置虚拟机
网络连接修改

Ubuntu 系统安装成功之后,默认网络配置为 NAT 模式,为了后续方便 Ubuntu 与主机进行网络通信需要修改为桥接模式

安装 VMware Tools

使用Open VM Tools安装VMware Tools:

如果您正在运行Ubuntu桌面版,则要安装VMware Tools,请运行:

sudo apt update
sudo apt install open-vm-tools-desktop

您已经在Ubuntu虚拟机上成功安装了VMware Tools。

发布新版本的Open VM Tools时,您可以通过桌面标准软件更新工具或在终端中运行以下命令来更新软件包:

sudo apt update && sudo apt upgrade
启用共享文件夹
常用工具安装
  1. net-tools 安装

    从 ubuntu18.04 版本开始,在系统中默认不支持 ifconfig 命令进行网络状态查看。需要安装 net-tools 方可使用

    linux@ubuntu:$ sudo apt-get update
    linux@ubuntu:$ sudo apt install net-tools
    
  2. vim 安装

    系统安装完成后自带的文本编辑器是 vi 编辑器,这里推荐使用 vim 编辑器进行文本编辑。

    vim 安装一些辅助插件 jeffy-vim-read.tar.gz

    安装 ctags

  3. openssh 安装

安装 TFTP 服务器
安装 NFS 服务器
Linux 开发工具安装

第三章 磁盘分区表相关操作

MBR 分区和 GPT 分区

全新硬盘未初始化之前,必须对齐进行分区,硬盘分区初始化的格式包括 MBR 和GPT 两种

  • MBR 分区 ,Master Boot Record(主引导记录):之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特
    殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。

    MBR 最大支持 2.2TB 磁盘,它无法处理大于 2.2TB 容量的磁盘。 MBR 只支持最多 4个主分区,如果想要更多分区,则需要创建 “扩展分区”,并在其中创建逻辑分区。

  • GPT 分区 ,Globally Unique Identifier Partition Table,意即 GUID 分区表 ,它的推出是和 UEFI BIOS 相辅相成的 。GPT 突破了 2.2T 分区的限制,最大支持 18EB 的分区 。

    在分区数量上, GPT 会为每一个分区分配一个全局唯一的标识符,理论上 GPT 支持无限个磁盘分区,不过在 Windows系统上由于系统的限制,最多只能支持 128个磁盘分区,基本可以满足所有用户的存储需求。在每一个分区上,这个标识符是一个随机生成的字符串,可以保证为地球上的每一个 GPT 分区都分配完全唯一的标识符 。

linux 下磁盘文件节点名

基本上, linux 下所有实体外部存储设备的文件名都被命名成 /dev/sd[a-p]的格式,第一个存储设备的文件名为/dev/sda。而分区的文件名若以第一个存储设备为例,则为/dev/sda[1-128]。除了实体磁盘之外,虚拟机的磁盘通常为/dev/vd[a-p]的格式。 若有使用到软件磁盘阵列的话,那还有/dev/md[0-128]的磁盘文件名。

第四章 shell脚本

shell简介

在 Linux 系统开发过程中,开发者或者用户与 Linux 系统(内核)进行交互的时候需要一个平台,这就是 Shell

当用户希望与系统内核( Kernel)发生联系进而控制硬件设备时,用户不会也不允许直接与内核交互,而必须通过 Shell 来下达命令使系统来控制硬件,同时内核也会通过 Shell 来反馈执行情况,这里的 Shell 就是一个桥梁

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UC0RE0Un-1649576657543)(C:\Users\14994\AppData\Roaming\Typora\typora-user-images\image-20220404153044335.png)]

Bash(Bourne Again Shell) 是目前大多数 Linux(Red Hat, Slackware 等) 系统默认使用的 Shell 。Linux 使用它作为默认的 Shell
是因为它有以下的特点 :

  • 可以使用类似 DOS 下面的 doskey 的功能,用上下方向键查阅和快速输入并修改命令。
  • 自动通过查找匹配的方式,给出以某字串开头的命令。
  • 包含了自身的帮助功能,只要在提示符下面键入 help 就可以得到相关的帮助。

Linux 下使用 Shell 非常简单,打开终端就可以看到 Shell 的提示符了, 登录系统之后,系统将执行一个称为 Shell 的程序, 正是 Shell 进程提供了命令行提示符。作为 Linux 默认的 Bash, 对于普通用户用**“$”** 作为 Shell 提示符, 而对于根用户(root)用**“#”** 作提示符。

常用shell命令

Shell 命令可以分为两种 :

  • 包含于 Shell 内部的命令,如 cd 命令
  • 存在于系统文件内部的某个应用程序,如 ls 命令

Shell 命令的一般格式如下 :

命令名 【选项】 【参数 1】 【参数 2】 …

对于选项和参数的说明

【选项】 是包括一个或多个字母的代码,它前面有一个减号(-), Linux 用它来区别选项和参数, 【选项】 可用于改变命令执行的动作的类型。多个【 选项】 可以用一个减号(-) 连起来, 例如‘ls – l -a’ 与‘ls -la’ 相同。

ls 命令可以查看当前目录的内容,加入选项-l 可以以长格式查看当前目录内容

加入-l 选项,将会为每个文件列出一行信息,诸如数据大小和数据最后被修改的时间

使用该指令可以查看文件的权限位 ,如:“-rw-r–r-- ”,表示的是 3 组不同用户对该文件的使用权限,每组有 3 个权限位

  • rw- 用户权限
  • r-- 同组用户权限
  • r-- 其他用户权限
ls -l
常用 Shell 命令介绍
  • 建立文件的符号链接

    建立文件的符号链接是 Linux 中一个很重要的命令,它的基本功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的选项是-s,具体用法如下 :

    ln [-s] [源文件] [目标文件]
    

    在实际的操作过程当中,有时在不同的目录中要用到相同的文件,我们不需要在每一个需要的目录下都放一个相同的文件,而是使用 ln 命令链接(link)它就可以(相当于建立了一个快捷方式),这样可以避免重复的占用磁盘空间。例如: ln –s /bin/test /usr/local/bin/test, 这就为/bin 下的 test 文件在/usr/local/bin 目录下建立了一个符号链接


    **注:**使用 ln 命令需要注意: ln 命令会保持每一处链接文件的同步性,也即是说如果改动了某一文 件,其他的符号链接文件都会发生相应的变化;其次, ln 命令的链接方式又有软链接和硬链接 两种,上面提到的用法就是软链接,它只会在你选定的位置上生成一个文件的镜像,不会占 用磁盘空间,硬链接没有选项-s,它会在指定的位置上生成一个和源文件大小相同的文件,无 论是软链接还是硬链接,文件都保持同步变化。


  • 改变文件/目录访问权限

    在 Linux 系统下面,一个文件有可读(r)、可写(w)、可执行(x) 3 种模式, chmod可以用数字来表示该文件的使用权限,其语法如下 :

    chmod [XYZ] 文件
    

    其中 X、 Y、 Z 各为一个数字,分别表示 User(用户)、 Group(同组用户) 及 Other(其他用户)对于该文件的使用权限。 对于文件的属性, r(可读) =4, w(可写) =2, x(可执行) =1。对于每一位用户来说, 若要具有 rwx 属性则对应的位应为 4+2+1=7, 若要rw-属性则为 4+2=6, 若要 r-x 属性则为 4+1=5。比如下面的例子:

    chmod 751 /home/linux/test
    

    其执行结果就是使程序 test 对于用户可读、写、执行,对于同组用户可读、执行,对于其他用户可执行

  • 改变文件/目录的所有权

    chown [-R] 用户名 文件/目录
    

    例如:

    chown linux File1
    

    将当前目录下的文件 File 改为用户 TH 所有

    chown -R linux Dir1
    

    将当前目录 Dir1 改为用户 TH 所有

  • 添加/删除用户

    #adduser user1,由具有 root 权限的用户添加用户 user1

    #userdel user2, 由具有 root 权限的用户删除用户 user2

  • 设置用户口令

    为了更好地保护用户账号的安全, Linux 允许用户随时修改自己的口令。修改口令的命令是 passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键

  • 文件的打包和压缩

    Linux 下最常用的打包程序就是 tar( tape archive-磁带存档),使用 tar 程序打出来的包都是以.tar 结尾的。 Tar 命令可以为文件和目录创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。使用 tar 命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于传输是非常有用的。其语法如下:

    tar [选项]f targetfile.tar 文件/目录
    

    **注:**选项后面的 f 是必须的,通常用来指定包的文件名。


    选项说明如下 :

    • c: 创建新的档案文件

      例如:

      linux@ubuntu:~$ tar -cf test.tar /home/tmp
      

      将/home/tmp 目录下的文件打包为 test.tar

    • r:增加文件到已有的包

      例如:

      linux@ubuntu:~$ tar -rf test.tar *.jpg
      

      该命令将所有的 jpg 文件添加到 test.tar 包里面去

    • t: 列出包文件的所有内容,查看已经备份了哪些文件

      例如:

      linux@ubuntu:~$ tar -tf test.tar
      
    • x: 从 tar 包文件中恢复所有文件,事实上是一个解包的过程

      例如:

      linux@ubuntu:~$ tar -xf test.tar
      
    • k: 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖

    • w: 每一步都要求确认

    tar 命令还有一个非常重要的用法, 这就是 tar 可以在打包或解包的同时调用其他的压缩程序(如 gzip、 bzip2)来压缩文件

    Linux 下的压缩文件主要有以下几种格式 :

    .Z-compress 程序的压缩格式;
    .bz2-bzip2 程序的压缩格式;
    .gz-gzip 程序的压缩格式;
    .tar.gz-由 tar 程序打包, 并且经过 gzip 程序的压缩,是 Linux 下常见的压缩文件格式
    .tar.bz2-由 tar 程序打包, 并且经过 bzip2 程序的压缩。

    以下就几种常用的情况进行说明:

    • 调用 gzip 程序来压缩文件

      gzip 是 GNU 组织开发的一个压缩程序, gzip 压缩文件的后缀是.gz, 与 gzip 相对的解压程序是 gunzip。 tar 中使用-z 这个参数来调用 gzip。 例如:

      linux@ubuntu:~$ tar –czf test.tar.gz *.jpg
      

      这条命令是将当前目录下的所有.jpg文件打成一个 tar包,并且将其用 gzip程序压缩,生成一个 gzip 压缩过的包, 压缩包名为 test.tar.gz,解开该压缩包的用法如下 :

      linux@ubuntu:~$ tar –xzf test.tar.gz
      
    • 调用 bzip2 程序来压缩文件

      bzip2 是 Linux 下的一个压缩能力更强的压缩程序, bzip2 压缩文件的后缀是.bz2, 与bzip2 相对应的解压程序是 bunzip2。 tar 中使用-j 这个参数来调用 gzip 压缩程序。 例如:

      linux@ubuntu:~$ tar -cjf test.tar.bz2 *.jpg
      

      该命令是将当前目录下所有.jpg 的文件打成一个 tar 包,并且将其用 bzip2 程序压缩,生成一个 bzip2 压缩过的包, 压缩包名为 test.tar.bz2,解开该压缩包的用法如下 :

      linux@ubuntu:~$ tar -xjf test.tar.bz2  
      
  • diff 命令

    diff 命令是生成源代码补丁的必备工具,其命令格式如下:
    diff [命令行选项] 源文件 新文件
    diff 命令常用选项如下 :

    • -r:递归处理相应目录

    • -N:包含新文件到 patch

    • -u:输出统一格式( unified format), 这种格式比缺省格式更紧凑些

    • -a:可以包含二进制文件到 patch

      通常可以使用 diff 命令加参数**-ruN** 来比较 2 个文件并生成一个补丁文件。这个补丁文件会列出这 2 个不同版本文件的差异。 比如有 2 个文本文件: text1 和 text2,二者内容不尽相同, 现在来创建补丁文件:

      linux@ubuntu:~$ diff -ruN test1.txt test2.txt > test.patch
      

      这样就创建好了补丁文件 test.patch,补丁创建好以后需要给相应文件/程序打好补丁,这里就要用到 patch 命令。

      patch [命令行选项] [patch 文件 ]

      patch 的详细使用方法可参见 patch 的 man help,常用的命令行选项是-pn( n 是自然数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值