linux C高级

     很快这一阶段又过去去了,让我们来总结一下这一阶段的知识吧!

一.嵌入式操作系统

     

  1.什么是嵌入式操作系统

    以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

   2.嵌入式的应用范围

  智能家居,智能安防,医疗,工业,交通物流,汽车电子等

二.linux操作系统的使用

   1.linux命令

ps 查看进程

shutdown -h now  关机

reboot   重启

free  查看当前系统内存的使用情况

df   查看文件系统的磁盘空间占用情况

du  统计目录

fdisk 查看磁盘分区

vim编译器

查找(命令模式下)

/<要查找的字符> 向下查找要查找的字符

?<要查找的字符> 向上查找要查找的字符

替换

s/string1/string2/gc  

chmod   改变文件的访问权限

 chown  修改文件的所有者和组别

grep   在指定文件中搜索特定内容,并输出

常用的特殊符号

重定向符号 > 文件不存在,则新建,文件存在,覆盖原文件中的内容

追加重定向符号 >> 文件不存在则新建,文件存在,则追加在文件的末尾

通配符

 ln 创建链接文件

find  在指定的目录下搜索文件

压缩打包

gzip  、bzip2    压缩  后加-d 解压

tar  进行打包和解包

 diff 文件比较命令

修改PATH 

export PATH=$PATH:/home/linux

2.linux 网络配置

测试虚拟机是否有网  ping

查看ip地址 ifconfig

3.网络基础知识

ip 地址

A类:1字节网络地址+3个字节的主机地址

1.0.0.0 -----126.255.255.254

子网掩码

作用:判断主机发送的数据包是向外网发送还是向内网发送

网关

实质是一个网络通向其他网络的ip地址

DNS (域名解析服务器)

4.软件管理

apt 高级软件包管理工具

sudo apt-get install 

sudo  app-get  update  下载更新软件包列表

5.linux 用户管理

/etc/passwd

 /etc/shawod/

/etc/group/

 

 2.管理命令(必须用root)

修改密码 passwd

修改用户的属性  usermod

删除用户 deluser

三.shell编程

1.变量

命名规范:

.由数字,字母,下划线组成,首字母不能为数字

.不能为关键字和保留字

.尽量见名知意,尽量大写

2.访问shell变量

 3.环境变量

echo  $PATH

 4.shell程序

expr 算数命令

 test 测试命令

测试字符串

s1 = s2 测试两个字符串的内容是否完全一样

s1!= s2 测试两个字符串的内容是否有差异

-z s1 测试s1字符串的长度是否为0

-n s1 测试s1字符串的长度是否不为0

测试整数

 文件属性

 5.shell语句

1.顺序

read  -p 输入

echo  输出

2.选择

if (条件为真)

then

      (语句)

fi

双分支

if (条件为真)

then

   语句

else

  语句

fi

多分支

多分支

if (条件1为真)
then
   语句1
elif (条件2为真)
  then
    语句2
  elif  (条件3为真)
  then
    语句3
else
   语句n+1
fi

case

case 字符串变量 in
     1|3|5|7)
         语句1
           ;;
      2|4|6|8)
          语句2
          ;;
esac

3.循环

for

//1
for I in 1 2 3
do
    语句
done


//2
for I in {1..10}
do
   语句
done



whlie

while  [条件为真]
do
   语句
done

实例:

shell编程实现1到100 求和

#!/bin/bash

for I in {1..100}
do
  SUM=`expr $SUM + $I`
done
echo "$SUM"

shell编程实现乘法口诀表

#!/bin/bash 

I=1
while [ $I -le 9 ]
do
    J=1
    while [ $J -le $I ]
	do
	         RES=`expr $I \* $J`  
			 echo -n "  $I*$J=$RES "
			 J=`expr $J + 1`

    done
	echo ""

     I=`expr $I + 1`	   
done

4.函数

function 函数名()

  函数体

  }

案例:

/*命令下无参数,将该目录下的文件复制到backup中去
若命令下有一个参数,查找该文件是否在该文件夹中*/


if [ ! -d $HOME/backup ] //判断$HOME/backup 创建
then        
mkdir $HOME/backup
fi
flist=`ls` //将ls的运行结果赋值给flist
for file in $flist //遍历ls的结果
do        
       if [ $# = 1 ]  //若命令行下有1个参数        
       then                
             if [ $1 = $file ] //判断你传入的参数在该路径下若存在                
             then                        
                  echo "$file found";exit                
             fi        
        else   //若命令下无参数                       
          cp $file $HOME/backup                       
           echo "$file copied"        
         fi
done

四.结构体

 1.创建及访问

struct student

{

       char name[20];

       int height;

       float scores[3];

};

访问

//输入

printf("请输入姓名,身高,三门成绩\n");

scanf("%s%d",s1.name,&s1.height);

for(i=0;iM;i++)

{

scanf("%f",&s1.scores[i]);

}

//输出:

printf("%s %d ",s1.name,s1.height);

for(i=0;iM;i++)

{

printf("%5.0f",s1.scores[i]); }

printf("\n");

return 0;

}

2.结构体指针

struct student * ps=NULL;

ps=&s1;  //ps指向s1

访问

for(i=0;iM;i++)

{

printf("%5.0f",ps->scores[i]);

}

printf("\n");

3.分配空间和释放空间

分配

void *malloc(size_t size);  

void free(void *ptr);

4.结构体和堆区联系

 五.自定义头文件

1.引入和写法

#include “  ”

 2.gcc

3.makeflie

 

 嵌套makefile

 六.函数指针

1.定义及访问

 访问

 定义一个长度为4的数组,该数组中的每个元素是个函数的指针

 2.函数取别名


typedef int (*PFUN) (int,int );

七.存储类型

1.register 寄存器

2.auto(默认)

3.extern )(外部的)

 

 

4.static 修饰全局变量(隐藏)

 static局部变量:延长变量的生命周期

5.共用体

6.大小端

7.枚举

8.字节对齐

结构体的对齐方式:成员当中最大的那个

9.位域

 10.递归

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值