天天看点

嵌入式学习之linux基础

看完朱有鹏老师的嵌入式学习视频0章第二集的零基础学习Linux之后,现在来记录一下关键的知识点,方便以后查看。

1;首先了解一些操作系统

当前主流的操作系统:windows、、android、iOS、symbian、linux/unix。

其中linux是为专业的开发人员使用的,使用起来比较复杂。

Android:移动操作系统,android是基于linux开发的。

最后再看看我们要学的嵌入式是基于哪些系统开发的——

嵌入式是基于linux开发 ,但是应用层使用android系统。

2;嵌入式开发,我们采用的是虚拟机配linux系统进行开发

虚拟机就是一款Windows软件 但是他可以模拟一台计算机因此我们可以为他配上linux系统

我们接下来的开发采用的是 VMware虚拟机加上ubantu的linux系统。

这是虚拟机和ubantu的下载链接

链接: https://pan.baidu.com/s/18X90mrNYI6khCDDsF3lH3A 密码: yr4k

直接按步骤安装即可,

3;了解一些小的基础知识点;

3.1;关于隐藏文件与非隐藏文件

在Windows中我们可以进行相关的设置来调出

而在linux系统中呢?

linux中隐藏文件特点是文件名以.开头,跟文件属性无关。在linux中查看隐藏文件用ls -a命令(普通显示ls)

linux进入命令行也就是进入terminal终端 ————的快捷方式就是 ctrl+alt+t;

然后在输入ls -a

嵌入式学习之linux基础

3.2;相对路径与绝对路径

路径就是用来标识一个文件在操作系统的文件系统的存储位置也就是pathname

Windows举例

E:\移动互联网开发平台配套光盘-CDMI-L01-12\附件\传感器资料 全路径 pathname

E:\移动互联网开发平台配套光盘-CDMI-L01-12\附件 路径 path

传感器资料 文件名 name

绝对路径:路径是从绝对位置开始的。譬如Windows中从某一个盘符开始(C:\),linux中从根目录/开始、linux中的绝对路径一定是/开头

相对路径:指明路径的时候,是从当前所在的位置开始的。../表示上层目录

举例:

D:\我的文档\123\123.txt

D:\我的文档\abc\abc.txt

当前在123.txt,但是要去abc.txt

方式1:采用绝对路径。D:\我的文档\abc\abc.txt

方式2:采用相对路径。../abc/abc.txt

从当前路径开始,往上走一层,再往下走一层(abc)就到了

4;linux常用命令

4.1;ls (list 列表)

作用就是把当前文件夹下所有文件列出来

后面可以接参数

-a 显示所有文件 包括隐藏文件

-l 以详细信息显示

两者还可以任意组合表两种作用同时

ls -a -l ls -l -a ls -la ls -al 四种方式都是可以的

4,2;cd(change directory,更改目录)

作用:用来切换目录

涉及到相对路径和绝对路径

绝对路径

cd .. ..代表上一层目录

.代表当前目录

嵌入式学习之linux基础

4.3; pwd(print work directory,打印工作目录)

作用:打印出当前的绝对路径

4.4;(4) mkdir(make directory,创建文件夹)

作用:创建空文件夹

mkdir -p 级联创建文件夹

4.5 rm(remove,去除,删除)

作用:用来删除文件,文件夹

rm 文件pathname 文件被打开时是可以被删的

rm -r 文件夹pathname

嵌入式学习之linux基础

4.6 rmdir(remove directory,删除文件夹)

作用:删除空文件夹

rmdir和rm -r的区别:rmdir只能删除空文件夹,而rm -r可以删除空文件夹和非空文件夹

注意当我们创建或者删除文件或文件交在一些关键目录下时,普通用户是没有这个权限的,我们需要获取root传限,有两种方法

1;使用sudo命令 短暂获取root传限 sudo mv abc

2;使用su root命令进入root

3;使用su 用户名 退出root

注意当我们初次获取root时会认证失败,是因为你根本没有设置root,因此我们需要初始化命令。

嵌入式学习之linux基础

然后就解析上面几条命令的实战

嵌入式学习之linux基础
嵌入式学习之linux基础

4.6 touch

作用:创建空文件

touch pathname

注意与mkdir命令 的区别 ,mkdir是创建空文件夹。而tonch是创建空文件。

4.7 mv (move 移动)

作用 :在目录间移动文件 也可重命名

mv 源文件pathname 目的文件pathname

4.8cp(copy,复制)

作用:复制文件或文件夹

cp 源文件pathname 目标文件pathname

cp -r 用来复制文件夹

cp -f 强制复制

实际操作时,一般都是cp -f复制文件,

cp -rf复制文件夹

嵌入式学习之linux基础

4.9cat

作用:直接在命令行下显示文件内容

也可以用来向文件输入,

嵌入式学习之linux基础

4.10vi基础使用

*使用vi来打开/创建一个文件,vi pathname

*vi的两种模式:

命令模式:当vi打开时默认为命令模式,要转入输入模式,需要按a或者i键。在命令模式下,此时键盘上输入的所有东西都被vi当作命令来对待。

在命令模式下,最好不要乱输入。此时应该输入相应的命令,来让vi做相应的事。

输入模式:输入模式用来向文件输入内容。可以从命令模式中按a或者i进入输入模式。进入输入模式后,就可以随意按键盘进行输入了。输入完成后如果要保存,要先退回到命令模式(因为保存也是一种命令)。在输入模式下按ESC键退回到命令模式。

