嵌入式培训

亿元级外企嵌入式培训企业

  • 全国服务监督电话4001118989
  • 嵌入式linux基础学习笔记总结

    发布:嵌入式培训  来源:嵌入式学习笔记  时间: 2017年05月03日

  • Linux是什么1、 Linux的核心原型是1991年由托瓦兹(Linus Torvalds)写出来的。2、 1973年:unix的正式诞生,Ritchie等人以C语言写出第一个正式unix核心。...

  • Linux是什么

    1、 Linux的核心原型是1991年由托瓦兹(Linus Torvalds)写出来的。

    2、 1973年:unix的正式诞生,Ritchie等人以C语言写出第一个正式unix核心。

    3、 1977年:重要的unix分支——BSD(Berkeley Software Distribution)的诞生。

    4、 目前被称为纯的unix指的就是System V(AT&T) 以及BSD(SUN)这两套。

    5、 1984年,史托曼开始GNU计划,这个计划的目的是:建立一个自由、开放的unix操作系统(Free unix)。

    6、 主、次版本为奇数:发展中版本。

    7、 主、次版本为偶数:稳定版本。

    8、 Distribution主要分为两大系统,一种是使用RPM方式安装软件的系统,包括red hat ,fedora,suse等这些;一种则是使用debian的dpkg方式安装软件的系统,包括debian,ubuntu,b2d等等。

    9、 Linux的特点1、硬件需求低;2、架构开放;3、系统稳定性及保密性功能够强;4、完全免费。

    10、 Linux distribution的组成含有:linux kernel + free software +documentations(tools) + 可完全安装的程序;所组成的一套完整的系统。

    Linux怎么学习

    1、 计算器概论与硬件相关知识;

    2、 先从linux的安装与指令学起;

    3、 Linux操作系统的基础技能;

    4、 务必学会vi文书编辑器;

    5、 Shell与shell script的学习;

    6、 一定要会软件管理员;

    7、 网络基础的建立。

    虚拟机安装过程

    1、 网络类型:桥接网络、使用网络地址转换、仅主机模式网络各自代表什么意思。

    2、 I/O控制类型:SCSI控制器:BusLogic 、LSI Logic、LSI Logic SAS三者各自代表什么意思。

    3、 磁盘类型:IDE、SCSI、SATA各自代表什么意思。

    常用指令和小技巧

    date

    #显示日期的指令。

    cal

    #显示日历的指令。

    bc

    #简单好用的计算器;输入qiut离开bc这个计算器。

    Tab按键

    功能:

    1、 命令补全。

    2、 档案补齐。

    *#Tab接在一串指令的第一个字的后面,则为命令补全。

    *#Tab接在一串指令的第二个字以后时,则为档案补齐。

    Ctrl + c按键

    #让当前的程序停掉。

    Ctrl +d按键

    #Ctrl+d按键代表:键盘输入结束(End of File,EOF or End of Input)的意思!

    #另外,他也可以用来取代exit的输入!例如你想要离开文字接口,可以直接按下Ctrl+d就可以直接离开。

    man page

    #查询指令的用法和相关参数的说明。

    #指令后面跟的数字表示的内容:

    #其中1、5、8三个号码特别重要。

    #man page的内容所包含的的部分:

    #还可能会看到Authors与Copyright等。

    info page

    #info与man 的用途其实差不多,都是用来查询指令的用法或者是档案的格式。但是与man page 一口气输出一堆信息不同的是,info page 则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写,并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。

    1、File:代表这个info page的资料是来自info.info档案所提供的;

    2、Node:代表目前的这个页面是属于Top节点。 意思是info.info 内含有很多信息,而Top 仅是info.info 档案内的一个节点内容而已;

    3、Next:下一个节点的名称为GettingStarted,你也可以按『N』到下个节点去;

    4、Up:回到上一层的节点总揽画面,你也可以按下『U』回到上一层;

    5、Prev:前一个节点。但由于Top 是info.info 的第一个节点,所以上面没有前一个节点的信息。

    nano

    #超简单文字编辑器。

    1、[ctrl]-G:取得联机帮助(help),很有用的!

    2、[ctrl]-X:离开naon 软件,若有修改过档案会提示是否需要储存喔!

    3、[ctrl]-O:储存档案,若你有权限的话就能够储存档案了;

    4、[ctrl]-R:从其他档案读入资料,可以将某个档案的内容贴在本档案中;

    5、[ctrl]-W:搜寻字符串,这个也是很有帮助的指令喔!

    6、[ctrl]-C:说明目前光标所在处的行数与列数等信息;

    7、[ctrl]-_:可以直接输入行号,让光标快速移动到该行;

    8、[alt]-Y:校正语法功能开启或关闭(单击开、再单击关)

    9、[alt]-M:可以支持鼠标来移动光标的功能。

    正确的关机方式

    1、 who 查看有谁在线

    2、 netstat –a 查看网络的联机状态

    3、 ps –sux 查看背景执行的程序

    4、 sync 将数据同步写入硬盘中的指令

    5、 shutdown 关机指令

    6、 reboot, halt, poweroff 重新启动。

    切换执行等级:init

    #Linux共有七种执行等级。

    #run level 0 : 关机

    #run level 3 : 纯文本模式

    #run level 5 : 含有图形接口模式

    #run level 6 : 重新启动

    linux 的档案权限与目录配置

    chgrp

    改变档案所属群组

    命令chgrpgroupname install.log

    chmod

    改变档案的权限

    1、 用chmod改变拥有者和群组,chmoduser.group file或者chmoduser:group file

    2、 chmod xyz 档案或目录

    3、 chmod (u/g/o/a) (+/-/=) (r/w/x)档案或目录

    mkdir

    mkdir [-mp] 目录名称

    -m : 配置文件的权限!直接设定,不需要看预设权限的脸色。

    -p : 帮助你直接将所需要的目录(包括上层目录)递归建立起来!

    rmdir

    rmdir [-p] 目录名称

    -p :连同上层空的目录一起删除

    cp

    cp [-adfilprsu] 来源文件(source) 目标文件(destination)

    选项与参数:

    -a : 相当于–pdr 的意思,至于pdr 请参考下列说明;

    -d : 若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;

    -f : 为强制(force)的意思,若目标档案已经存在且无法开启,则移除后再尝试一次;

    -i : 若目标文件已经存在时,在覆盖时会先询问动作的进行

    -l : 进行硬式连接(hand link)的连接档建立,而非复制档案本身

    -p : 连同档案的属性一起复制过去,而非使用默认属性;

    -r : 递归持续复制,用于目录的复制行为

    -s : 复制成为符号链接文件(symbolic link),亦即【快捷方式】档案

    -u : 若destination比source旧才更新destination!

    rm

    移除档案或目录

    rm [-fir] 档案或目录

    -f : 就是force的意思,忽略不存在的档案,不会出现警告讯息;

    -i : 互动模式,在删除前会询问使用者是否动作

    -r : 递归删除啊!最常用在目录的删除了!

    mv

    移动档案与目录,或更名

    mv [-fiu] source destination

    -f : force强制的意思,如果目标档案已经存在,不会询问而直接覆盖

    -i : 若目标档案(destination)已经存在时,就会询问是否覆盖

    -u : 若目标档案已经存在,且source比较新,才会更新(update)

    touch

    建立一个空的档案

    将某个档案日期修订为目前

    touch [-acdmt] 档案

    -a : 仅修订access time

    -c : 仅修订档案的时间,若该档案不存在则不建立新档案

    -d : 后面可以接欲修订的日期而不用目前的日期,也可以使用–date=”日期或时间”

    -m : 仅修改mtime

    -t : 后面可以接欲修订的时间而不用目前的时间

    whereis

    寻找特定档案(在数据库档案里面搜寻,不搜寻硬盘)

    whereis [-bmsu] 档案或目录名

    -b : 只找binary格式的的档案

    -m : 只找在说明文件manual路径下的档案

    -s : 只找source来源档案

    -u : 搜寻不在上诉三个项目当中的其他档案

    locate

    locate [-ir] keyword

    -i : 忽略大小写的差异

    -r : 后面可接正规表示法的显示方式

    压缩文件

    *.Z compress程序压缩的档案

    *.gz gzip程序压缩的档案

    *.bz2 bzip2程序压缩的档案

    *.tar tar程序打包的档案,并没有压缩

    *.tar.gz tar程序打包的档案,并且经过gzip的压缩

    *.tar.bz2 tar程序打包的档案,其中并且经过bzip2的压缩

    tar

    1、 压缩:tar –jcv –f filename.tar.bz2 要被压缩的档案或目录名称

    2、 查询:tar –jtv –f filename.tar.bz2

    3、 解压缩:tar –jxv –f filename.tar.bz2 –C 要解压的目录

    dump

    dump 的功能颇强,他除了可以备份整个文件系统之外,还可以制定等级喔

    vim程序编辑器

    删除

    复制

    yy 复制游标所在的那一行;

    nyy n为数字,复制光标所在的向下n行;

    粘贴

    复原与重复

    插入或取代

    储存与离开

    Vim环境的变更

    区块选择

    多档案编辑

    多窗口

    认识与学习BASH

    Linux使用的shell称为【BourneAgain SHell】,简称bash。

    命令编修能力(history)

    在指令列按上下键就可以找到前后一个输入的指令。这么多指令记录在家目录内的.bash_history里面。

    放在/root/.bash_history里面。

    命令与档案补齐功能([tab]按键)

    命令别名设定功能(alias)

    例:alias lm=’ls-al’

    后面的lm=’ls-al’不能有空格,要连在一起。

    通配符(Wildcard)

    Bash shell的内建命令:type

    查看指令是来自与外部指令或是内建bash当中的。

    export

    自定义变量转成环境变量

    影响显示结果的语系变量(locale)

    declare / typeset

    宣告变量的类型

    #declare [-aixr] variable

    -a : 将后面名为variable的变量定义成数组类型

    -i : 将后面名为variable的变量定义成整数数字类型

    -x : 用法与export一样,就是将后面的variable变成环境变量

    -r : 将变量设定为readonly类型,该变量不可被更改内容,也不能unset

    正规表示法与文件格式化处理

    grep

    用法:grep [选项]… 模式 [文件]…

    在每个文件中查找样式或标准输入。

    PATTERN默认的是一个基本的正则表达式(BRE)。

    例: grep –I ‘hello’menu.h main.c

    正则表达式的选择和解释:

    -E,--extended-regexp PATTERN是一个扩展的正则表达式(ERE)

    -F,--fixed-strings PATTERN是一套新行分离修复字符串

    -G,--basic-regexp PATTERN是一个基本的正则表达式(BRE)

    -P,--perl-regexp PATTERN是一个Perl正则表达式

    -e,--regexp=PATTERN 使用 PATTERN 来匹配

    -f,--file=FILE 从 FILE 来获得 PATTERN

    -i,--ignore-case 忽略大小写

    -w,--word-regexp 强制 PATTERN 仅匹配整个词

    -x,--line-regexp 强制 PATTERN 仅匹配整行

    -z,--null-data 结尾为 0 字节而不是新行符的数据行

    杂项:

    -s,--no-messages 不显示错误信息

    -v,--invert-match 选择不匹配的行

    -V,--version 打印版本信息并退出

    --help 显示本帮助并退出

    --mmap 如果可能,使用内存映象作为输入

    输出控制:

    -m,--max-count=NUM 在有NUM个匹配后停止

    -b,--byte-offset 在输出行的同时打印字节位移

    -n,--line-number 在输出行的同时打印行数

    --line-buffered flush outputon every line

    -H,--with-filename print the filenamefor each match

    -h,--no-filename suppress theprefixing filename on output

    --label=LABEL print LABELas filename for standard input

    -o,--only-matching show only the partof a line matching PATTERN

    -q,--quiet, --silent suppress all normaloutput

    --binary-files=TYPE assume thatbinary files are TYPE;

    TYPE is `binary',`text', or `without-match'

    -a,--text 等同于 --binary-files=text

    -I 等同于 --binary-files=without-match

    -d,--directories=ACTION how to handledirectories;

    ACTION is `read',`recurse', or `skip'

    -D,--devices=ACTION how to handledevices, FIFOs and sockets;

    ACTION is `read' or`skip'

    -R,-r, --recursive 等同于 --directories=recurse

    --include=FILE_PATTERN 只搜索符合FILE_PATTERN型式的文件

    --exclude=FILE_PATTERN 跳过名字为FILE_PATTERN的文件或目录

    --exclude-from=FILE skip filesmatching any file pattern from FILE

    --exclude-dir=PATTERN directories that match PATTERN will be skipped.

    -L,--files-without-match print only names of FILEs containing no match

    -l,--files-with-matches print only names ofFILEs containing matches

    -c,--count print only a countof matching lines per FILE

    -T,--initial-tab make tabs line up(if needed)

    -Z,--null FILE名字后打印0字节

    上下文控制:

    -B,--before-context=NUM 打印 NUM 行上文

    -A,--after-context=NUM 打印 NUM 行下文

    -C,--context=NUM 打印 NUM 行输出上下文

    -NUM 与 --context=NUM相同

    --color[=WHEN],

    --colour[=WHEN] 使用标记来高亮匹配的字符串;

    WHEN 可取值为“always”,“never”或“auto”

    -U,--binary 不去掉 EOL(MSDOS)处的 CR 字符

    -u,--unix-byte-offsets 如果 CR 不在那里(MSDOS),报告偏移值

    ‘egrep’ 与 ‘grep -E’含义一致。‘fgrep’与 ‘grep -F’的含义一致。

    直接调用‘egrep’和‘fgrep’的方式已经被废弃了。

    没有 FILE或者 FILE 是 -,读取标准输入。如果少于两个 FILE,

    假设 -h。如果任意行被选中,退出状态为 0;

    如果出现任何错误并且 -q 未被给出,退出状态为 2。

    如果想查看没有某个字符的行,用反向选择[^]来实现。

    想要查看the开头的:

    #grep ‘^the’ a.txt

    符号’^’在[]内和外是不同的,在[]内表示反向选择,在[]外表示定位在行首的意思。

    搜寻空白行,

    #grep ‘^$’ a.txt

    (小数点). 代表一定有一个任意字符的意思

    (星星号)* 代表重复前一个0到无穷多次的意思,为组合形态

    限定连续字符范围{}

    Shell script

    1、 指令的执行是从上而下、从左而右的分析与执行

    2、 指令的下达:指令、选项与参数间的多个空白都会被忽略掉

    3、 空白行也会被忽略掉,并且[tab]按键所推开的空白同样视为空格键

    4、 如果读到一个ENTER符号(CR),就尝试开始执行该行命令

    5、 至于如果一行的内容太多,则可以使用【\enter】来延伸至下一行

    6、 【#】可作为批注,任何加在#后面的资料将全部被视为批注文字而被忽略

    sh sh01.sh 和 ./sh01.sh 执行完以后,子程序内的各项变量将会结束而不会传回到父程序中

    source sh01.sh 执行完以后,子程序内的各项变量将会传回到父程序中。

  • 上一篇:嵌入式(ARM)培训入门学习建议

    下一篇:嵌入式应用层开发学习步骤详解

相关资讯
网站导航
2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56