嵌入式linux学习笔记:01_开发环境及linux基本命令

2023-05-16

开发环境

  • 一、嵌入式技术分析
    • 1、嵌入式开发系统 --> linux
    • 2、编程语言 --> C语言
    • 3、嵌入式开发平台:GEC6818 平台
  • 二、安装嵌入式开发环境?
    • 1、什么是虚拟机vmware?
    • 2、为什么要安装虚拟机vmware?
  • 三、什么是Ubuntu系统?
    • 1、linux与ubuntu有什么关系?
    • 2、 如何使用虚拟机访问ubuntu系统?
    • 3、分析ubuntu系统特点?
  • 四、linux命令行
    • 1、命令行在哪里?
    • 2、如何打开终端?
    • 3、如何调整字体大小?
    • 4、 分析命令行,由什么东西来组成?
    • 5、 命令写在哪里?
  • 五、linux系统目录架构?
    • 1、windows目录架构与linux系统有什么区别?
    • 2、 研究linux目录架构?
  • 六、linux基本命令
    • 1、 查看当前的工作路径?
    • 2、 查看某个路径下文件?
    • 3、 切换工作路径
    • 4、 创建普通文件? -> touch
    • 5、 删除普通文件? -> rm命令

一、嵌入式技术分析

软件应用层: 程序 = 接口 + 语法 + 逻辑 + 算法
硬件底层: 程序 = 硬件 + 内核 + 语法

1、嵌入式开发系统 --> linux

2、编程语言 --> C语言

3、嵌入式开发平台:GEC6818 平台

二、安装嵌入式开发环境?

1、什么是虚拟机vmware?

其实虚拟机就是物理主机内部新建一台虚拟主机(基于物理机),虚拟机可以用于运行操作系统,虚拟机虽然是虚拟出来一台主机,我们摸不着。但是虚拟机实际占用物理内存空间。

2、为什么要安装虚拟机vmware?

主机 --> windows
虚拟机 --> linux
因为安装了虚拟机就可以在熟悉的windows环境下使用不熟悉的linux。

三、什么是Ubuntu系统?

ubuntu(标准教学系统).rar -> linux系统的镜像

解压 -> ubuntu -> Ubuntu-12.04.vmx -> 虚拟系统文件(可以使用虚拟机直接打开)

1、linux与ubuntu有什么关系?

一个嵌入式系统由内核、界面、操作模式、交互等组成。

linux只是指内核而已,并不代表界面、操作模式、交互。

ubuntu指的是以linux内核为内核,加上Ubuntu独有的界面、操作模式、交互组成的一个完整系统。

结论:ubuntu就是以linux内核为内核的其中的一个版本。

2、 如何使用虚拟机访问ubuntu系统?

1)双击打开vmware
2)点击第二个按钮 -> “打开虚拟机”
3)选择Ubuntu虚拟系统镜像文件路径 -> 打开
4)登陆界面
gec -> 普通用户登陆 -> 需要密码"123456"(小键盘)
Guest session -> 客人会话 -> 不需要密码 -> 登陆没有任何权限访问系统
5)全屏显示系统界面
虚拟机菜单栏 -> “查看” -> “立即适应客户机”

3、分析ubuntu系统特点?

1)图形简陋 -> 开发效率高
2)交互操作模式 -> 命令行 -> 在linux中,所有行为都是使用命令来进行控制!
3)内核源码开源,免费。

四、linux命令行

在linux下,想操作linux系统,就必须使用命令,而命令就是写在命令行。

1、命令行在哪里?

终端terminal

2、如何打开终端?

方式一: 双击terminal图标

方式二: ctrl + alt + T

3、如何调整字体大小?

放大: “ctrl” + “shift” + “+”

缩小: “ctrl” + “-”

4、 分析命令行,由什么东西来组成?

gec@ubuntu:~$

gec -> 用户名

@ -> 分隔符号,用于分开用户名与主机名。 用户名@主机名

ubuntu -> 主机名
  -> 分隔符号,用于分开主机名与当前的工作路径    主机名:当前的工作路径
 -> 当前的工作路径

$ -> 用户申请 $->代表当前是普通用户 #->代表当前是超级用户

5、 命令写在哪里?

写在命令行后面,例如:

gec@ubuntu:~$ asjdfgsadufgsdf

asjdfgsadufgsdf: command not found -> 命令没有找不到!

五、linux系统目录架构?

1、windows目录架构与linux系统有什么区别?

windows是一个容器,内层目录永远小于/等于外层目录。

linux是一颗树内存,内层目录与外层目录之间没有大小包含关系,只有索引。

2、 研究linux目录架构?

“/” -> 根目录,在linux下所有目录都是由根目录引申出来的。

“~” -> 家/主目录,等价于 “/home/gec/”

六、linux基本命令

1、 查看当前的工作路径?

方式一: 通过命令行来查看。

gec@ubuntu:~$ -> 代表当前的工作路径就是在家目录

方式二: 使用linux命令来查看。

gec@ubuntu:~$ pwd

/home/gec 等价于 /home/gec/ 等价于 ~ -> 家目录

2、 查看某个路径下文件?

用法: ls + [路径] + [参数]

gec@ubuntu:~$ ls -> 默认列出当前工作路径下的全部文件,但是不包括隐藏文件。

Desktop Download examples.desktop

gec@ubuntu:~$ ls -a -> 列出所有的文件,包括隐藏文件。

Desktop Download examples.desktop

… -> 父目录

. -> 当前目录

结论: “ls” 等价于 “ls .”

gec@ubuntu:~$ ls … -> 列出上一级目录的内容

gec

结论: “ls …” 等价于 “ls …/” 等价于 “ls ./…/” 等价于 “ls ./…”
ls/cd/pwd ->没有修改系统资源,只是浏览linux系统,所以在任何的路径下都可以使用,没有受到权限限制。
例题: 假设当前在家目录,输入"ls ./…/…/ -a" 得到什么东西?
根目录的全部内容,包括隐藏文件。

3、 切换工作路径

1)用法:cd + [路径参数]
2)例子1: 假设当前在家目录下,想切换到根目录?
gec@ubuntu:~$ cd / -> 使用绝对路径

gec@ubuntu:/$ pwd

/

gec@ubuntu:~$ cd …/…/ -> 使用相对路径 -> 参照物: 当前目录"." -> 可以省略!

gec@ubuntu:/$ pwd

/

3)问题: 假设当前在家目录下,切换到home目录下?
绝对路径: cd /home

相对路径: cd …

结论: 绝对路径特征开头一定是"/",相对路径特征开头一定是"."(可以省略)

4)几个关于cd常用的特殊命令
切换到家目录 cd ~ 等价于 cd /home/gec/ 等价于 cd (cd什么参数都不加,默认切换到家目录)

切换到刚刚去过的路径 cd -(只能记住一次) 与环境变量有关

4、 创建普通文件? -> touch

用法: touch + [新文件的路径] + … -> 既可以是绝对,又可以是相对。

例子1: 假设当前在家目录,想在家目录下创建一个新的文件,名字叫test.c。

相对: touch ./test.c 等价于 touch test.c

绝对: touch /home/gec/test.c

例子2: 假设当前在/home目录,想在根目录下创建一个新的文件,名字叫example.txt。

相对: touch …/example.txt

绝对: touch /example.txt