注:注意看屏幕左下角,当命令模式时无提示信息或者提示文件名等信息,等处于输入模式时,提示 – INSERT –

在命令模式下如何保存:

:wq 保存并且退出

:w 只保存不推出

:q 不保存退出 进来看了一下没改退出

:q! 不保存强制退出

:wq! 保存并强制退出

嵌入式学习之linux基础
嵌入式学习之linux基础

vi的高级使用

* 查找

在命令模式下,输入/xxx,就可以查找到xxx

  • 快速切换行

    在命令模式下,输入:num,就可以快速切换到num行

  • 设置显示行号

    在命令模式下,输入:set nu,就可以显示行号

注:设置不显示行号,命令模式输入:set nonu

设置永久显示行号,需要修改vi的配置文件。打开vi的配置文件~/.vimrc,在其中输入set nu即可。

  • 行删除

    命令模式下,先将光标移动到要删除的行,然后输入dd

    如果要删除连续多行,譬如要删除连续的3行,使用3dd

  • 行复制粘贴

    复制:命令模式下,nyy

    粘贴:命令模式下,p

    细节,复制时要把光标放在多行的第一行,粘贴时实际

    粘贴到当前光标所在行的下一行。

4.11 ln (link 连接文件)

在Linux中有两种连接方式

一种是软连接 (也叫符号连接)等同于Windows下的快捷键方式一样,连接删除文件不受影响 文件删除连接失效

一种就是硬连接 硬链接相当于有一个指向这个硬盘文件的接口。删掉文件 我们依旧可以用硬链接来访问文件 删掉硬链接我们可以通过文件来访问,这就是硬链接 ,无不干扰的;

创建软连接文件: ln -s 源文件名 符号连接文件名

举例:ln -s src.c,linker.c, linker.c就是源文件src.c的一个符号连接文件

创建硬连接文件 : ln 源文件名 连接文件名

嵌入式学习之linux基础
嵌入式学习之linux基础

man 相当于离线手册一样

作用:查询man手册,获得帮助信息

man 1 ls 1表示查询的是linux命令

man 2 xxx 2表示查询的是linux api

man 3 xxx 3表示查询的是C库函数

注意:在man手册中查询时,退出按Q键(Q就是quit的缩写)

apt-get

作用:在ubuntu中用来在线安装、卸载软件的程序

apt-get install vim

apt-get remove vim

注意,安装和卸载都是在线的,也就是说ubuntu必须能上网才能使用apt-get

rwx与权限表示

当我们使用ls -l命令显示文件/文件夹的详细信息时,前面会出现rwx等字母,他们就表示的是文件权限以及类型。

嵌入式学习之linux基础

最前面有10个字母 分为四组 第一个字符一组 后面每三个一组分别3组

第一个字符表示文件类型

- 表示普通文件。普通文件指文本文件和二进制

. 文件,如a.c 1.txt a.out都是普通文件

d 表示文件夹,d是directory的缩写

l 表示符号连接文件,后面会用->打印出它指向的文件

s 表示socket文件

p 表示管道文件 pipe

后面三组表示不同级别的相关权限

前三个表示此文件的属主对文件的权限

中间三个表示此文件属主所在的组对文件的权限

最后三个表示其他用户对文件的权限

rwx怎么解析:r代表可读,w代表可写,x代表可执行

rwx:可读,可写,可执行

r-x: 可读,不可写,可执行

r–: 可读,不可写,不可执行

权限管理

作用:用来管理系统中文件的权限。

chmod (change mode)修改文件权限,比较常用,要记得

chown (change owner,修改属主)

chgrp (change group,修改文件的组)

ls -l 列出的属性

-rwxr-xr-x

一共10个字符,第一个表示文件属性(d表示文件夹,-表示普通文件),剩下的9个分成三组。每组中三个分别表示r可读w可写x可执行。如果是字母表示有这个权限,如果是-表示没这个权限。三组分别表示:第一组表示文件属主的权限,第二组表示属主所在的组用户的权限,第三组表示其他用户的权限。

权限还有另一种表示方法,用数字来表示。

编码规则如下:

r 可读 4

w 可写 2

x 可执行 1

- 无权限 0

有了这个编码规则,则 rwxr-xr-x 编码后为755

第一种修改权限的方法:

要把权限改成 rwxr–r– 则对应的编码值为744

修改命令为:chmod 744 文件名

第二种修改权限的方法:

在原来的权限基础上进行修改,即增加或减少某权限。

三个组用户的编码依次为: 属主u 属主所在的组g 其他用户o

譬如

要属主增加可执行权限 chmod u+x 文件名

其他用户增加可写权限 chmod o+w 文件名

属主所在组用户去掉可执行权限 chmod g-x 文件名

嵌入式学习之linux基础

linux命令行中一些符号的含义:

. 代表当前目录

.. 代表上一层目录,当前目录的父目录

- 代表前一个目录,我刚才从哪个目录cd过来

~ 代表当前用户的宿主目录

/ 代表根目录

$ 普通用户的命令行提示符

# root用户的命令行提示符

* 万能匹配符

使用shell的Tab键自动补全

在Linux的终端中输入tab键时,有时会出现命令不能补全的情况,此时有一种原因是bash错误。

使用 ls -l /bin/sh 命令发现

/bin/sh -> /bin/dash

Tab在linux命令行输入中可以自动完成。在linux

命令行中使用Tab键会极大提高输入效率

继续阅读