嵌入式Linux快速入门第1~2篇
由于Linux没有Windows系统中的链接文件(快捷方式)、设备节点等机制,所以为了顺利地在PC机上编译uboot、kernel、App/Drv等文件,我们需要在Windows系统上安装VMware之类软件。使用chmod指令可以修改调文件权限,rwx三个标志位采用8进制数进行标记,可读可写可操作标记为111,也就是十进制的7。所以下班了还在充电。老师在课堂上最常用的是Filezilla软件,虽
出处:百问网嵌入式专家-韦东山嵌入式专注于嵌入式课程及硬件研发
番外篇1:配置开发嵌入式Linux的VScode设置
起因是我想用VScode开发IMX6ull,但是远程连接Ubuntu18.04失败了,原因是glibc版本过低,现在用最版本试一下,失败了就想办法回滚。
下面是一些网上推荐安装的VScode插件,酌情考虑选择使用:
注意:说明一个大前提,请确保学习时使用着安全的网络环境,然后关闭Windows的防火墙,它会影响咱们使用SSH远程登陆Ubuntu。
在这里输入Host和User;

内容去Ubuntu里面看,我这里就是book@100ask;

一定要正确在配置文件中输入Ubuntu的地址。

此外,我暂时还没找到保存密码的方法,应该在配置文件里面能搞大家试一下,手输也不麻烦,记住密码是123456即可。
番外篇2:Windows传递文件到Ubuntu的新方法
老师在课堂上最常用的是Filezilla软件,虽然确实好用安全,而且现在不少公司维护服务器的时候还在使用它,但对于我们嵌入式开发者来说显得有些步骤繁琐了。如果是WSL环境就方便很多,咱们直接在mnt目录下面就能操作本地磁盘;这个教程用的是虚拟机相对更繁琐一些。
我这边最推荐的方式是共享文件夹,这样和wsl的操作逻辑更接近。在D盘新建一个ShareForVMware文件夹,然后按照下面的步骤把它设置为共享文件夹。
①进入虚拟机的设置选项;

②按照下面的步骤一次设置。

下面来试验一下,我实在不喜欢用Ubuntu里面的原生shell工具,所以现在一般都是远程登录。
使用MobaXterm登录时记得log as:book
注意共享文件夹默认被挂载在/mnt/hgfs目录下哦。

第一篇 新学习路线
1.新学习路线与课程体系
系统组成框图

2.资料下载
Git Bash使用要点

第二篇 安装虚拟机&Ubuntu基本操作
4K屏幕的合适比例(对我个人而言)。

1.安装VMware运行Ubuntu
由于Linux没有Windows系统中的链接文件(快捷方式)、设备节点等机制,所以为了顺利地在PC机上编译uboot、kernel、App/Drv等文件,我们需要在Windows系统上安装VMware之类软件。
默认的BOOK账号密码为123456。

2.Ubuntu与Windows的简单比较与使用
Windows下的dir命令等价于Linux下的ls命令

Ubuntu发展过程中与Windows的差异不断减小,但在文件管理上却始终有着天壤之别,可以看到Windows是是直观地将不同磁盘空间进行了物理划分;

但Ubuntu则是引用了文件目录机制。

注意:
Windows的绝对路径中,目录使用“\“分隔;Linux的绝对路径中,目录使用“/“分隔;
可以使用Ubuntu下的disks工具查询文件具体的分区信息。
3.shell命令解析PATH环境变量
在 Linux 系统中,Shell 是用户与操作系统内核之间的桥梁,它既是一种命令行解释器,也是一种编程语言。
Shell 的核心功能
命令解释器
- 接收用户输入的命令,将其转换为内核能理解的指令并执行,同时返回执行结果。
- 例如:输入
ls(列出文件)、cd(切换目录)、rm(删除文件)等命令时,Shell 会解析并调用系统接口完成操作。
脚本编程
- 支持通过编写 Shell 脚本(包含一系列命令的文本文件)实现自动化任务,如批量处理文件、系统管理、日志分析等。
- 脚本通过
bash、sh等解释器执行,无需编译即可运行。
用户环境管理
- 定义用户的工作环境,包括变量(如
PATH、HOME)、别名(如alias ll='ls -l')、终端属性等。 - 用户可通过修改配置文件(如
~/.bashrc、~/.bash_profile)自定义 Shell 行为。
注意shell回去寻找解析字符串中的程序名称,目的地是PATH环境变量指向的地址。
下面用一个具体的例子来讲解一下PATH变量的修改方式。
在外部编辑器(VisualStudio 或其他什么)内编写这样的一段代码:
#include <stdio.h>
int main(int argc,char **argv)
{
if (argc >= 2)
{
printf("Hello, %s!\n",argv[1]);
}
else {
printf("Hello World!\n");
}
return 0;
}
将它CV进Ubuntu的桌面,此时的文件路径可以查看到为:

