这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 嵌入式系统开发学习之Linux基础

共1条 1/1 1 跳转至

嵌入式系统开发学习之Linux基础

菜鸟
2016-06-01 16:32:34     打赏


一、Linux操作系统的认识 1、操作系统(Operate System)基础概念

操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。目前流行的现代操作系统主要有AndroidBSDIOSLinuxMac OS XWindowsWindows Phonez/OS等,除了Windowsz/OS等少数操作系统,大部分操作系统都为类Unix操作系统。

2Linux内核、发行版

Linux本身指的是一个操作系统内核(Kernel,即一个操作系统的最基本部分),只有内核是无法直接使用的。我们需要的可以使用的操作系统是一个包含了内核和一批有用的应用程序的一个集合体,这个就叫做Linux发行版。常见的Linux发行版比如有:ubunturedhatfedora等。

3、当前嵌入式操作系统主流

①消费电子(多为有界面):Android

②工业(多为****面):Linux

4、多机开发

三种方式:

①双系统

②两台电脑

③虚拟机

开发嵌入式程序需要Linux环境,但是Windows中有许多优秀的软件可以辅助开发。所以个人开发者通常使用虚拟机的方式进行开发。但是比较大型的公司通常使用两台电脑,即服务器端+客户端。服务器端裸机安装Linux操作系统,客户端登录服务器后进行编译运行。


二、Linux基础知识和常用命令 1、隐藏文件与非隐藏文件

Windows中:文件的隐藏属性是通过文件属性实现的。

Linux中:隐藏文件的文件名以’.’开头,与文件属性无关。

2、相对路径与绝对路径

路径(通常指的是全路径):用来标识一个文件在操作系统硬盘的存储位置。

例如(Linux下):\home\user\Documents\1.txt

\home\user\Documents\”表示path(路径),“1.txt”表示name(文件名)。两部分组成pathname(全路径)。

①绝对路径:即路径从绝对位置开始。例如Windows是从一个盘符开始(C:\D:\ ……)而在Linux下从根目录(/)开始

②相对路径:路径是从当前目录开始

注:当前路径用’.’表示,上一级目录用’..’表示

3、图像用户界面(GUIgraphics)和命令行(cmdlinecommand line

Windows下常用GUI,在Linux下常用cmdline,这是操作系统与用户最常见的两种交互方式。

4、Linux常用命令

Linux命令行中一些符号的含义

.      代表当前目录

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

-      代表前一个目录,即前一个所在的目录

~ 代表当前用户的宿主目录(操作系统为当前用户所设计的用来存放文件、 工作的默认目录。Linux的普通用户宿主目录在/home/username。而root 用户在/root)在只想切换到宿主目录时cd ~可以省略~

/ 代表根目录

$ 普通用户的命令提示符

# root用户的命令行提示符

* 万能匹配符,可以匹配一个或者多个字符

(1).lslist,列表):显示文件夹下的文件

ls 显示不隐藏文件

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

ls -l 以详细信息显示

属性可以叠加(如-a -l或者-al

(2).cdchange directory,更改目录)

cd path

(3).pwdprint work directory,打印工作目录)

pwd

(4).mkdirmake directory,创建文件夹)

pwd folder_name

(5).mvmove,移动):在目录间移动文件

mv  sourcefile_pathname targetfile_path(pathname)

注:目标文件是的路径为path时达到移动的效果,为pathname时达到移动和重命名(如果目录下有同名文件会强制覆盖)的效果。


(6).touch:创建空文件

touch  file_pathname

(7).cpcopy,复制):复制文件或者文件夹

cp  sourcefile_pathname targetfile_path(pathname)   复制文件

cp  -r sourcefolder_pathname targetfolder_path(pathname) 复制文件夹

cp  -f …… 强制复制

实际操作时,通常会加上-f,否则在复制时如果有同名文件(夹)会导致复制没有成功,且没有提示信息(即不会返回错误信息,但是目标文件没有被替换)。

(8).rmremove,删除):删除文件或者文件夹

mv  targetfile_path(pathname)   删除文件

mv  -r targetfolder_path(pathname) 删除文件夹

mv  -f …… 强制删除

实际操作时,通常也会加上-f,但不同于cp命令的是,在删除文件时如果发现目标文件不存在时,不使用强制删除系统会返回错误信息。而加上-f 系统不会返回错误信息。由于在编程时如果有返回错误信息会导致程序终止,所以通常会加上-f命令

(9).catconcatenate,连接):查看文件内容,也可以追加文件内容

cat targetfile_pathname

(10).rmdirremove directory,删除文件夹):删除空文件夹

rmdir folder_path

注:仅用于删除空文件夹,若文件夹不为空时会返回错误信息

(11).ln(link,连接文件):创建连接文件

Linux中有两种连接文件

①软连接(symbolic link,符号连接),效果相当于windows中的快捷方式

ln -s sourcefile_pathname linkfile_pathname

注:文件的后缀可以不同

删除源文件时,连接文件失去意义,即两种文件有主从关系。

