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

一、嵌入式技术分析

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

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   -> 可以跟多个文件的路径
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章