2005年07月24日

mysql_affected_rows: 得到 MySQL 最后操作影响的列数目。
mysql_close: 关闭 MySQL 服务器连接。
mysql_connect: 打开 MySQL 服务器连接。
mysql_create_db: 建立一个 MySQL 新数据库。
mysql_data_seek: 移动内部返回指针。
mysql_db_query: 送查询字符串 (query) 到 MySQL 数据库。
mysql_drop_db: 移除数据库。
mysql_errno: 返回错误信息代码。
mysql_error: 返回错误信息。
mysql_fetch_array: 返回数组资料。
mysql_fetch_field: 取得字段信息。
mysql_fetch_lengths: 返回单列各栏资料最大长度。
mysql_fetch_object: 返回类资料。
mysql_fetch_row: 返回单列的各字段。
mysql_field_name: 返回指定字段的名称。
mysql_field_seek: 配置指针到返回值的某字段。
mysql_field_table: 获得目前字段的资料表 (table) 名称。
mysql_field_type: 获得目前字段的类型。
mysql_field_flags: 获得目前字段的标志。
mysql_field_len: 获得目前字段的长度。
mysql_free_result: 释放返回占用内存。
mysql_insert_id: 返回最后一次使用 INSERT 指令的 ID。
mysql_list_fields: 列出指定资料表的字段 (field)。
mysql_list_dbs: 列出 MySQL 服务器可用的数据库 (database)。
mysql_list_tables: 列出指定数据库的资料表 (table)。
mysql_num_fields: 取得返回字段的数目。
mysql_num_rows: 取得返回列的数目。
mysql_pconnect: 打开 MySQL 服务器持续连接。
mysql_query: 送出一个 query 字符串。
mysql_result: 取得查询 (query) 的结果。
mysql_select_db: 选择一个数据库。
mysql_tablename: 取得资料表名称。