②硬连接(hard link

ln  sourcefile_pathname linkfile_pathname

两种文件没有主从关系,只有删除最后一个文件时,该文件才会被真正删除。

(12).apt-get:在ubuntu中用于在线安装,在线更新或者现在的程序

注:要使用apt-get实现安装功能,必须处于联网状态且具有root权限

apt-get install program_name 安装软件

apt-get update 更新软件列表

apt-get upgrade 更新已安装软件

5、编辑器vi的基础使用

viLinux自带的比较旧的文本编辑器,在Linux上类似还有vimvi的升级版)和gedit等。

vi file_pathname 打开或者创建一个文件

vi的两种工作模式:在左下角可以看到当前的工作模式

(1)命令模式:当vi打开时默认为命令模式,要转入输入模式,需要按a或者i键。在命令模式下键盘的所有输入都被vi当做命令。

wq 保持并退出 :q 不保存退出

w 只保存不退出 :q! 强制退出

wq! 保存并且强制退出

(2)输入模式(提示——INSERT——):此时可以向文件中输入字符。按ESC退回到命令模式。

5-2、编辑器vi的高级使用

(1)查找 /xxx

(2)快速切换行 :xxx(number)

(3)设置显示行号 :set nu (set nonu,不显示行号)

注:永久显示行号需要更改配置文件。~/.vimrc 输入set nu

(4)行删除:命令模式下,先切换到目标行,再按dd

多行删除(numdd

(5)行复制粘贴:

复制:命令模式下,先切换到目标行,再按yy

多行复制:命令模式下(numyy

粘贴:命令模式下,p

注:复制时要光标放在多行的第一行,粘贴时实际粘贴到当前光标所在行的下一行



三、Linux中权限表示&管理 1.普通用户与特权用户

普通用户可以有多个,只具有一定的权限,且不能访问其他用户的文件。

特权用户在Linux下即root用户,具有管理系统的权限。

可以使用su username(切换到root用户时可以省略root名称) 在不用用户间切换,切换到高级或者同级用户需要密码,而root切换到低级用户不许输入密码。

2.rwx与权限表示

ls -l 显示详细信息

drwxr-xr--  10个字符,第一个表示文件类型,剩下的分为3组,表示文件权限

r   read 可读

w  write 可写

x excute 可执行

- 没有权限

1)文件类型

- 表示普通文件(文本文件和二进制文件)

d(directory) 表示文件夹

l(link) 表示符号连接文件,注意硬连接的文件是普通文件

s(socket) 表示套接文件

p(pipe) 表示管道文件

(2)文件权限

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

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

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

属主(owner):文件的创建者

属组(group):多个类似的用户构成的组,多个用户可以分成多个不同的属组。

注:root 具有最高权限,可以具有属主的所有权限。

(3)权限编码

r 可读 4(100)

w 可写 2(010)

x 可执行 1(001)

- 无权限 0(000)

drwxr-xr-- 编码后为754

3.使用sudo暂时获取root权限

这是ubuntu的一个特点,在ubuntu中可以使用sudo命令让普通用户获取root用户的权限,而不必切换用户

四、Linux高级命令

1.find:在Linux文件系统中,用来查找一个文件的位置

find path(部分路径) -name “filename”

2.grep:在一个或者多个文件文本中,查找某个词。

grep  -nr  “keyword”  *

3.whichwhereis

which/whereis

which只显示二进制文件的路径

whereis显示二进制文件的路径、其源码位置和man手册位置

4.uname

uname -a 查看系统详细信息

5.开关机命令

shutdown -h now 立即关机

init 0 关机

shutdown -r now 立即重启

reboot 重启

6.tree

显示文件和目录由根目录开始的树形结构

7.mount/umount

用来挂载磁盘到文件系统中

如:mout -t nfs -o nolock 192.168.1.141:/root/rootfs /mnt

8.磁盘空间相关

df -h 查看文件的磁盘空间占用

du -h查看文件大小

9.用户管理

useradd user1 添加一个名为user1的用户

userdel user1 删除一个名为user1的用户

passwd user1 为一个名为user1的用户设置密码

10.权限修改

(1)chmod:修改文件权限

chmod <权限编码>745

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

chmod  u+x

chmod  o-w

(2)chown:修改属主

(3)chgrp:修改属组


11.文件打包压缩与解压缩

tar -czvf dir.tar.gz dir/ dir目录打包成dir.tar.gz

tar -cjvf dir.tar.bz2 dir/ dir目录打包成dir.tar.bz2

tar -zxvf dir.tar.ge  解压缩dir.tar.gz

tar -jxvf dir.tar.bz2    解压缩dir.tar.bz2

12.网络配置命令

ifconfig eth0 192.168.1.13 设置IP地址

ifconfig eth0 up 启用网卡

ifconfig eth0 down 禁用网卡

ifup eth0 启用网卡

ifdown eth0 禁用网卡

ifconfig eth0 192.168.1.1. Netmask 255.255.255.0 设置IP地址和子网掩码


五、VMWare虚拟机的使用

1.建立共享文件夹

VMWare中,菜单栏->虚拟机>设置->选项->共享文件夹设置


转自迅为iTOP-4412开发板讨论区







关键词: 嵌入式系统     开发学习板    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]