嵌入式系统的处理器类型与架构;
ARM;POWERPC;MIPS
专用的工具和方法进行开发;
常见的嵌入式操作系统
Vxwork,,,,Wince,,,,嵌入式linux;
Linux发行版包括;linux内核,GNU程序库和工具库,命令行shell,图形界面的
Xwindow系统和相应的桌面环境(KDE GONME)并包含数千种从办公套件,编译器
文本编辑器到科学工具的应用软件
常见的linux发行版:DEbian,红帽,ubuntu,suse,fedora;
GNU所开发的高质软件:(为linux发展创造了重要基础)GCC,GDB,Bash shell;
关于命令中斜杠的用法;
例如:当前目录下是在根目录,如果根目录里含有你要切换的目录,就直接用命令cd home;(home就是当前目录下的一个目录);
如果当前目录中没有home则用命令cd /home;;再如如果当前home目录,目录下有dir目录;直接用cd dir;不用加斜杠;
例如:
Linux定制安装;
目录结构;
/Bin:存放常用命令;例如复制命令
/Boot:存放启动命令;例如linux内核
/Dev:存放设备文件;
/Etc:存放启动,关闭,配置程序与文件;
//home;用户工作根目录
//lib:存放共享连接库
//root:超级用户的工作目录;
//sbin:系统管理员的常用管理程序;
//tmp:存放临时文件;
//lost+fount:系统出现异常时,用于保存部分资料;
//misc:一些实用工具;彩电
//mnt:光驱 ,硬盘等的挂载点;
//media:光驱的自动挂载点;
//proc:操作系统的实时信息;
//sys:系统中的硬件设备信息;usb
//srv:服务启动后需要提取的信息;
//var:主要存放系统日志;
//usr;存放用户程序;
//tftp boot: tftp服务器的服务目录;例如:ftp
//selinux:redhed提供selinux安全程序;
注:红色标注表示,后来看(试验过);代码指令没有用别名;
命令行的输入和输出:
在linux中。执行一个终端命令通常会打开3个标准文件,标准输入(stdin),标准输出(stdout)和标准错误文件(stderr);
以cat命令为例,cat命令的功能是从给出的文件中读出数据例如cat 2.txt;该命令会把2.txt的内容 依稀显示到屏幕上。
如果直接在屏幕上输入cat 输入什么就会输出什么;ctrl+c 为推出命令;
输入/输出重定向和管道;
三个概念的引入解决了命令行输入和输出只能看不能修改,不能用,走一步处理一步等问题;
输入重定向;
就是把命令的标准输入重定向到指定文件。也就是说输入可以不来自键盘;
重定向输入:
两种格式:第一种:wc< 文件名;
第二种:wc<>
……..
>! 注:这一对!表示分隔符;第二个分隔符应该出现在一个新航的开始;
输出重定向:
输出定向该命令把命令或者可执行程序的标准输出,或者标准错误输出到指定的文件,就是说,该命令的输出不显示,而是写入到指定文件;
例如:命令ls>dirct.c:意为:将查看显示输出到dirct.c文件中;
然后命令cat dirct.c;将会显示ls原来现实的该目录下的文件;
输出追加重定向;
为了避免输出重定向中的文件只能存放输出重定向的内容;shell提供追加重定向;追加重定向功能是把命令(或者可执行文件)的输出的结果追加到指定文件的最后;而该文件的原有功能不变;
例如ls*.c>>dirct.c;
cat dirct.c;
结果为:在原来输出重定向结果的后面,列出所有的.c文件;
和标准输出重定向一样,错误输出也可以重新定向。使用符号“2>”或者追加符(“2>>”);表示对错误输出设备重定向;
例如命令 ls /usr/tmp 2>err.file
屏幕上显示正常输出结果,将程序的任何错误发送到err.file中以备将来检查;
另外还可用另外的输出重定向操作符(&>)将标准输出和错误输出同时送到同一文件中;
例如命令 ls /sur/tmp &>output.file;
利用重定向将命令组合在一起,可实现新功能。
例如统计某个目录下的文件的数目:
命令:ls /usr/bin>/tmp/dir
Wc –w < /tmp/dir;
管道:
将一个文件的输出作为另一个文件的输入,一种方法是上面的方法,另一种就是利用管道;就像接管一样,管道会把第一个文件的输入当做第二个文件的输入,将第二个文件的输出作为第三个文件的输入,以此类推。屏幕上最终显示的是,最后一个命令的输出。
例如ls /usr/bin|wc –w;(上面命令行的改写);
例如:cat sample.txt|grep “high”|wc –l;
如果sample.txt为:
Thing to do today
Low:go shopping
High:return monie
High:clear level 3
Medium: pick up clothes
最终输出结果为: 2;
Linux常用命令集(1);
//root:超级用户命令
//Ctrl+Alt+一个功能键(F1-F7):登陆后,按下Ctrl+Alt+F2,又可看到login:登陆;接着按下Ctrl+Alt+F1,回到第一个控制虚拟控制台;Ctrl+Alt+F7是具有图形界面的控制台;linux提供了虚拟控制台,可以同时接受多个用户登陆;使用户在同一时间从不同的虚拟控制台进行多次登录;
//useradd:添加用户;例如useradd lhl;
//passwd:修改密码;例如passwd lhl;为用户lhl创建密码;
//su:切换用户;例如当前为root用户要切换到lhl用户;例如su – lhl(-左右都要加空格)可从当前用户切换到lhl用户;如果想要回到原用户,例如su-root可回到root用户,但是要输入root用户密码
//shutdown:关机;例如:shutdown now;就会立刻关机;
//cp:拷贝;例如cp intall.log / home/;拷贝intall.log文件到home;如果要拷贝一个目录就要加上–r;例如cp –r Desktop / home /;注意加空格;如果要cp的文件所在目录,与目标目录不在同一目录或者同一目录下,移动时要把绝对路径写全;或者需要修改文件权限。
移动多个文件时,命令cp *.c *.txt /home/dir;*.c *.txt意为将所有.c .txt文件都拷贝到/home/dir目录下注意**之间加空格;;
//mv:移动或更名;例如mv hell.c /;将hello.c文件剪切到根目录下;例如mv hello.c ./hello1.c;将当前目录下的hello.c文件更名为hello1.c,其中”./”表示当前目录下;
当要移动多个文件时,命令mv *.c /home/dir;意为将当前目录下所有.c文件,剪切到/home目录下的dir 目录下,当文件存在,但是当前用户没有权限,修要加上选项“-f”;
//rm:删除;例如rm hello.c;系统将提示确定是否要删除文件:输入Y删除,N不删除;如果强制删除,例如rm –f hello.c;就会直接删除;如果要删除一个目录;例如rm –r Desktop:不要忘记加-r;如果要删除多个文件 命令mv *.c *.txt -rf;/touch hello.c 创建文件/;例如rm hello.c -rf
//mkdir:创建目录;例如 mkdir/home/test;在home目录下创建test目录;另外如果要创建的目录的上层目录不存在应加-p;例如
mkdir –p/home/dir1/dir2;如果dir1不存在就先创建dir1再创建dir2
//cd:改变工作目录;如果要切换到某个目录,例如cd /home/;则回到home目录下;例如cd /;回到根目录。例如cd ../;回到上一级目录。
//pwd:查看当前路径;例如pwd;
//ls:查看目录;例如ls/home;如果要查看详细信息则需要要加-l;例如ls –l/home/;如果要查看当前目录下所有文件与目录(包括隐藏文件)应加-a;例如ls –a/home;创建隐藏文件例如touch .config;以点开头的文件;例如ls –a –x(ls –x -a)(ls -ax);打开所有内容,并横向排序;
//tar:打包与压缩;例如 tar cvf temp.tar/home/temp/;
(cvf前加-下同)将home目录下的temp目录压缩成temp.tar格式;例如tar xvf temp.tar;解压当前temp.tar;例如tar cvzf temp.tar.gz/home/temp/;将temp目录打包压缩成gz格式;例如tar xvzf temp.tar.gz;将打包压缩文件temp.tar.gz在当前目录下解压
//unzip:解压缩;例如unzip tmp.zip;//解压tmp//一些windows的压缩文件,在linux中进行解压缩;
//gzip:压缩文件;linux中用,指令gzip text.c;生成text.c.gz; 多个文件,用星号
gzip *.c;解压文件加选项-d;
//wc;文件内容统计命令;该功能 为统计指定文件中字节数,字数,行数,并将统计结果显示出来;
命令格式;wc [选项] 文件列表;
说明:如果没有给出文件名,则从标准输入读取,字是由空格字符区分开的最大字符串;
选项:-c;统计文件字节数;
-l:统计问件行数
-w;统计字数;
命令:wc –lcw 2.tet;如果省略lcw结果一样;行数。字数,字节数;
比较文件内容;
//comm:对两个有序的文件进行比较;
命令格式comm [-123]file1 file2
Comm.读取两个文件,然后输出三列信息:仅在file1中出现的行,仅在file2中出现的行,两个文件都出现的行;
选项1.2.3抑制相应的列显示;例如comm -12显示两个文件中都存在的行,comm -23只显示在第一个文件中出现的行:
//diff:用于比较两个文件的不同;
命令格式 diff [选项]源文件 目标文件
例如diff file1 file2;
Linux访问权限
系统中的每个文件和目录都有访问许可权限,访问权限可以分为只读,只写,可执行; 有三种不同类的用户可对文件和目录进行访问;文件所有者,与所有者同组的用户,其他用户; 每一文件或者目录的访问权限都有三组,每组有三位字符表示;分别为(所有者,同组用户,其他用户)读,写和执行权限; 例如当使用ls –l命令时,显示文件或者目录信息;可以看到如下字符:
-rw-r--r-- 1 root root 483997 Ju1 15 17:31 sobsrc.tgz
所标注的前十位第一个字符指定了文件的类型;“-”表示是一个非目录的普通文件,如果是“d”表示是一个目录,剩下的9为分为三组(所有者,同组用户,其他用户)前三位r代表只读,w代表写,x代表可执行(如果是“-”代表无该项权限)
文件类型;
‘-’常规文件;
‘d’目录;
‘b’块特殊设备;
‘c’字符特殊设备;
‘p’有名管道;
‘s’信号灯;
‘m’共享存储器;
注:打开终端会看到不同颜色的文件,蓝色代表目录,红色代表压缩文件,灰色表示一般文件;浅蓝色代表链接文件,绿色表示可执行文件;
//改变访问权限
//chmod(chown)
格式:chmod[who][+-=][mode]文件名
参数:who:[u]表示文件所有者。[g]表示与文件所有者同组的用户。[o]表示其他用户。[a]表示所有用户,是系统默认
Mode:[+]添加某个权限[-]取消某个权限[=]赋予给定权限;
例如chmod g+w hello.c;使得与文件所有者同组的用户添加了写的权限;
如果对不同的用户分别进行权限授定;
例如命令chmod ug+w,o-w file2.text file1.text;
mode所表示的权限可用数字组合r(4),w(2),x(1);例如chmod 761 hello.c;如果想把文件权限都改成只读的,可用命令chmod 444 hello.c;
linux常用命令集(2)
查看部分;
//df:查看磁盘使用情况;例如df -k ;表示以KB为单位显示;
//du:查看目录大小;例如du –b lesson;表示以B为单位查看;
//ls:显示指定工作目录中所包含的内容;例如ls;打开根目录文件;注意:ls只是查看,并不会显示内容的详细信息;
类任务管理器;
//top:动态查看cpu使用(占用率);例如 top;如果想要跳出输入q;
//ps;查看进程;例如ps aus;查看所有当前进程;
//kill:杀死进程;例如kill 3537;其中3537为进程的ID号;
网络部分
//ifconfig:网络配置命令;例如ifconfig eth0 122.207.79.45;配置eth0(以太网卡)的IP地址;lo 表示回访网卡; 如果要暂停或者恢复网卡使用;例如ifconfig eth0 down(up);down表示暂停up表示恢复;
//netstat:查看网络状态;例如netstat –a;
//例如netstat –a|grep tftp;查看网络中与字符串“tftp”有关网络状态;
//
软件安装部分;
//rpm:软件安装;格式:rpm[选项][文件];
例如rpm –ivh tftp.rpm;安装名字为tftp的文件;例如rpm –qa;列出所有已安装的rpm包;例如rpm –e name;卸载名字为name的包;
光驱部分;
//mount:挂载;就像在windows里一样,光盘要变成一个盘符之后才能打开访问。在linux中,光盘是以文件形式存在,要想使用就要挂载到一个目录下面;例如mount/dev/cdrom/mnt;就是将光驱挂载到/mnt目录下(dev是存放设备文件的地
方);
//umount:取消挂载;例如umount/mnt;取消光驱在mnt下的挂载;如果显示设备忙碌:输入命令:cd /;再输入命令umount /mnt/
不能再当前设备取消挂载;
查找部分;
//find:查找文件;格式:find路径-name‘文件名’;
命令格式;find [目录列表] [匹配标准]
其中[目录列表]可用空格隔开。[匹配标准]包括-name 文件名 ;
例如find./-name “hello*”;从当前目录(包括子目录)下查找文件名中包含hello的文件;例如find./-name “hello.c”;从当前目录(包括子目录)下查找名为hello.c的文件;
例如如果仅知道文件的大小,和修改日期等特征。也可以用find查找;例如直到一个文件的大小小于2500bytes,可使用下面的命令。
find /etc –size -2500c –print ;
字符c说明这个查找的文件大小是以bytes为单位的,2500前的“-”表示系统要列出小于指定大小的文件;“+”表示大于;如果既无“-”“+”表示列出正好等于指定大小
的文件;
//grep:查找字符串;例如grep“file”./ -rn;在当前目录下查找含字符串“file”的文件,“-r”表示包括子目录“-n”显示行号;
命令格式grep [选项] 匹配字符串 文件列表
帮助部分;
//man:帮助;例如main grep;查看grep命令的使用方法;
Linux文本编辑器;
Linux提供了一系列的强大的编辑器,例如vi和emacs;
Vi是一个全屏幕交互式编辑器;有三种交互模式:命令行模式,插入模式,底行模式;
1. 命令vi hello.c进入文本编辑窗口;
2. 在默认模式下为命令行模式,只能浏览或者整行删除,不能编辑;编辑窗左下角出现“hello.c”
3. 在默认模式下,敲击键盘“I”,进入插入模式;编辑窗口左下角出现“insert”
4. 在插入模式下,才能编辑输入,编辑文件,可使用【esc】回到命令行模式
5. 最后键入 :wq保存退出;
文本编辑功能键;
命令行模式下;
//yy:复制当前光标所在行;
//[n]yy:N为数字,复制当前光标开始的N行;4yy;
//p:粘贴复制的内容到光标所在行;
//dd:删除当前光标所在行;
//[n]dd:删除当前光标所在行开始的N行;
--/name:查找光标之后的名为name的字符;
//G:光标移动到文件尾(注意大写)shift+g
//u:取消前一个动作(注意小写);
底行模式功能键;
//:w保存;
//:q推出VI;(系统会提示保存修改)
//:q!强行退出(对修改不做保存)
//:wq保存后退出
//:w[filename]另存为filename的文件
//:set nu显示行号
//:set nonu取消行号;
Linux编辑器emacs(自学);
//