一、LINUX文件结构  ①文件    
  为操作系统服务、设备访问提供了简单而统一的接口。文件数据结构包括文件名字、创建日期、访问权、文件长度等,这些数据都保存在我们称之为 节点 中。     
②设备     
  硬件在LINUX/UNIX中通常是被映射成文件的,这在嵌入式当中是十分重要的。     
  几个重要的设备文件:     
  one: /dev/console 代表的是系统控制台。     
  two: /dev/tty 是进程控制终端。     
  three: /dev/null 空设备。     
③目录     
  一种保存节点号和其他文件名字的特殊文件,通常只能拖过opendir 和 readdir来操作。  二、系统调用  定义:对文件和设备进行访问和控制的函数调用被称为系统调用,它有LINUX直接提供,是通向操作系统本身的操作接口。    
不足:系统调用会降低计算机的执行性能。因为用户空间和内核空间处于不同的空间,系统调用会在用户程序和内核代码之间来回切换,系统开销很大。一般由库函数来间接调用。  ①open    
     
举例:file = open("stu.info ", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);     
说明: O_RDWR:以读写方式打开文件。    
     ......
    
        
    
    学习Linux多进程编程
一、进程的定义:程序执行和资源管理的最小单位。
二、进程控制:
(1)进程标识: 进程标识  子进程号  父进程号 
 头文件  #include<unistd.h>  #include<unistd.h> 
 函数功能  取得当前进程的进程号  取得当前进程的父进程号 
 函数原型  Pid_t getpid(void) Pid_t getppid(void)  
 函数返回值  成功返回进程的进程标识符   成功返回父进程的进程标识符 
注:Pid_t其实是一个typedef类型,相当于unsigned int.
例:
 #include<stdio.h>
#include<unistd.h>
int main()
{
   printf("系统分配的进程号是:%d\n",getpid());
   printf("系统分配的父进程号是:%d\n",getppid());
   return 0;
}
 (2)进程的创建:
    1)exec族函数:
 头文件  #include<unistd.h> 
原型 
int execl(const chat *path,const char *args,...)
int execv(const char *path,char const *argv[])
int execle(const cahr *path,const char *arg,...,char *const e ......
    
        
    
    multiget号称为linux下的讯雷,下载速度很快,支持断点续传,且有讯雷一样的悬浮框,很是方便。但由于其于2007年停止更新和开发,而
linux的编译软件却在不断更新,gcc等编译程序对程序代码的语法和参数要求越来越严格,所以现在就造成了大多数linux会出现编译安装
multiget1.2失败的现象,上面附件是我修改后的multiget,在红旗6SP2,everest0.6上编译安装成功,使用正常,需要的同志
请下载
安装方法:
1、下载并编译wxWidgets
   (1)点击http://prdownloads.sourceforge.net/wx ... s/wxWidgets-2.8.10.tar.gz
下载最新的wxWidgets源码包,解压在/tmp下备用
   (2)进入终端执行命令#yum install compat-expat1-1.95.8-4.i386.rpm,或自行下载包前面的包安装
   (3)编译wxWidgets,./configure ; make;   make install.
   如果上面没出错的话就可以安装multiget了
2.安装multiget
   (1)下载附件,解压在/tmp备用
   (2)编译MultiGet,进入multiget文件夹,打开终端执行#./configure;make; make install.
   (3)输入代码:multiget启动程序,但可能会出现下面的错误
(4)错误信息:multiget: error while loading shared libraries:
libwx_gt ......
    
        
    
    小技巧,对于linux老鸟来说不止一提,但是对于我这种新手还有很有帮助的。
1. 命令行的别名:
    sudo gedit ~/.bashrc
在打开的文件中使用:alias  简写命令=“要替换的命令”
如:alias l=“ls -l”
       alias install=“sudo apt-get install”
等等。
2. linux的文件操作命令
创建文件夹:mkdir  文件夹路径/文件名   (未指定路径则在当前目录创建文件夹)
删除文件:rm  文件名/目录名            (删除目录必须使用-r选项)
移动文件及修改文件名称:mv   源文件名   目的文件名      (如果路径相同则可以修改名家名)
复制文件:cp  源文件  目的文件        (复制,同时可以修改文件名)
显示文件内容:cat和more
都是一些很简单的文件操作命令,列举的也是简单的用法。各个命令具体的选项在使用过程中会熟悉起来的。其他一些关于文件属性的命令,等以后需要使用的时候再小结一下。
其实这些 ......
    
        
    
    Linux操作系统定时调度系统Cron介绍
      cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下cron的具体使用及简单介绍。
新增调度任务
      推荐使用crontab -e命令添加自定义的任务(编辑的是/var/spool/cron下对应用户的cron文件),退出后重启crond进程,虽然官方文档描述为“crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。”,但我曾经遇到不重启无法运行任务的情况(也许因为某些系统crontab是读到内存中的,修改完/etc/crontab后并没有马上执行),可以使用如下方式重新启动cron服务或重新加载cron配置
/etc/rc.d/init.d/crond   restart
service cron reload 
      同样,我们也可以直接修改/etc/crontab文件来新建任务,/etc/crontab文件内容默认如下:
  SHELL=/bin/bash  
  PATH=/sbin:/bin:/usr/sbin:/usr/bin  
  MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号  
  HOME=/ //使用者运行的路径,这里是根目录  
  # run-parts  
   ......
    
        
    
    我先抛砖引玉:       
      
  1.     开发性:     SQLSERVER不能,ORACLE能装在UNIX上       
  2.     分区表:     SQLSERVER不能,ORACLE能根据INDEX的值的范围,把数据存放到       
  不同的硬盘空间.       
  3.     AUTONOMOUS_TRANSACTION;SQLSERVER不能,ORACLE能在主TRANSACTION中独立       
  COMMIT或ROLLBACK子TRANSACTION而不影响主TRANSACTION.       
      
        请继续,高分伺候       
  ---------------------------------------------------------------       
      
  4.Oracle可以利用回滚表空间查询以前(如1小时 ......
    
        
    
    我先抛砖引玉:       
      
  1.     开发性:     SQLSERVER不能,ORACLE能装在UNIX上       
  2.     分区表:     SQLSERVER不能,ORACLE能根据INDEX的值的范围,把数据存放到       
  不同的硬盘空间.       
  3.     AUTONOMOUS_TRANSACTION;SQLSERVER不能,ORACLE能在主TRANSACTION中独立       
  COMMIT或ROLLBACK子TRANSACTION而不影响主TRANSACTION.       
      
        请继续,高分伺候       
  ---------------------------------------------------------------       
      
  4.Oracle可以利用回滚表空间查询以前(如1小时 ......