linux-2020-7

  • cat /proc/kmsg--------->打印内核的log
    printk可以输出到此处
    md5sum可以查看两边的文件是否一致

  • verify:证明,核实,确认

  • CISC:复杂指令系统计算机,如 X86,X86-64系列计算机;
    RISC:精简指令计算机,如ARM系列的单片机、微处理器。

  • sizeof 返回的数据类型是%ld

  • cd - 返回上一次你所在的目录

  • stat 文件名 ----------> 查看一个文件的具体信息,也可以用ls -al

  • expire v 使成为无效,终止,死亡

  • C语言中在函数体外只能初始化变量,不能对变量进行赋值

  • C语言编译器对程序中的一个名字进行处理时,先在局部变量和参数里面找,再从全局变量里面找,找不到就报错。

  • Linux系统的启动流程
    loader ----> uboot ----> kernal ----> fs

  • 在一对大括号 { } 中定义的 变量的作用域、生命周期仅限于大括号内部。

  • 逗号运算符的最终结果逗号右边表达式的结果为准。

,–

linux-2020-7_第1张图片

,–

  • ln -sf a b--------------->让b指向a,相当于创建a的快捷方式。若移动b的位置(移动到其他目录),则b失效,颜色变红。

  • snprintf函数只赋值,不输出。

  • C语言三目运算符------->表达式1 ? 表达式2 :表达式3 ---------->如果表达式1 和 表达式2相同,则表达式2可以省略不写。

  • echo $?------------>查看上一条指令的执行结果,执行成功值是0,执行失败是1.

  • rm -r------------->删除一个目录,递归删除,删除它的子目录、文件
    rm -f-------------->强制删除(忽略不存在的文件,不给出提示)

  • ls -F指令--------->显示某一目录下所有的文件/目录,目录以斜杠 ‘ / ’ 结尾,而可执行文件以 ‘ * ’ 结尾。

  • ship it------>出货

  • C语言指针的优势,作为参数时可以避免复制,无需重新开辟内存空间。尤其是参数为 size 较大的结构体时。

  • C语言中 ~ 是按位取反,是位运算;而 !是逻辑取反,布尔运算。

  • 结构体的赋值只有在定义的时候可以整体赋值。
    而且赋值时,各个成员值用 ,分开。而结构体内部成员之间用 ;分开。可以只给前面一部分的成员赋值。

#include"stdio.h"
typedef struct
{
 int a;
 char b;
 char *c;
} ex;// in the struct ,use ;
int main()
{
 ex d={25,'a',"hello"};//use ,
 return 0;
}
  • ls -a或者ls -al----->查看当前目录下的隐藏文件
  • #error ----->插入一个错误(宏)
  • 函数指针和回调函数
#include"stdio.h"
#include"stdlib.h"
#include"time.h"

#define SIZE 6

int max(int x,int y);
int * randArray();
int maxInArray(int *array,int size,int (*p)(int ,int ));

int main()
{
 int i,mv;
 int * (*P)()=&randArray;
 int (*p)(int ,int )=&max;
 int *ns=P();
 for(i=0;i<SIZE;i++,ns++)
  printf("ns[%d] = %d\n",i,* ns);
 ns-=SIZE;
 mv=maxInArray(ns,SIZE,p);
 printf("%d\n",mv);
 return 0;
}

int max(int x,int y)
{
 return x>y?x:y;
}

int * randArray()
{
 static int nums[SIZE];
 srand(0);
 for(int i=0;i<SIZE;i++)
 {
  nums[i]=rand();
 }
 return nums;
}


int maxInArray(int *array,int size,int (*p)(int ,int))
{
 int m=0;
 for(int i=0;i<size;i++,array++)
  m=p(m,*array);
 return m;
}

输出为

ns[0] = 1804289383
ns[1] = 846930886
ns[2] = 1681692777
ns[3] = 1714636915
ns[4] = 1957747793
ns[5] = 424238335
1957747793

你可能感兴趣的:(linux)