注意,查看方式如上图所示;

用cd和ls命令可以验证这个路径的正确与否。

注意课程提供的Ubuntu中以及配置了GCC编译工具链,我们可以通过这条命令将Hello.c编译为名叫Hello的可执行程序。

我们当然可以在终端工具中使用相对路径与绝对路径来执行Hello这个程序;

执行命令“./Hello Zeus”时,argc=2,argv[0]=Hello,argv[1]=Zeus。
但我们可以要通过这个示例引入修改PATHA变量这个操作。
三种方法如下,以在PATH 中添加/home/book/Desktop目录为例:
永久设置之方法1:
修改/etc/environment,比如:sudo gedit/etc/environment,然后添加下行红包部分:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/book/Desktop"然后重启系统或重新登录。
永久设置之方法2:
修改~/.bashrc,在行尾添加或修改:export PATH=$PATH:/home/book/Desktop;然后重启系统或重新登录。
临时设置
在终端执行以下命令,这只对当前终端有效:export PATH=SPATH:/home/book/Desktop。
Linux命令的提示符

/表示根目录
Linux命令的格式
Linux命令一般由三部分组成:①command命令;②options选项;③parameter参数。

目前需要掌握的命令:

具体的使用详见手册,我个人认为韦老师的课还是不太适合小白的,需要有一点综合基础才能跟上听懂。
4.目录与文件操作命令
命令:pwd(print working directory)
作用:打印当前所在目录
演示:

命令:cd(change directory)
作用:改变路径
格式:cd [目录]
实例:返回了上一级home目录

cd -回到上一个目录,需要与它辨析出来。
注意,.可以代表当前目录,..可以代表上一级目录,~代表家目录。
命令:mkdir(make directory)
作用:创建新的目录
格式:

实例:

在桌面创建了一个叫做123的文件夹,里面新建了一个1.txt,写入了ZWJ这三个字母。

更多的请参考课程手册,非常详细。
5.权限与属性命令
获取文件属性可以用ls -l:
其中,-代表这是一个常规文件,其后rwx代表“可读”、“可写”以及“可执行”。往后的三个字符r-x代表同组其他用户对Hello文件的权限;最后三个字符人r-x代表普通其他用户对Hello文件的权限。

使用chmod指令可以修改调文件权限,rwx三个标志位采用8进制数进行标记,可读可写可操作标记为111,也就是十进制的7。如果我想让组内其他用户以及其他普通用户都拥有和book用户等价的权限,就可以:

注意chmod的其他语法:

切换到root用户:

6.find和grep命令
也可以使用通配符*查找所有相同结尾的文件:

通配符的意思就是忽略.txt前面的文件名称。
例如:grep "abc" * -nwr
代表在当前目录下,递归地(r)查找全字匹配(w)的字符串“abc”,并且打印行数。
7.压缩和解压缩命令
在终端工具中输入如下命令:
dd if=/dev/zero of=test bs=1024 count=1024
效果和解析如下所示:

总而言之我们现在有了一个大小为1M的名为test的文件,它的内部都是二进制0。
那么压缩这个文件的基础命令是gzip。

这里使用了gzip -k,可以看到压缩前test占用1M字节内存, 而压缩后占用1056字节内存。

还有一条命令是bzip2:

可以看到bzip2压缩过后的文件大小只有45字节。

老师个人推荐使用tar命令,常用选项如下:

使用案例:

解压命令为:

8.网络命令
咱们可以先ping一下百度官网看看Ubuntu能不能上网。

很明显能上,那么ctrl+c退出。如果不能上网的话,就需要一个nat网卡。
9.VI编辑器_新建_保存_浏览
可以通过cat指令查看.txt的内容。现在刚开始学习Linux就要熟悉命令行,今天主包上班就因为MobaXterm用不明白,不会给车机主板替换py文件被主管吊了一顿。。。所以下班了还在充电。

如果我们错误地修改了部分内容想要直接退出vi不修改可以用:q!

注意退出插入编辑要按esc!

可以看到错误输入的内容并没有被保存。
在Vi工具中输入大写字母G可以跳到文件结尾。
在一般模式下:set number可以显示行号。

输入:250可以快速跳行

ctrl+f ctrl+b可以向前向后翻页,这里就不截图演示了。
10.VI编辑器_编辑
在一般模式下按下x和u分别可以删除选中的单个字母与撤销删除。详见手册如下,但个人感觉不如直接在一般模式下按下i进入编辑模式更直观。

11.VI编辑器_复制粘贴查找替换

更多推荐





所有评论(0)