提示错误: touch: cannot touch `…/example.txt’: Permission denied -> 权限拒绝!

1)为什么会出现这个错误?
Permission denied -> 因为权限不足导致执行失败!

当前$,代表一个普通用户,在家目录拥有一切的权限,可以在家目录下操作任何的东西都不会受到权限问题。

如果不在家目录下,则如果修改了系统(增加/删除),都会受到权限的拒绝!

2)如果真的需要在家目录以外的路径下创建/删除文件?
方式一:临时切换到超级用户来执行这个命令。 sudo + 命令

gec@ubuntu:/home$ sudo touch …/example.txt

[sudo] password for gec: -> 在linux输入密码,不会回显给用户。

结果: 当前还是一个普通用户。

方式二:切换到超级用户,再执行命令。

gec@ubuntu:/home$ sudo su -> 切换到超级用户

root@ubuntu:/home#

超级管理员名字: root

当前身份: #

root@ubuntu:/home# touch …/test.txt -> 直接执行命令,就不会受到权限干扰。

root@ubuntu:/home# exit -> 切换到普通用户

exit

gec@ubuntu:/home$

5、 删除普通文件? -> rm命令

用法: rm + [需要删除的文件的路径]

   假设当前在家目录

练习1: 删除家目录下test.c

      rm ./test.c

练习2: 删除根目录下example.txt和test.txt

     sudo rm ../../example.txt ../../test.txt   -> 可以跟多个文件的路径
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式linux学习笔记:01_开发环境及linux基本命令 的相关文章

  • 同步异步电机ADRC控制系统仿真

    之前一直使用PI控制器做异步电机矢量控制 xff0c 最近想把ADRC控制也放到异步电机矢量控制上去 xff0c 所以对其进了仿真 xff0c 可遇到了一个一直没有解决掉的问题 xff0c 现记录下来 xff0c 请各位先辈进行指教以及为遇
  • 大疆A型板使用经验分享(八)——FreeRTOS操作系统的使用

    一 freeRTOS操作系统 操作系统 operating system 本质上是一个帮助用户进行功能管理的软件 操作系统运行在硬件之上 为其他工作的软件执行资源分配等管理工作 一般称呼不使用操作系统的单片机开发方式为 裸机开发 当进行裸机
  • MySQL锁篇

    文章目录 说明 xff1a 锁篇一 MySQL有那些锁 xff1f 二 MySQL 是怎么加锁的 xff1f 三 update 没加索引会锁全表 xff1f 四 MySQL 记录锁 43 间隙锁可以防止删除操作而导致的幻读吗 xff1f 五
  • C++学习笔记

    文章目录 一 基础入门1 常量2 关键字3 数据类型3 1 整型3 2 浮点型3 3 字符型3 4 字符串类型3 5 布尔类型 4 数据的输入与输出5 运算符6 数组6 1 一维数组6 2 二维数组 7 函数8 指针9 结构体 二 核心编程
  • JS实现继承的几种方式

    JS继承的实现方式 堪称最全最详细 前沿看js继承这块时我看的几个教程都是说的很简单或者是没有说全就自行百度看了好多总结了下有 xff1a 1 构造函数继承 2 原型链继承 3 组合继承 4 class继承 5 实例继承 6 拷贝继承 7
  • 51单片机入门之点亮发光二极管

    1 任务书 用51单片机控制一个发光二极管 xff0c 打开单片机后LED亮 2 分析 首先是考虑电路连接问题 单片机所有1 O 口都可以驱动发光二极管 设选用P2 0 来接发光二极管 xff0c 所谓 闪亮 xff0c 就是点亮发光管后
  • 51单片机入门之开关控制

    1 任务书 使用拨扭开关控制led xff0c 用微动开关控制led 2 分析 拨钮开关无非就是 打开 跟 关闭 两个状态 xff0c 也就是0跟1 xff0c 打开无非就是接通关闭无非就是断开 那我们应该怎么接入单片机了 xff0c 其实
  • 51单片机静态动态数码管显示

    51单片机静态动态数码管显示 通过此实训了解动态数码管的显示原理 xff0c 掌握编码方法 共阴极和其阴极数码管的不同之处及常用设计方法 实训设备 这里使用的377锁存器模块控制的数码管下面就是电路图 显示内容 在显示模块的八位 LED 数
  • 51单片机矩阵键盘控制数码管

    51单片机矩阵键盘控制数码管 我们先了解矩阵键盘的工作原理 xff0c 掌握编码方法并能够编写出扫描程序 xff0c 使用矩阵键盘控制数码管输出矩阵键值 显示内容 在显示模块的八位 LED 数码的个位显示当前使用矩阵键盘所按下的值 键阵键盘
  • 51单片机继电器控制直流电机正反转

    51单片机继电器控制直流电机正反转 用继电器控制 24V 直流电机的转动与停止 继电器是常用的电气隔离器件 简单的驱动电路是用三极管直接驱动 该电路驱动简单 成本低廉 当控制电路为高电平时 xff0c NPN 型三极管就会饱和导通 xff0
  • 51单片机定时器流水灯控制

    51单片机定时器控制led流水灯数码管进行计数 51单片机根据不同的型号有不同数量的定时器的 xff0c 而这些定时器的大概用法是差不多的我们今天就使用定时器来控制led流水灯 实训要求 使用单片机定时器对led灯进行控制 xff0c 数码
  • esp8266单片机使用MAX7219芯片驱动点阵屏幕

    esp8266单片机使用MAX7219芯片驱动点阵屏幕 我们这里使用的单片机是一块esp8266 xff0c 点阵屏幕的话就是买的普通16脚红色的 xff0c 驱动芯片就是MAX7219芯片 xff0c 只需要依次把芯片的clk xff0c
  • 使用自己开发的app远程控制MAX7219点阵屏幕

    使用自己开发的app远程控制MAX7219点阵屏幕 一 功能介绍 xff1a 二 芯片介绍 xff1a 三 实现原理 xff1a 四 代码部分 xff1a 其它资料 xff1a 一 功能介绍 xff1a 1 可以固定显示想显示的内容 2 点
  • go发送http请求

    说明 xff1a 写项目时候用到的 xff0c go发送http请求用到的一个方法 span class token keyword func span 函数名 span class token punctuation span body
  • js事件流

    事件流指的是事件完整执行过程中的流动路径 事件流分为捕获阶段和冒泡阶段 捕获阶段是从父到子 xff1b 冒泡阶段是从子到父 事件冒泡 xff1a 事件冒泡概念 xff1a 当一个元素的事件被触发的时候 xff0c 同样的事件将会在该元素的祖
  • 树莓派安装python3.7.3

    一 安装依赖包 sudo apt get install y make build essential libssl dev zlib1g dev sudo apt get install y libbz2 dev libreadline
  • vscode中调试webpack构建的项目

    在webpack的配置中 xff1a devtool span class token punctuation span span class token string 39 source map 39 span span class to
  • mac下proxychains4的配置文件位置

    mac下proxychains4的配置文件位置 xff1a usr local etc proxychains conf span class token function vim span usr local etc proxychain
  • 1. 驱动开发--基础知识

    文章目录 1 驱动的概念2 linux体系架构3 模块化设计3 1 微内核和宏内核 4 linux设备驱动分类4 1 驱动分类4 2 三类驱动程序详细对比分析4 3 为什么字符设备驱动最重要 5 驱动程序的安全性要求5 1 驱动是内核的一部
  • 【论文笔记】Ensemble Augmented-Shot Y-shaped Learning

    论文笔记 EASY Ensemble Augmented Shot Y shaped Learning State Of The Art Few Shot Classification with Simple Ingredients Int

随机推荐

  • Ubuntu下的文件保存及退出

    这篇文章是写给我自己的 xff0c 怕自己以后忘了 我很多时候会在ubuntu下发现键盘并不那么好使 输入 vim test cpp 然后输入i o a xff0c 输入以上三种 xff0c 进入编辑状态 输入完成 xff0c 按esc退出
  • 机会总是留给有准备的人

    qqq
  • 1.karto-slam涉及的类-雷达以及雷达数据相关

    首先是最简单的 1 sensor msgs LaserScan 主要包括header 还有激光参数 xff08 扫射范围距离 xff0c 步长 xff0c 时间等 xff0c 不包含位姿信息 xff0c header里面含有frame id
  • catkin build 和 catkin_make

    首先安装 xff1a sudo apt get install python catkin tools 编译过程中你可能会遇到以下错误 xff0c 那是因为以前使用了catkin make进行编译 xff0c 需要把build和devel删
  • 使用Haar特征进行人脸识别

    这篇博客对2001年那篇划时代的paper xff1a Rapid Objection Using a Boosted Cascade of Simple Features进行一个简要的解析 这篇文章之后人脸识别的效果有了很大的提升 后来还
  • MySQL基础课程三件套,年前轻松带你带你入门数据库管理系统~

    今天已经2022年1月11日了 xff0c 相信大部分的宝子们已经进入快乐的寒假了 xff0c 今天给对数据库感兴趣的童鞋们推荐B站上的一系列数据库管理入门课 该系列课程分为三个部分 xff0c 第一部分为MySQL新手入门教程详解 xff
  • 【kazam】linux下截屏、录屏软件kazam的简单使用

    安装 xff1a sudo apt get install kazam 或者使用 ppa 安装 sudo add apt repository ppa kazam stable series sudo apt get update sudo
  • LCD24064显示程序,此工程直接运行。

    T6963C C51 Source Code240X64MCU W78E516D 12MHZLCM Controller T6963C RA6963 24064A B 1 FG GND 2 GND GND
  • 四旋翼无人机飞行器基本知识(四旋翼无人机结构和原理+四轴飞行diy全套入门教程)

    第一篇 四旋翼飞行器结构和原理 第二篇 四旋翼飞行diy全套入门教程 四旋翼飞行器结构和原理 1 结构形式 旋翼对称分布在机体的前后 左右四个方向 xff0c 四个旋翼处于同一高度平面 xff0c 且四个旋翼的结构和半径都相同 xff0c
  • 四旋翼飞控原理

    以前 xff0c 搞无人机的十个人有八个是航空 气动 机械出身 xff0c 更多考虑的是如何让飞机稳定飞起来 飞得更快 飞得更高 如今 xff0c 随着芯片 人工智能 大数据技术的发展 xff0c 无人机开始了智能化 终端化 集群化的趋势
  • 四旋翼飞控原理

    以前 xff0c 搞无人机的十个人有八个是航空 气动 机械出身 xff0c 更多考虑的是如何让飞机稳定飞起来 飞得更快 飞得更高 如今 xff0c 随着芯片 人工智能 大数据技术的发展 xff0c 无人机开始了智能化 终端化 集群化的趋势
  • 四旋翼飞行器控制原理与设计

    一 相关理论知识 1 坐标系与欧拉角 进行动力学建模之前首先建立坐标系 xff0c 在此建立地球坐标系和机体坐标系 xff0c 如图所示 xff0c 这里地球系z轴方向向下指向地心 xff0c 机体系x轴为机头方向 当描述一个三维空间内的刚
  • kalman 滤波

    卡尔曼 Kalman 滤波算法原理 C语言实现及实际应用 文章目录 卡尔曼滤波 一 滤波效果展示 二 简介 三 组成 预测状态方程 xff08 1 xff09 目的 xff1a xff08 2 xff09 方程 xff1a xff08 3
  • 软件项目管理 7.4.3.进度计划编排-时间压缩法

    公众号 64 项目管理研究所 将会第一时间更新文章并分享 行业分析报告 归档于软件项目管理初级学习路线 第七章 软件项目进度计划 该文章图片解析有问题 xff0c 点击此处查看 xff01 这里 xff01 前言 大家好 xff0c 这节我
  • maven解析依赖报错:Cannot resolve com.baomidou:mybatis-plus-generator:3.4.2

    不能解析依赖 xff1a span class token tag span class token tag span class token punctuation lt span dependency span span class t
  • 客户要求压缩进度,项目经理怎么办?

    几乎每个项目经理都会遇到这样的客户 xff1a 客户 xff1a 王经理 xff0c 我们现在这个项目 xff0c 上头领导说了 xff0c 原定在11月中旬上线的日期 xff0c 需要提前到十一国庆节前上线 xff0c 业务部门需要这个系
  • 树莓派关机重启命令

    关机方法任选一行即可 1 2 3 4 sudo shutdown h now sudo halt sudo poweroff sudo init 0 重启方
  • OpenCV实现车牌定位和字符分割

    前言 xff1a 本案例的车牌图像来源于互联网 xff0c 如有侵权请尽快联系我 xff0c 立删 文章目录 一 概述二 车牌图像分析三 车牌定位1 基本处理2 图像降噪3 灰度拉伸4 图像差分5 二值化6 边缘检测7 形态学处理8 定位车
  • 对四旋翼无人机飞行的认识(飞行控制原理)

    四旋翼无人机的对称组成结构 所以有两种飞行姿态 xff0c 一种是根据四旋翼十字对称的结构 xff0c 将处于同一水平线的一对机架梁作为x轴 xff0c 另一对梁作为y轴的 43 型飞行姿态 xff1b 另一种是将相应两个梁的对称轴线作为x
  • 嵌入式linux学习笔记:01_开发环境及linux基本命令

    开发环境 一 嵌入式技术分析1 嵌入式开发系统 gt linux2 编程语言 gt C语言3 嵌入式开发平台 xff1a GEC6818 平台 二 安装嵌入式开发环境 xff1f 1 什么是虚拟机vmware xff1f 2 为什么要安装虚