11 2011 档案
摘要:在操作系统中,任何东西都可以看作是文件,文件是操作系统逻辑组织的基本单元。对于Unix和Linux文件系统而言,文件系统层次标准(FHS)是其组织规范的主要参考。对文件目录结构稍有了解的人都知道,文件系统通常由根目录(/)出发,不断延伸出一层一层的子目录。★在Linux中,常用的一级子目录包括:目录名描述/bin集中存放一些必要的命令工具,最好不要单独挂载,否则你会找不到那些你亟需的实用程序。/boot包含Linux的启动文件以及内核。默认情况下为100M,这对准备RHCE考试足矣/dev集中存放各类设备驱动程序,该分区不要单独挂载/etc集中存放一些基本的配置文件/home集中存放用户的主目
阅读全文
摘要:一般启动图形界面较慢,而且耗资源,这是可修改系统引导文件,ubuntu10.10,貌似跟readhat不太一样哦一、grub启动文件:/etc/default/grub ,将:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"改成:GRUB_CMDLINE_LINUX_DEFAULT="text"修改等待时间:GRUB_TIMEOUT=0更改后,注意更新:sudo update-grub二、若需启动图形界面,则更简单命令:startx
阅读全文
摘要:主要调用singal()捕捉信号,指定函数处理#include <stdio.h>#include <sys/wait.h>#include <string.h>#include <errno.h>#define MAXLINE 20static void sig_int(int);int main(void){ char buf[MAXLINE]; /* from apue.h */ pid_t pid; int status; //捕捉信号 if(signal(SIGINT, sig_int) == SIG_ERR) ...
阅读全文
摘要:主要的函数是 char * strerror(int errnum) 和 void perror(const char *msg)#include <stdio.h>#include <errno.h>int main(int argc, char *argv[]){ fprintf(stderr, "eacces: %s\n", strerror(EDQUOT)); //在标准出错上产生一条出错信息 errno = ENOENT; perror(argv[0]); return 0;}
阅读全文
摘要:父进程调用子进程,可以用的命令date,who,pwd,ls,等无参数的#include <stdio.h>#include <sys/wait.h>#include <string.h>#define MAXLINE 20int main(void){ char buf[MAXLINE]; /* from apue.h */ pid_t pid; int status; printf("%% "); /* print prompt (printf requires %% to print %) */ while (fgets...
阅读全文
摘要:近期看到了文本流和二进制流的区别,书上讲的比较含糊,理解不透彻,于是细细琢磨了下,把心得跟大家分享一下:一、首先回答,什么是文件,流 一个文件通常就是磁盘上的一段命名的存储区。比如 stdio.h 就是一个包含一些有用信息的文件的名称。 C将文件看成是连续的字节序列,其中每一个字节都可以单独地读取。这与 UNIX 环境(C的发源地)中的文件结构是一致的。因为其他环境中的文件模型可能会有所不同,所以 ANSI C 提供了文件的两种视图:文本视图和二进制视图。 C将数据的输入输出看作是数据的流入和流出,不管是磁盘文件或者是物理设备都可看作一种流的源和目的,视他们为同一种东西,而不管其具体...
阅读全文
摘要:一、此法要求函数连续,在给定区间内仅有一个根,通过循环十几次即可获得精度要求较高的根(0.00001),精度可自己设定理论依据为函数连续性,在根附近有:f(start) * f(end) < 0#include <stdio.h>#include <stdlib.h>#include <math.h>#define E 2.718float f(float);int main(){ float start, end, mid, precision; int i, count; //三个初值,每次都要赋值 start = 0; //区间左起点 end .
阅读全文
摘要:一、利用系统调用,从标准输入读取字符串,然后输出,类似c里面的 scanf() printf()#include <stdio.h>#include <fcntl.h>#include <unistd.h>#define BUFFSISE 4096int main(void){ int n; char buf[BUFFSISE]; while((n = read(STDIN_FILENO, buf, BUFFSISE)) > 0) write(STDOUT_FILENO, buf, n); exit(0);}二、利用c语言函数,当然,c里面有很多字符处
阅读全文
摘要:用c语言编写程序的时候,虽然加了 #include <math.h> ,gcc还是报错,undefined reference to `log',‘ceil’,之类的不识别数学函数,此时,需要在后面加上参数 -lm ,具体格式为 :gcc -g a.c -lmok
阅读全文
摘要:一、简单读取名称:#include <stdio.h>#include <stdlib.h>#include <dirent.h>int main(int argc, char *argv[]){ //定义了一个目录指针,和dirent结构体 DIR *dp; struct dirent *dirp; dp = opendir(argv[1]); //打开目录,失败时返回 NULL while((dirp=readdir(dp))!=NULL){ printf("%s\n", dirp->d_name); } return 0;}二
阅读全文
摘要:一、获取输入#include <stdio.h>#include <stdlib.h>int main(){ int dogs ,num =28; printf("how many dogs do you have?\n"); scanf("%d",&dogs); //获取输入,并赋值给变量地址 printf("so you have %d dogs!!\n",dogs); //格式化输出 printf("I like number %d very much",num ); getc
阅读全文
摘要:一、算术运算符**:对两个变量做幂运算 其他:+ - * / % += -= *= /= %=二、运算顺序如果没有expr或$[]更改运算顺序,则会将运算式以字符串的形式赋值ehco 1+2; 结果会是 1+2 !!办法1:用expr表示后面的表达式为一个数学运算注意 + 前后一定要有空格!!否则不会进行算数运算echo `expr 1 + 2`办法2:用$[]表示数学运算。将一个数学运算写到$[]符号的中括号中,中括号中的内容将先进行数学运算a=$[$a + 1]三、一个简单实例实现数学函数S=3(x^y)+4x^2+5y+6的运算注:$1, $2 分别为第一个变量,...
阅读全文
摘要:一、实战在当前目录中,需要重命名所有文件,格式为 school1, school2 ……等#!/bin/bashecho hello;a=1;for i in *; do echo $i; mv $i "school$a"; a=$(($a+1)); #a =`expr $a+1` 貌似行不通,要加空格!! #a =`expr $a + 1`done二、小练习批量重命名一些文件,这些文件有共同特征,比如具有相同的字母,或者没有共同特征,想统一重命名,修改它们相同位置上的字符等等。1、我想把它们的名字的第一个1个字母变为"q",其它的不变for i in
阅读全文
摘要:一、中文输入codeblocks的默认快捷键与fcitx的相同,需要修改:编辑器的自动完成快捷键也为ctrl + space,所以必须将此热键重新设置,需要用到codeblocks的 shortcut插件sudo apt-get install codeblocks-contrib 安装好之后,进入 settings-editor-keyboard --> shortcut 进行设置,将complete code 的热键更改即可二、控制台乱码在环境设置里进行如下设置:把Terminal to launch console programs 那个选项(xterm -T $TITLE -e)
阅读全文