mysql_affected_rows
得到 MySQL 最后操作影响的列数目。
语法: int mysql_affected_rows(int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可得到 MySQL 最后查询操作 INSERT、UPDATE 或 DELETE 所影响的列 (row) 数目。若最后的查询 (query) 是使用 DELETE 而且没有使用 WHERE 命令,则会删除全部资料,本函数将返回 0。若最后使用的是 SELECT,则用本函数不会得到预期的数目,因为要改变 MySQL 数据库本函数才有效,欲得到 SELECT 返回的数目需使用 mysql_num_rows() 函数。

mysql_close
关闭 MySQL 服务器连接。
语法: int mysql_close(int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数关闭与 MySQL 数据库服务器的连接。若无指定参数 link_identifier 则会关闭最后的一笔连接。用 mysql_pconnect() 连接则无法使用本函数关闭。实际上本函数不是一定需要的,当 PHP 整页程序结束后,将会自动关闭与数据库的非永久性 (non-persistent) 连接。成功返回 true、失败返回 false 值。
参考: mysql_connect() mysql_pconnect()

mysql_connect
打开 MySQL 服务器连接。
语法: int mysql_connect(string [hostname] [:port], string [username], string [password]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数建立与 MySQL 服务器的连接。其中所有的参数都可省略。当使用本函数却不加任何参数时,参数 hostname 的默认值为 localhost、参数 username 的默认值为 PHP 执行行程的拥有者、参数 password 则为空字符串 (即没有密码)。而参数 hostname 后面可以加冒号与埠号,代表使用那个埠与 MySQL 连接。当然在使用数据库时,早点使用 mysql_close() 将连接关掉可以节省资源。
使用范例
这是一位未具名网友提供的范例 (18-Feb-1999)
$dbh = mysql_connect(‘localhost:3306′,’mcclain’,’standard’);
mysql_select_db(‘admreqs’);
$query = "insert into requests(date, request, email, priority,status) values (NOW(),’$description’, ‘$email’, ‘$priority’, ‘NEW’)";
$res = mysql_query($query, $dbh);
$query = "select max(id) from requests";
$res = mysql_query($query, $dbh);
$err = mysql_error();
if($err){
echo "发生错误,请通知站长";
}
$row = mysql_fetch_row($res);
echo "未来您使用的号码为: ".$row[0];
?>
参考: mysql_close() mysql_pconnect()

mysql_create_db
建立一个 MySQL 新数据库。
语法: int mysql_create_db(string database name, int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来建立新的数据库 (database)。在建立前,必须先与服务器连接。
参考: mysql_drop_db()

mysql_data_seek
移动内部返回指针。
语法: int mysql_data_seek(int result_identifier, int row_number);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可移动内部返回的列指针到指定的 row_number 去。之后若使用 mysql_fetch_row() 可以返回新列的值。成功返回 true、失败则返回 false。

mysql_db_query
送查询字符串 (query) 到 MySQL 数据库。
语法: int mysql_db_query(string database, string query, int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数用来送出查询字符串 (query) 到后端的 MySQL 数据库中。而可省略的参数 link_identifier 若不存在,程序会自动寻找其它 mysql_connect() 连接后的连接代码。发生错误时会返回 false,其它没错误时则返回它的返回代码。
参考: mysql_connect()

mysql_drop_db
移除数据库。
语法: int mysql_drop_db(string database_name, int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数移除已存在的数据库。成功返回 true、失败则返回 false。
参考: mysql_create_db()

mysql_errno
返回错误信息代码。
语法: int mysql_errno(int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到 MySQL 数据库服务器的错误代码。通常用在 PHP 网页程序开发阶段,作为 PHP 与 MySQL 的除错用。
使用范例
mysql_connect("marliesle");
echo mysql_errno().": ".mysql_error()."
";
mysql_select_db("nonexistentdb");
echo mysql_errno().": ".mysql_error()."
";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."
";
?>
参考: mysql_error()

mysql_error
返回错误信息。
语法: string mysql_error(int [link_identifier]);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以得到 MySQL 数据库服务器的错误信息。通常用在 PHP 网页程序开发阶段,与 mysql_errno() 一起作为PHP 与 MySQL 的除错用。
参考: mysql_errno()

mysql_fetch_array
返回数组资料。
语法: array mysql_fetch_array(int result, int [result_typ]);
返回值: 数组
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 拆到数组变量中。若 result 没有资料,则返回 false 值。而本函数可以说是 mysql_fetch_row() 的加强函数,除可以将返回列及数字索引放入数组之外,还可以将文字索引放入数组中。若是好几个返回字段都是相同的文字名称,则最后一个置入的字段有效,解决方法是使用数字索引或者为这些同名的字段 (column) 取别名 (alias)。治募注意的是使用本函数的处理速度其实不会比 mysql_fetch_row() 函数慢,要用哪个函数还是看使用的需求决定。参数 result_typ 是一个常量值,有以下几种常量 MYSQL_ASSOC、MYSQL_NUM 与 MYSQL_BOTH。
使用范例
mysql_connect($host,$user,$password);
$result = mysql_db_query("database","select * from table");
while($row = mysql_fetch_array($result)) {
echo $row["user_id"];
echo $row["fullname"];
}
mysql_free_result($result);
?>

mysql_fetch_field
取得字段信息。
语法: object mysql_fetch_field(int result, int [field_offset]);
返回值: 类
函数种类: 数据库功能
内容说明: 本函数返回的类资料为 result 的字段 (Column) 信息。返回类的属性如下:
name – 字段名称
table – 字段所在表格的资料表名称
max_length – 字段的最大长度
not_null – 若为 1 表示本字段不能是空的 (null)
primary_key – 若为 1 表示本字段是主要键 (primary key)
unique_key – 若为 1 表示本字段为不可重覆键 (unique key)
multiple_key – 若为 1 表示本字段为可重覆键 (non-unique key)
numeric – 若为 1 表示本字段为数字类型 (numeric)
blob – 若为 1 表示本字段为位类型 (BLOB)
type – 字段类型
unsigned – 若为 1 表示本字段为无记号 (unsigned)
zerofill – 若为 1 表示本字段为被零填满 (zero-filled)
参考: mysql_field_seek()

mysql_fetch_lengths
返回单列各栏资料最大长度。
语法: array mysql_fetch_lengths(int result);
返回值: 数组
函数种类: 数据库功能
内容说明: 本函数将 mysql_fetch_row() 处理过的最后一列资料的各字段资料最大长度放在数组变量之中。若执行失败则返回 false 值。返回数组的第一笔资料索引值是 0。
参考: mysql_fetch_row()

mysql_fetch_object
返回类资料。
语法: object mysql_fetch_object(int result, int [result_typ]);
返回值: 类
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 拆到类变量中。使用方法和 mysql_fetch_array() 几乎相同,不同的地方在于本函数返回资料是类而不是数组。若 result 没有资料,则返回 false 值。另外治募注意的地方是,取回的类资料的索引只能是文字而不能用数字,这是因为类的特性。类资料的特性中所有的属性 (property) 名称都不能是数字,因此只好乖乖使用文字字符串当索引了。参数 result_typ是一个常量值,有以下几种常量 MYSQL_ASSOC、MYSQL_NUM 与 MYSQL_BOTH。关于速度方面,本函数的处理速度几乎和 mysql_fetch_row() 及 mysql_fetch_array() 二函数差不多,要用哪个函数还是看使用的需求决定。
使用范例
下面的例子示范如使用返回的类。
mysql_connect($host,$user,$password);
$result = mysql_db_query("MyDatabase","select * from test");
while($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>
参考: mysql_fetch_array() mysql_fetch_row()

mysql_fetch_row
返回单列的各字段。
语法: array mysql_fetch_row(int result);
返回值: 数组
函数种类: 数据库功能
内容说明: 本函数用来将查询结果 result 之单列拆到数组变量中。数组的索引是数字索引,第一个的索引值是 0。若 result 没有资料,则返回 false 值。
参考: mysql_fetch_array() mysql_fetch_object() mysql_data_seek() mysql_fetch_lengths() mysql_result()

mysql_field_name
返回指定字段的名称。
语法: string mysql_field_name(int result, int field_index);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数用来取得指定字段的名称。
使用范例
mysql_field_name($result,2);

mysql_field_seek
配置指针到返回治募某字段。
语法: int mysql_field_seek(int result, int field_offset);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数配置目前的指针到返回治募特定字段中。
参考: mysql_fetch_field()

mysql_field_table
获得目前字段的资料表 (table) 名称。
语法: string mysql_field_table(int result, int field_offset);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以得到目前所在字段的资料表名。

mysql_field_type
获得目前字段的类型。
语法: string mysql_field_type(int result, int field_offset);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以得到目前所在字段的类型格式。返回的字符串为字段的类型,包括了 int、real、string、blob….等等,详见 MySQL 的相关文件中有关于类型的部份。
使用范例
mysql_connect("localhost:3306");
mysql_select_db("wisconsin");
$result = mysql_query("SELECT * FROM onek");
$fields = mysql_num_fields($result);
$rows = mysql_num_rows($result);
$i = 0;
$table = mysql_field_table($result, $i);
echo "资料表 ‘".$table."’ 有 ".$fields." 栏及 ".$rows." 列。
";
echo "本资料表的字段如下
";
while ($i < $fields) {
$type = mysql_field_type ($result, $i);
$name = mysql_field_name ($result, $i);
$len = mysql_field_len ($result, $i);
$flags = mysql_field_flags ($result, $i);
echo $type." ".$name." ".$len." ".$flags."
";
$i++;
}
mysql_close();
?>

mysql_field_flags
获得目前字段的标志。
语法: string mysql_field_flags(int result, int field_offset);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可以得到目前所在字段的标志。若一个字段有数种属性标志,则返回的标志为这些属性连起来的字符串,每个属性都用空格隔开,可以使用 explode() 切开这些字符串。返回的标志可能是:not_null、primary_key、unique_key、multiple_key、blob、unsigned、zerofill、binary、enum、auto_increment、timestamp。

mysql_field_len
获得目前字段的长度。
语法: int mysql_field_len(int result, int field_offset);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到目前所在字段的长度。

mysql_free_result
释放返回占用内存。
语法: boolean mysql_free_result(int result);
返回值: 布尔值
函数种类: 数据库功能
内容说明: 本函数可以释放目前 MySQL 数据库 query 返回所占用的内存。一般只有在非常担心在内存的使用上可能会不足的情形下才会用本函数。PHP 程序会在结束时自动释放。

mysql_insert_id
返回最后一次使用 INSERT 指令的 ID。
语法: int mysql_insert_id(int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到最后一次使用 INSERT 到 MySQL 数据库的执行 ID。sleibowitz@btcwcu.org (13-May-1999) 指出在 PHP 3.0.7 版用 REPLACE 也和使用 INSERT 一样,可以使用本函数获得 ID。

mysql_list_fields
列出指定资料表的字段 (field)。
语法: int mysql_list_fields(string database_name, string table_name, int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到指定的资料表的所有字段。返回的字段信息可以供 mysql_field_flags()、mysql_field_len()、mysql_field_name() 及 mysql_field_type() 等函数使用。若有错误则返回 -1。

mysql_list_dbs
列出 MySQL 服务器可用的数据库 (database)。
语法: int mysql_list_dbs(int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到 MySQL 服务器的可用数据库。

mysql_list_tables
列出指定数据库的资料表 (table)。
语法: int mysql_list_tables(string database, int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到指定数据库中的所有资料表名称。

mysql_num_fields
取得返回字段的数目。
语法: int mysql_num_fields(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到返回字段的数目。
参考: mysql_db_query() mysql_query() mysql_fetch_field() mysql_num_rows()

mysql_num_rows
取得返回列的数目。
语法: int mysql_num_rows(int result);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数可以得到返回列的数目。
参考: mysql_db_query() mysql_query() mysql_fetch_row()

mysql_pconnect
打开 MySQL 服务器持续连接。
语法: int mysql_pconnect(string [hostname] [:port], string [username], string [password]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数和 mysql_connect() 雷同。不同的地方在于使用本函数打开数据库时,程序会先寻找是否曾经执行过本函数,若执行过则返回先前执行的 ID。另一个不同的地方是本函数无法使用 mysql_close() 关闭数据库。

mysql_query
送出一个 query 字符串。
语法: int mysql_query(string query, int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数送出 query 字符串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,返回的可能是 true 或者 false;查询的字符串是 SELECT 则返回新的 ID 值。joey@samaritan.com (09-Feb-1999) 指出,当返回 false 时,并不是执行成功但无返回值,而是查询的字符串有错误。
参考: mysql_db_query() mysql_select_db() mysql_connect()

mysql_result
取得查询 (query) 的结果。
语法: int mysql_result(int result, int row, mixed field);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数取得一格 query 的结果。参数 field 可以是字段名称、顺序或者是 FieldName.TableName 的格式。在返回资料量少时,可以使用本函数来处理。当数据库大时,本函数的效率就有待考量了,这时可以使用较有效率的 mysql_fetch_row()、mysql_fetch_array() 及 mysql_fetch_object() 等函数。

mysql_select_db
选择一个数据库。
语法: int mysql_select_db(string database_name, int [link_identifier]);
返回值: 整数
函数种类: 数据库功能
内容说明: 本函数选择 MySQL 服务器中的数据库以供之后的资料查询作业 (query) 处理。成功返回 true,失败则返回 false。
参考: mysql_connect() mysql_pconnect() mysql_query()

mysql_tablename
取得资料表名称。
语法: string mysql_tablename(int result, int i);
返回值: 字符串
函数种类: 数据库功能
内容说明: 本函数可取得资料表名称字符串,一般配合 mysql_list_tables() 函数使用,取得该函返回的数字的名称字符串。
使用范例
mysql_connect ("localhost:3306");
$result = mysql_list_tables ("wisconsin");
$i = 0;
while ($i < mysql_num_rows ($result)) {
$tb_names[$i] = mysql_tablename ($result, $i);
echo $tb_names[$i] . "
";
$i++;
}
?>

import java.sql.*;
import java.util.*;
import java.io.*;

public class JDBCCLASS{
 private String url="";
 private String username="";
 private String password="";
 Connection con=null;
 Statement stat=null;
 String sql="select * from dbname";

 public Connection conn(){
   try{
   Class.forName("oracle.jdbc.driver.OracleDriver");
   Class.forName("com.mysql.jdbc.Driver");
   con=DriverManager.getConnection(url,username,password);
   }catch(Exception e){
     e.printStackTrace();
   }
   return con;
 }
 public void getStat(){
   try{
    stat=con.createStatement();
   }catch(Exception e){
     e.printStackTrace();
   }
 }
 public void view(){
  try{
   ResultSet rs=stat.executeQuery(sql);
   ResultSetMetaData rmeta=rs.getMetaData();
   int ccnt=rmeta.getColumnCount();
   while(rs.next()){
      for(int i=0;i<ccnt+1;i++){
       String Stemp=rs.getString(i+1);
       System.out.println(Stemp+"      ");
      }
      System.out.println("");
     }
  }catch(Exception e){
    e.printStackTrace();
  }
 }
 
 public void close(){
  try{
   con.close();
  }catch(Exception e){
   e.printStackTrace();
  }
 }
 public static void main(String dd[]){
   JDBCCLASS jd=new JDBCCLASS();
   jd.url=dd[0];
   jd.username=dd[1];
   jd.password=dd[2];
   jd.conn();
   jd.getStat();
   jd.view();
   jd.close();
 }
}

import java.sql.*;
import java.util.*;

public class JDBCONE{
 public static void main(String cc[]){
  if(cc.length!=3){
    System.out.println("Please input:java JDBCONE url id ps");
    return;
  }
  Connection con=null;
  try{
  Class.forName("oracle.jdbc.driver.OracleDriver");
  Class.forName("com.mysql.jdbc.Driver");
  con=DriverManager.getConnection(cc[0],cc[1],cc[2]);
  Statement stat=con.createStatement();
  ResultSet rs=stat.executeQuery("select * from rakeone");
  while(rs.next()){
    System.out.println( "id = " + rs.getString("id") );
    System.out.println( "name = " + rs.getString("name") );
  }
  }catch(Exception e){
    e.printStackTrace();
  }finally{
  if(con!=null)try{con.close();}catch(Exception e){e.printStackTrace();}
  }
 }
}

JDBC 知识点整理

Creating a Basic JDBC Application

建立一个jdbc本身是非常简单总共需要6个步骤;
(当然需要两个包.一个是java.sql.*;一个是java.util.*;)

第一,先把驱动加进内存.因为运行的代码都在驱动中,所以要先加进到内存才能使用;
第二,establishing a connection to the database;它会通过这个连接得到一个连接对象
 从而得到statement;
第三,便是通过第二步获得了statement;
第四,通过statement发送sql请求;
第五,通过sql请求得到处理结果集Resultset对象;
第六,close connection;

加载的驱动:
Oracle使用的是:oracle.jdbc.driver.OracleDriver
MySQL使用的是:com.mysql.jdbc.Driver
加载驱动的函数:
Class.forName("oracle.jdbc.driver.OracleDriver")
这是其中一种加载方法当然还有其他的.

下面介绍url:
 Oracle的url写法:
  jdbc:oracle:thin:@ip:1521:dbname
  注意两个地方.
  第一个是thin的后面有个冒号不要忘记.
  第二个是ip地址后面跟的端口号1521不要改变这个是ORACLE的默认端口.
 MySQL的url写法:
  jdbc:MySQL://ip:3306:/dbname
  需要注意的是冒号的使用不要忘记冒号,还有注意后面是一条"/"不是两条.
  端口号3306是MySQL的默认端口号.不要改.

最后说一下编写jdbc需要注意的地方.
 第一个就是要类名与文件名一致..(这个其实鬼都知道了..);
 第二个一定要先把驱动包加到环境变量中;
 第三个凡是有关数据库的操作都有异常的产生所以都要try catch;
 第四个注意区分大小写.
 在写代码的时候一定要严谨.
 当用外来的参数的时候一定要判断是否为null;
 最后的最后就是一定要关闭connection;

2005年06月11日

################## 
# GRUB的优点 # 
################## 
GRUB 是引导装入器(boot loader) — 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。 
GRUB 是一个很棒的boot loader。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 — GRUB 还有一个彩色引导菜单。 

更令人惊讶的是,这是一个自由软件!!! 

################## 
# GRUB菜单 # 
################## 
先来看一个例子,这是位于/boot/grub/目录下的menu.lst文件。 
此文件将在开机是产生一个菜单,包含有Debian linux,Windows2000,RedHat linux和 Mandrake linux,共四个选择项。我一共分了8个区,一个fat16(0×6),一个ntfs(0×7),三个ext2fs分区(0×83),一个swap分区(0×82)。ntfs用来装win2000,三个ext2fs装了三个linux,c盘fat16分区没有装任何东西。 
#例子由此开始 

###################### 
# # 
# 一个GRUB configure 的例子 # 
# # 
###################### 

timeout 10 
default 2 


# –> Debian linux <–

title Debian linux
root (hd0,2)
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro
initrd /boot/initrd-2.2.18.gz


# –> Debian END <–

# –> Windows 菜单选项 <–

title Windows2000
root (hd0,0)
chainloader +1

# –> Winddows 结束 <–

# –> RedHat linux 菜单选项 <–

title RedHat linux
root (hd0,8)
chainloader +1 # 在硬盘主引导分区装了lilo,所以也用了chainloader。

# –> RedHat linux 结束 <–

# –> Mandrake linux 菜单选项 <–

title Mandrake linux
root (hd0,5)
kernel /boot/vmlinuz-2.4.3-20mdk root=/dev/hda6 ro
initrd /boot/initrd-2.4.3-20mdk.img

# –> Mandrake linux 结束 <–


#例子到此结束

以符号井"#"开头的行表示被注释掉,没有任何意义。

timeout表示默认等待的时间,这儿是10秒钟。超过10秒,用户还没有作出选择的话,系统将自动选择默认的操作系统。

默认的操作系统就是由default控制的。default后加一个数字n,表明是第n+1个。需要注意的是,GRUB中,计数是从0开始的,第一个硬盘是hd0,第一个软驱是fd0,等等。所以,default 2 表示默认的操作系统在这儿是 Redhat linux。

接下来,正如你所想象的,title表示的是“Debian linux”菜单项。root (hd0,2)表示第一个硬盘,第三个分区。这儿的root 于linux的root分区及其不同,此root非彼root也!

在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区。

到目前为止,您可能会感到一点疑惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。

知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。
kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro说明/boot/vmlinuz-2.2.18 就是要载入的内核。后面的都是传递给内核的参数。root=/dev/hda3就是linux的硬盘分区表示法,ro是以readonly的意思。
initrd用来初始的linux image,并设置相应的参数。

是不是感觉很简单啊!再来看一看windows的定义段吧。
这里,我添加了一项来引导 Windows2000。要完成此操作,GRUB 使用了“链式装入器”(chainloader)。链式装入器从分区 (hd0,0) 的引导记录中装入 win2000 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 — 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。

我的RedHat linux在硬盘主引导分区装了lilo,所以也用了chainloader。

GRUB的配置文件要简单就这么简单,如果你要更个性化一点,试一试把“color light-gray/blue ”加在default语句的下面,下一次启动GRUB时,看看有什么变化,再试一试“color light-blue/red",惊喜吗? 有趣吧!

一、韩国拌饭
原料:
蔬菜肉类:
山蕨菜—-用开水烫软(也许要煮)
韭菜—–切成段 豆芽—–原状 放入开水中烫至稍微有变化
辣白菜(就是球状的生菜,特点是嫩而脆)—切丝或细条
肉—–切成丝或长条
生鸡蛋—–一只
调料:韩国辣酱
   大酱(没有可以用味噌酱)
糖 芝麻 鸡精汁
制作过程:
1。肉丝,三勺味噌酱,半勺韩国辣酱,半勺鸡精汁或者だし汁,放在一起炒熟,成为酱肉丝。
2。油少许烧热,量以能够在锅底铺开为准,打入生鸡蛋煎。鸡蛋紧贴着锅底的 下层表面形成之后,立即盖上锅盖,关上火,这样可以用国内的余热, 将鸡蛋表面闷熟,而内里仍然是汤汤的,拌饭最适!
3 将蕨菜伴上芝麻
4 碗底铺一层辣白菜,薄薄的就够了。盛好米饭,高度离碗边一厘米左右,留下空间铺菜
5米饭上面也盖一层薄薄的辣白菜,然后照花瓣的图形,将韭菜,豆芽,蕨菜, 酱肉丝,辣白菜扑在上面,中间的花心,就是一勺韩国辣酱。
6在中心放好韩国辣酱之后盖上鸡蛋。放入两勺鸡精汁。
7 搅拌均匀,吃吧!!!!

备注:其实正宗的是石锅拌饭,但是我们一般人都没有石锅,而且有一些材料, 也是属于不容易买到的。这里只挑选容易买到的材料,和简单易行的

二、南瓜拌饭


南瓜含维生素A、维生素B1、维生素B2、维生素C、胡萝卜素及蛋白质,有驱除蛔虫、绦虫之功效。本品适合6-9个月以上婴儿食用。

原料:
南瓜1片,米50克,白菜叶1片,食盐、食油和高汤各适量。

制作:
1、南瓜去皮后,取一小片切成碎粒。
2、白米洗净,加汤泡后,放在电饭煲内,待水沸后,加入南瓜粒、白菜叶煮至米、瓜糜烂,略加油、盐调味即成。

特点:
熟烂略有咸味,适合食用。

这拌饭不仅适合婴儿,也适合一切喜欢吃南瓜的人们

三、雪里蕻肉松拌饭

材料:

   盒装嫩豆腐2块

   肉松4大匙

   雪里蕻50克

   米饭1碗

   葱末1-2大匙



调味料:

   香油1/4小匙

   盐1/4小匙



作法:

       1、  嫩豆腐以冷水冲洗一下;葱洗净、切末;雪里蕻洗净,放入热油锅中略炒一下。

       2、  嫩豆腐沥干水分放入盘中,铺上雪里蕻、肉松、葱末,淋上拌匀的香油及盐即可配饭食用。

都是好吃下饭的东西,材料也不算难得,大家试试吧。




四、全州拌饭

原料:米饭、蕨菜、南瓜、青椒、蘑菇、牛肉、菠菜、黄豆芽、鸡蛋

调料:香油、辣椒酱
做法:
1、 将南瓜洗净切成片,青椒洗净切成丝,菠菜洗净用开水焯一下,蕨菜洗净,牛肉切成丝,鸡蛋弃清留黄;
2、 坐锅点火放油,油热放入南瓜炒熟倒入器皿中;
3、 锅内留余油,油热倒入青椒、蘑菇翻炒几下出锅倒入器皿中;
4、 将山野菜、菠菜、南瓜、蘑菇、豆芽、蕨菜、牛肉丝、鸡蛋、辣椒酱、香油拌匀即食
特点:辣香爽口是色味华丽的乡土饮食



五、土豆拌饭

原料:

土豆(300克)、大米(50克)、牛肉(或猪肉)(10克)、绿豆芽(5克)、水芹菜(或菠菜)(5克)、蕨菜(5克)、桔梗(5克)、蘑菇(5克)、葱(2克)、蒜(2克)、酱油(3克)、豆油(3克)、芝麻盐(1克)、胡椒面(0.1克)、鸡蛋(1克)

制作过程:

1、土豆剥皮洗净后,将小的放着,大的切成一半放入水中。将葱和蒜切成末。

2、将大米洗净后放入水中泡。

3、在酱油中放入葱末和蒜、芝麻盐、胡椒面,做成调料酱。

4、牛肉切成丝用调料酱腌。将绿豆芽烫一下放入调料酱里拌,水芹菜烫一下切成4—5厘米长,用调料酱拌。蕨菜和桔梗煮完以后,用水泡出涩味。蕨菜切成4—5厘米,桔梗撕成蕨菜大小。蘑菇洗净撕成细丝,紫菜用火烤一下弄碎。

5、等锅热了以后放入豆油,将准备好的牛肉、蕨菜、桔梗、蘑菇按顺序放进去炒。

6、锅中放入准备好的土豆,再倒入水煮一会儿。然后放入大米用旺火煮。饭煮熟以后焖一会儿,最后拌匀放入碗中。将炒好的牛肉和蕨菜、蘑菇、拌好的绿豆芽、桔梗、水芹菜等按颜色摆好,最后放上鸡蛋和弄碎的紫菜。 *与酱汤和萝卜片泡菜、辣酱一起端出。



六、黑胡椒猪里脊肉拌饭(在一个网友的博客看到的,很有意思)

材料:猪里脊肉(或者换成猪排都可以),
小半包沙拉素菜,国外超市一般都有可以直接
打开食用的沙拉素菜,鸡蛋一个,米饭半碗
细的黑胡椒少许。
做法:
1]、将里脊肉(或猪排)有刀背敲松,然后切小方块。
加入生粉,一小勺酒,盐少许。拌均匀。起油锅,
慢慢炸至7分熟。将多余的油倒出,放入两勺子酱油
小半碗水,直至收干。放一旁备用。

2、将素菜切小,不用很整齐,随便切一下就可以,
在锅子里放少许油,油8成热的时候,放入切好的素菜。
翻炒几下,倒入准备好的米饭,加入半碗水。炒均匀。
稍稍收干,加入小办勺子黑胡椒,少许盐和味精。起锅。

3、把弄好的猪里脊肉和素菜拌好的米饭一起装到碗里即可。

黑胡椒猪里脊肉拌饭真的好好吃,而且做法简单。



七、鱿鱼拌饭

作法:
1、超市中买两头鲜鱿鱼,收拾干净切块。然后下锅炒至出水。记得一定要先把鱿鱼炒一下,因为鱿鱼会出水,如果跟菜一起炒的话会影响味道。
2、将炒好的鱿鱼盛盘,锅中炒出的水倒出,放油。
3、青椒、胡萝卜切丝,滚水中焯一焯。蒜切末。
4、将蒜末放入油锅中炒香放青椒、胡萝卜丝、鱿鱼稍炒,再加入白糖、酱油(少量,只为了上色)、盐。翻炒。最后加入韩国辣酱一起炒熟,如果太干可以加少量水。
5、盛盘。跟米饭拌再一起,根据口味可以在米饭里再加一些韩国辣酱。
6、煎一只六成熟的鸡蛋,一起拌呀拌呀拌。就好啦!

心得和说明:
韩国辣酱北京的朋友可以在太平洋百货底下的超市里买到。
以上的菜为两人份。
要用鲜鱿鱼。水发鱿鱼不好吃的。
还有就是酱油要少放,上了色就可以了。
糖也少放,自己调的味道差不多就行了。
鱿鱼一定一定要先炒出水。

基本如下:
1、拌饭的配菜:炒肉末,炒土豆丝,炒素菜(胡萝卜,茭瓜,洋葱切丝一块炒的)拌菠菜,拌黄豆芽。
2、拌饭的调味料:辣酱
拌饭步骤:
1、一个大点的碗,碗底放一个煎倒五成熟的鸡蛋(直接把鸡蛋打倒平底锅里面,不用反面,等蛋清基本熟了,蛋黄五成熟就行)
2、米饭用电饭锅闷熟后,盛倒放了鸡蛋的碗里,饭量自己掌握。
3、在碗里根据个人口味加入,各种配菜,辣酱,搅拌均匀就大功告成了
有兴趣自己试试吧,配菜都是很平常的东西,不难作,关键是辣酱要好吃。
辣酱是那种看上去很红,但吃起来不是很辣的那种哦,别弄错

石锅拌饭是韩国人民非常喜爱的家常饭之一,各地区的韩国人会就地取材,把当地的时蔬与米饭在石锅中加热后,在“兹兹”做响中,把营养和美味拌在一起,使你在油香浓郁中保持一份坚挺的“战斗力”,最大的特点“下饭”,即使满满一大石锅的饭,也会让挑食的你吃到锅底精光。其做法更是简便易行,每个人都可根据自己的选材,会有精彩的发挥。

做法:

1.准备蒸好的白米饭,再准备与之相拌的蔬菜,它们是凉拌的嫩豆芽和青菜、炒好的蕨菜、红萝卜丝、炒好的肉末(肉的品种可根据自己喜好选择,若用海鲜会有更意想不到的效果)。

2.只煎鸡蛋的一面,使蛋黄完整而表面凝结,使其脱离蛋清而不破裂。准备两个嫩蛋黄。

3.米饭在放入石锅前,在石锅底部及边缘涂抹一层香油,其作用是不使米饭粘锅,同时添加油香味道。

4.准备一小碗佐餐的淡汤,当你觉得饭干时可拌入;准备一小碟辣椒酱,适量拌入后非常提味。

5.石锅放入米饭后,再在表面呈扇状铺上与之相拌的蔬菜、肉末与鸡蛋,加热后当香油兹兹作响时端下,此时,浓香四溢,你可以用筷子搅拌使它们混合,视觉效果五彩斑斓,在它们与石锅热接触中,增加你的味觉快感。

2005年06月05日

import java.io.*;

public class DataReaderTest{
   public static void main(String bb[]){
    DataInputStream cc=null;//创建对象
    try{//初始化对象把要阅读的对象指向cc
      cc=new DataInputStream(
          new FileInputStream("DataWriterTest.txt"));
    System.out.println(cc.readBoolean());//匹配阅读顺序
    System.out.println(cc.readChar());
    System.out.println(cc.readUTF());
    }catch(Exception b){
     b.printStackTrace();//显示异常位置
    }
    if(cc!=null)try{cc.close();}catch(Exception b){}//关闭对象
   }
}

import java.io.*;//引用 包

public class DataWriterTest{
   public static void main(String bb[]){
      DataOutputStream vv=null;//创建对象
      try{//初始化对象
       vv=new DataOutputStream(
           new FileOutputStream("DataWriterTest.txt"));
       vv.writeBoolean(true);//添加内容
       vv.writeChar(97);
       vv.writeUTF("字符用writeUTF");
      }catch(Exception c){
        c.printStackTrace();//显示所捕捉的异常位置
       }
       if(vv!=null)try{vv.close();}catch(Exception c){}//关闭文件
       }
}