2007年12月19日星期三

Fortran常见问题

  1. I/O默认的UNIT编号:2、6是默认的output(即,screen),1、5是默认的input(即,keybord)。
  2. 将浮点数赋值给整数时,直接抛弃小数部分,绝不四舍五入。a=63.49 b=63.51 n1=a+.5=63 n2=b+.5=64
  3. 函数调用时默认使用的是“传址调用”方式,和C/C++不同,这点一定要小心。
  4. include "omp_lib.h" 一定要用双引号。

2007年12月16日星期日

mac使用的一些技巧

摘自:http://xb9he.blogchina.com/xb9he/6361166.html
一、更好地使用MAC的小技巧
1、锁定屏幕
打开系统预置->帐户->点按锁按钮以进行更改->登陆选项->启用快速用户切换,之后在屏幕右上角,就会有你的登陆帐号,点击该帐号->登陆窗口,屏幕就会切换回登陆界面。
2、善用expose
打开系统预置->Dashboard与Expose,设置左上角为全部窗口,右上角为应用程序窗口,左下角为Dashboard,右下角为桌面。这样设置之后,切换窗口可以不用Command+Tab,而是直接将鼠标移到屏幕的左上角……的确很方便。
3、让终端支持中文显示与输入
打开终端(Terminal.App)
编辑个人目录下的.profile,添加

alias ls='ls -a -w -G'
LANG="zh_CN.UTF-8"
export LANG
编辑个人目录下的.inputrc(默认不存在)

set convert-meta off
set input-meta on
set output-meta on
打开终端菜单上的终端->窗口设置->仿真,去掉忽略非ASCII字符
终端->窗口设置->显示,选上宽字形,设置UTF-8为默认字符集,并将设置用作预设即可。

4、X11Forwarding
修改/private/etc/sshd_config文件中的X11Forwarding项为yes。

二、快捷键
在Finder里点击Command + K:可以方便地打开SMB连接,服务器地址填入smb://server/
Command + Option + H:隐藏其它应用程序,突出显示当前程序
Command + A:全选
Command + C:拷贝
Command + O:打开(类似鼠标双击)
Command + V:粘贴
Command + N:建立新文件夹
Command + X:拷贝并删除
Command + W:关闭窗口
Command + P:打印
Command + Option + W:关闭所有窗口
Command + S:文件存盘
Command + Q:退出软件
Command + M:建立替身
Command + Y:弹出所选磁盘
Command + Z:恢复上一步状态
Command + I:查看所选对象信息
Command + Delete:把所选对象移进垃圾桶
Command + R:显示原身

三、我安装的免费应用软件
快捷启动:Quicksilver
输入法:FunInputToy
网页浏览:Firefox,可以作为safari的替代,safari对部份网页的支持还不够完善。
FTP:cyberduck
文字处理:CotEdit,中文支持相当好,也支持语法高亮,普通应用足够了。
即时通讯:Skype,Microsoft Messenger,LumaQQ
视频播放:MovieTime,RealPlayer,MPlayer OSX,Flip4Mac
解压缩:Stufflt Expander
看图:Xee
察看电池状态:coconutBattery
地图:Google Earth
思维导图:FreeMind
局域网通讯:IPMessenger
无线网络挖掘:iStumbler
终端服务连接:Remote Desktop Connection
网络音乐:Last.fm
四、商业软件
流程图绘制:OmniGraffle Professional,MAC下面的流程图,画出来果然更漂亮
项目管理:OmniPlan,类似于微软的Project
虚拟机:Parallels Desktop
软件下载:Speed Download
思维导图:Mindjet MindManager,还是有不少人喜欢用它,虽然freemind能打开MM,但MM不能打开FREEMIND,还是装上
办公套件:Office 2004、iWork06
程序编辑:TextMate
五、Widget
系统状态:iStat Pro
字典:WikiPedia
日历:ChinaCalendar

mac下终端和vi中的彩色显示

摘自:http://nksmiles.nkstar.cn/archives/22
1、终端设置:
(1)修改/etc/bashrc文件,使ls默认有彩色显示:
$ sudo vi /etc/bashrc
添加一行:
alias ls=’ls -G’
下次开启终端ls就是彩色显示了。

2、vi设置:
首先,进入vi:
$ vi
:e $VIMRUNTIME/vimrc_example.vim
:saveas ~/.vimrc
:e $VIMRUNTIME/gvimrc_example.vim
:saveas ~/.gvimrc
退出来,重进vi,应该已经可以高亮显示了。

2007年12月15日星期六

Debian常用包命令

摘自:linuxidc.com

dpkg – Debian 包安装工具

apt-get – APT 的命令行前端

aptitude – APT 的高级的字符和命令行前端

synaptic – 图形界面的 APT 前端

dselect – 使用菜单界面的包管理工具

tasksel – Task 安装工具

dpkg-reconfigure - 重新配置已安装的软件包(如果它是使用 debconf 进行配置的)

dpkg-source - 管理源码包

dpkg-buildpackage - 自动生成包文件

apt-cache - 在本地缓冲区检查包文件

apt-get check # 更新缓冲区并检查损坏的软件包

apt-cache search pattern # 按文本描述搜索软件包,看有哪些包可供选择

apt-cache policy package # 软件包的 priority/dists 信息

apt-cache show -a package # 显示所有 dists 中软件包描述信息

apt-cache showsrc package # 显示相应源码包的信息

apt-cache showpkg package # 软件包调试信息

dpkg --audit|-C # 搜索未完成安装的软件包

dpkg {-s|--status} package ... # 已安装软件包描述

dpkg -l package ... # 已安装软件包的状态(每个占一行)

dpkg -L package ... # 列出软件包安装的文件的名称

2007年12月2日星期日

SCP program

The SCP program is a client implementing the SCP protocol, i.e. it is a program to perform secure copying.

The most widely used SCP client is the command line scp program, that is provided in most SSH implementations. The scp program is the secure analog of the rcp command. The scp program must be part of all SSH servers that want to provide SCP service, as scp functions as SCP server too.

Some SSH implementations provide the scp2 program, which uses the SFTP protocol instead of SCP, but provides the very same command line interface as scp. scp is then typically a symbolic link to scp2.

Typically, a syntax of scp program is like the syntax of cp:

scp   SourceFile   user@host:directory/TargetFile
scp user@host:folder/SourceFile TargetFile

As the SCP protocol implements file transfers only, GUI SCP clients are rare, as implementing it requires additional functionality (directory listing at least). For example, WinSCP defaults to the SFTP protocol. Even when operating in SCP mode, clients like WinSCP are typically not pure SCP clients, as they must use other means to implement the additional functionality (like the ls command). This in turn brings platform-dependency problems. Thus it may not be possible to work with a particular SCP server using a GUI SCP client, even if you are able to work with the same server using a traditional command line client.

More comprehensive tools for managing files over SSH are SFTP clients.

2007年11月20日星期二

Linux下设置/删除环境变量

  • bash

设置:export OMP_NUM_THREADS=8

查看单个变量:echo $OMP_NUM_THREADS
查看全部变量:export

删除:unset OMP_NUM_THREADS

  • csh

设置:setenv OMP_NUM_THREADS "8"

删除:unsetenv OMP_NUM_THREADS

  • windows

设置:set OMP_NUM_THREADS=8

查看单个变量:set OMP_NUM_THREADS
查看全部变量:set

2007年10月31日星期三

Linux中RPM 命令参数使用详解

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是 Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就 给大家介绍一下它的具体使用方法。

  1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:

  rpm -qpi Linux-1.4-6.i368.rpm

  系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

  2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:

  rpm -qpl Linux-1.4-6.i368.rpm

   3.选择安装方式后,开始安装。我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命 令,可以在 -ivh后加一参数“-replacepkgs”:

  rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm

  4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:

  #rpm -e Linux-1.4-6.i368.rpm -nodeps


  5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁

   6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的 站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:

  rpm -i ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm

   7.在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏 文件的功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

  8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:

  rpm -qf <文件名>

  9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:

  rpm -参数 <文件名>

2007年10月29日星期一

vi操作

摘自:http://www.ntsky.com/tech/linux/setup/2007-05-10/5b5f3276a99d8481.html

Vi分为三种模式:1、一般模式2、编辑模式3、命令行模式。也就是说你如果仅对文件进行操作不输入新内容的话一般模式就够了,如果你要输入新内容,就要进入编辑模式,至于命令模式故名思意,就是对文档存档,退出等。

使用"i"、"I"、“a"、"A"、"o"、"O"、"r"、"R"等键盘命令使vi从命令模式转换到编辑模式,使用Esc键使vi从编辑模式转换到命令模式

下面是一些常用的VI命令,

(1) 进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次编辑

(2) 移动光标
vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母
h、j、k、l,分别控制光标左、下、上、右移一格。

按Ctrl+B:屏幕往后移动一页。[常用]
按Ctrl+F:屏幕往前移动一页。[常用]
按Ctrl+U:屏幕往后移动半页。
按Ctrl+D:屏幕往前移动半页。

按 0 (数字零):移动文章的开头。[常用]
按 G:移动到文章的最后。[常用]
按 w:光标跳到下个word的开头。[常用]
按 e:光标跳到下个word的字尾。
按 b:光标回到上个word的开头。
按 $:移到光标所在行的行尾。[常用]
按 ^:移到该行第一个非空白的字符。
按 0:移到该行的开头位置。[常用]
按 #:移到该行的第#个位置,例:51、121。[常用]

(3) 删除文字
x:每按一次删除光标所在位置的后面一个字符。[超常用]
#x:例如,6x 表删除光标所在位置的后面6个字符。[常用]
X:大字的X,每按一次删除光标所在位置的前面一个字符。
#X:例如,20X 表删除光标所在位置的前面20个字符。
dd:删除光标所在行。[超常用]
#dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]

(4) 复制
yw:将光标所在处到字尾的字符复制到缓冲区中。(想在和#x、#X的功能相反)
p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。
yy:复制光标所在行。[超常用]
p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)
#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]
p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)
“ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer
“ap:将放在buffer a的数据粘贴。
“b3yy:将三行数据存入buffer b。
“b3p:将存在buffer b的资料粘贴

(5) 取代
r: 取代光标所在处的字符:[常用]
R:取代字符直到按Esc为止。

(6) 复原(undo)上一个指令
u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用]
.: .可以重复执行上一次的指令。

(7) 更改
cw:更改光标所在处的字到字尾$处。
c#w:例如,c3w代表更改3个字。

(8) 跳至指定行
Ctrl+G:列出光标所在行的行号。
#G:例如,15G,表示移动光标至文章的第15行行首。[常用]

命令行指令简介
读者您要使用命令行指令之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”三键的其中一键进入Last line mode。

1.列出行号
set nu: 输入“set nu”后,会在文章的每一行前面列出行号。

2.跳到文章的某一行
#:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了,如:15[Enter]就会跳到文章的第15行。[常用]

3.寻找字符串
/关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。

4.取代字符串
1, $s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,c则是表示要替代之前必须再次确认是否取代。
1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。

5.存文件
w:在命令行提示符号“:”前按w即可将文件存起来。[超常用]
#,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,将您正在编辑文章的第30~50行存成nice这个文件。

6.离开
q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”
qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件。

Linux后台运行命令

摘自:http://bbs.stcore.com/viewthread.php?tid=12167

本次主要讲述后台运行命令(crontab,at,&,nohup)及(*,?,[])等

• 设置c r o n t a b文件,并用它来提交作业。
• 使用a t命令来提交作业。
• 在后台提交作业。
• 使用n o h u p命令提交作业。
名词解释:
cron:系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。
at命令:使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时间段或高峰负荷时间段运行。
&:使用它在后台运行一个占用时间不长的进程。
nohup:用它在后台运行一个命令,即使在用户退出时也不受影响

1.cron and crontab

c r o n是系统主要的调度进程,可以在无需人工干预的情况下运行作业。c r o n t a b命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个c r o n t a b文件来保存调度信息。可以使用它运行任意一个s h e l l脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的c r o n t a b文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过c r o n . d e n y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。

crontab的域

为了能够在特定的时间运行作业,需要了解c r o n t a b文件每个条目中各个域的意义和格式。

下面就是这些域:
代码:

第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令


下面是c r o n t a b的格式:
代码:

分< >时< >日< >月< >星期< >要运行的命令


其中< >表示空格。

c r o n t a b文件的一个条目是从左边读起的,第一列是分,最后一列是要运行的命令,它位于星期的后面。

可以用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作业,那么可以在星期域使用1 - 5来表示。
还可以在这些域中使用逗号“,”,例如你希望星期一和星期四运行某个作业,只需要使用1 , 4来表示。
可以用星号*来表示连续的时间段。如果你对某个表示时间的域没有特别的限定,也应该在该域填入*。该文件的每一个条目必须含有5个时间域,而且每个域之间要用空格分隔。
该文件中所有的注释行要在行首用#来表示。



c r o n t a b文件例子:
代码:

30 21* * * /apps/bin/cleanup.sh

上面的例子表示每晚的2 1 : 3 0运行/ a p p s / b i n目录下的c l e a n u p . s h。

代码:

45 4 1,10,22 * * /apps/bin/backup.sh

上面的例子表示每月1、1 0、2 2日的4 : 4 5运行/ a p p s / b i n目录下的b a c k u p . s h。

代码:

10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;

上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。

代码:

0,30 18-23 * * * /apps/bin/dbcheck.sh

上面的例子表示在每天1 8 : 0 0至2 3 : 0 0之间每隔3 0分钟运行/ a p p s / b i n目录下的d b c h e c k . s h。

代码:

0 23 * * 6 /apps/bin/qtrend.sh

上面的例子表示每星期六的11 : 0 0 p m运行/ a p p s / b i n目录下的q t r e n d . s h。

你可能已经注意到上面的例子中,每个命令都给出了绝对路径。当使用c r o n t a b运行s h e l l脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n提交了这些作业,就要向c r o n提供所需的全部环境。不要假定c r o n知道所需要的特殊环境,它其实并不知道。所以你要保证在s h e l l脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。
如果c r o n不能运行相应的脚本,用户将会收到一个邮件说明其中的原因。

c r o n t a b命令的一般形式为:
代码:

crontab [-u user] -e -l -r


其中:
-u 用户名。
-e 编辑c r o n t a b文件。
-l 列出c r o n t a b文件中的内容。
-r 删除c r o n t a b文件。


如果使用自己的名字登录,就不用使用- u选项,因为在执行c r o n t a b命令时,该命令能够知道当前的用户。


创建一个新的crontab文件

在向c r o n进程提交一个c r o n t a b文件之前,要先设置环境变量E D I TO R.c r o n进程根据它来确定使用哪个编辑器编辑c r o n t a b文件。大部份的U N I X和L I N U X用户都使用v i,如果你也是这样,那么你就编辑$ H O M E目录下的. p r o f i l e文件,在其中加入这样一行:
代码:

EDITOR=vi; export EDITOR

然后保存并退出。

创建一个名为<> c r o n的文件,其中<>是用户名,例如, samcron。在该文件中加入如下的内容。
代码:

#(put your own initials here) echo the date to the console every
#15 minutes between 6pm and 6am
0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console


保存并退出。确信前面5个域用空格分隔。
在上面的例子中,系统将每隔1 5分钟向控制台输出一次当前时间。如果系统崩溃或挂起,从最后所显示的时间就可以一眼看出系统是什么时间停止工作的。在有些系统中,用t t y 1来表示控制台,可以根据实际情况对上面的例子进行相应的修改。
为了提交你刚刚创建的c r o n t a b文件,可以把这个新创建的文件作为c r o n命令的参数:
代码:

$su sam
crontab samcron


为了方便演示,切换到sam用户环境下,然后用crontab samcron提交给c r o n进程,它将每隔1 5分钟运行一次。

同时,新创建文件的一个副本已经被放在/ v a r / s p o o l / c r o n目录中,文件名就是用户名(即sam)。

代码:

#su
# cat /var/spool/cron/sam
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (samcron installed on Wed Nov 10 21:41:55 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
#(put your own initials here) echo the date to the console every
#15 minutes between 6pm and 6am
0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console


回到root下,查看/var/spool/cron/sam

列出crontab文件

为了列出c r o n t a b文件,可以用:
代码:

$ crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (samcron installed on Wed Nov 10 21:41:55 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
#(put your own initials here) echo the date to the console every
#15 minutes between 6pm and 6am
0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console


你将会看到和上面类似的内容。可以使用这种方法在$ H O M E目录中对c r o n t a b文件做一备份:
代码:

$ crontab -l > $HOME/mycron

这样,一旦不小心误删了c r o n t a b文件,可以用上一节所讲述的方法迅速恢复。


编辑crontab文件

如果希望添加、删除或编辑c r o n t a b文件中的条目,而E D I TO R环境变量又设置为v i,那么就可以用v i来编辑c r o n t a b文件,相应的命令为:
代码:

$ crontab -e


可以像使用v i编辑其他任何文件那样修改c r o n t a b文件并退出。如果修改了某些条目或添加了新的条目,那么在保存该文件时, c r o n会对其进行必要的完整性检查。如果其中的某个域出现了超出允许范围的值,它会提示你。
例如,加入下面的一条:
代码:

#DT:delete core files,at 3:30am on 1,7,14,21,26 days of each month
30 3 1,7,14,21,26 * * /bin/find -name "core" -exec rm {} \;


现在保存并退出。最好在c r o n t a b文件的每一个条目之上加入一条注释,这样就可以知道它的功能、运行时间,更为重要的是,知道这是哪位用户的作业。
现在让我们使用前面讲过的crontab -l命令列出它的全部信息:
代码:

#(put your own initials here) echo the date to the console every
#15 minutes between 6pm and 6am
0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console

#DT:delete core files,at 3:30am on 1,7,14,21,26 days of each month
30 3 1,7,14,21,26 * * /bin/find -name "core" -exec rm {} \;



删除crontab文件

为了删除c r o n t a b文件,可以用:
代码:

$ crontab -r


恢复丢失的crontab文件
如果不小心误删了c r o n t a b文件,假设你在自己的$ H O M E目录下还有一个备份,那么可以将其拷贝到/ v a r / s p o o l / c r o n / <>,其中<>是用户名。如果由于权限问题无法完成拷贝,可以用:
代码:

$ crontab


其中,<>是你在$ H O M E目录中副本的文件名。
建议在自己的$ H O M E目录中保存一个该文件的副本。编辑副本,然后重新提交新的文件。
有些c r o n t a b的变体有些怪异,所以在使用c r o n t a b命令时要格外小心。如果遗漏了任何选项,c r o n t a b可能会打开一个空文件,或者看起来像是个空文件。这时敲d e l e t e键退出,不要按<>,否则你将丢失c r o n t a b文件。


2.at

a t命令允许用户向c r o n守护进程提交作业,使其在稍后的时间运行。一旦一个作业被提交, a t命令将会保留所有当前的环境变量,包括路径,不象c r o n t a b,只提供缺省的环境。该作业的所有输出都将以电子邮件的形式发送给用户,除非你对其输出进行了重定向,绝大多数情况下是重定向到某个文件中。
和c r o n t a b一样,根用户可以通过/ e t c目录下的a t . a l l o w和a t . d e n y文件来控制哪些用户可以使用a t命令,哪些用户不行。不过一般来说,对a t命令的使用不如对c r o n t a b的使用限制那么严格。


a t命令的基本形式为:
代码:

at [-f script] [-m -l -r] [time] [date]


其中,
-f:script 是所要提交的脚本或命令。

-l:列出当前所有等待运行的作业。a t q命令具有相同的作用。
-r:清除作业。为了清除某个作业,还要提供相应的作业标识( I D);有些U N I X变体只接受a t r m作为清除命令。
-m:作业完成后给用户发邮件。

time:at命令的时间格式非常灵活;可以是H、H H . H H M M、H H : M M或H : M,其中H和M分别是小时和分钟。还可以使用a . m .或p . m .。
date:日期格式可以是月份数或日期数,而且a t命令还能够识别诸如t o d a y、t o m o r r o w这样的词。

使用at命令提交命令或脚本

使用a t命令提交作业有几种不同的形式,可以通过命令行方式,也可以使用a t命令提示符。一般来说在提交若干行的系统命令时,使用a t命令提示符方式,在提交s h e l l脚本时,使用命令行方式。

提示符方式:
代码:

以在a t命令后面跟上日期/时间并回车。然后就进入了a t命令提示符,这时只需逐条输入相应的命令,然后按‘ <>’退出。


命令行方式:
代码:

at [-f script] [-m -l -r] [time] [date]



例一:提示符方式
代码:

# su sam
$ at 10:40
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> find /etc -name "passwd" -print
at>
job 1 at 2004-11-02 10:40


其中, <>就是<>。在10:40系统将执行一个简单的f i n d命令。提交的作业被分配了一个唯一标识job 1。该命令在完成以后会将全部结果以邮件的形式发送给我。

下面这些日期/时间格式都是a t命令可以接受的:
代码:

at 5.00am May23
at 11.20pm
at now +2 hour
at 9am tomorrow
at 15:00 May24
at now + 10 minutes


例二:命令行方式
如果希望向a t命令提交一个s h e l l脚本,使用其命令行方式即可。在提交脚本时使用- f选项。
如:
代码:

$ touch db_table.sh
$ at 3:00pm tomorrow -f db_table.sh
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
job 3 at 2004-11-02 15:00


在上面的例子中,一个叫做d b _ t a b l e . s h的脚本将在2004-11-02 15:00运行。

还可以使用e c h o命令向a t命令提交作业:
代码:

$ echo find /etc -name "passwd" -print | at now +1 minute
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
job 4 at 2004-11-01 19:07



列出所提交的作业
一个作业被提交后,可以使用at -l命令来列出所有的作业:
代码:

$ at -l
1 2004-11-02 10:40 a sam
3 2004-11-02 15:00 a sam
4 2004-11-01 19:07 a sam


其中,第一行是作业标识,后面是作业运行的日期/时间。最后一列a代表a t。
还可以使用a t q命令来完成同样的功能,它是a t命令的一个链接。
直接>atq,相当于>at -l

当提交一个作业后,它就被拷贝到/ v a r / s p o o l / a t目录中,准备在要求的时间运行。
代码:

# pwd
/var/spool/at
# ls -l


清除一个作业

清除作业的命令格式为:
代码:

atrm [job no] 或at -r [job no]

要清除某个作业,首先要执行at -l命令,以获取相应的作业标识,然后对该作业标识使用at -r 命令,清除该作业。
代码:

$ at -l
1 2004-11-02 10:40 a sam
3 2004-11-02 15:00 a sam
4 2004-11-01 19:07 a sam
$at -r 3
$at -l
1 2004-11-02 10:40 a sam
4 2004-11-01 19:07 a sam



有些系统使用at-r [job no]命令清除作业。


3.&

当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。使用fg命令可以将程序重新带回前台。

该命令的一般形式为:
代码:
命令&



在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。
不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:
代码:

command >out.file 2>&1 &


在上面的例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。
当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。

例一:

查找名为“httpd.conf”的文件,并把所有标准输出和错误输出重定向到f i n d . d t的文件中:
代码:

# find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &
[2] 7832
[1] Done find /etc/ -name "httpd.conf" -print >find.dt 2>&1 &

成功提交该命令之后,系统给出了它的进程号7832。
代码:

# cat find.dt
/etc/httpd/conf/httpd.conf
[2]+ Done find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &

查看find.dt,可以看到执行结果


例二:
在后台执行脚本,如:有一个叫psl的脚本
代码:

$ps psl &
[7878]

用ps命令查看进程
用提交命令时所得到的进程号来监控它的运行。用p s命令和g r e p命令列出这个进程:
代码:

# ps -x |grep 7832
7868 pts/0 S 0:00 grep 7832


如果系统不支持ps x命令,可以用:
代码:

# ps -ef |grep 7832
root 7866 7790 0 23:40 pts/0 00:00:00 grep 7832

在用p s命令列出进程时,它无法确定该进程是运行在前台还是后台。


杀死后台进程

杀死后台进程可以使用k i l l命令。当一个进程被放到后台运行时, s h e l l会给出一个进程号,我们可以根据这个进程号,用k i l l命令杀死该进程。该命令的基本形式为:
代码:

kill -signal [process_number]


现在暂且不要考虑其中的各种不同信号。
在杀进程的时候,执行下面的命令(你的进程号可能会不同)并按回车键。系统将会给出相应的信息告诉用户进程已经被杀死。
代码:

$kill 7832


如果系统没有给出任何信息,告诉你进程已经被杀死,那么不妨等一会儿,也许系统正在杀该进程,如果还没有回应,就再执行另外一个k i l l命令,这次带上一个信号选项:
代码:

$kill - 9 7868

如果用上述方法提交了一个后台进程,那么在退出时该进程将会被终止。为了使后台进程能够在退出后继续运行,可以使用n o h u p命令。

4.nohug

如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用n o h u p命令。该命令可以在你退出帐户之后继续运行相应的进程。n o h u p就是不挂起的意思( no hang up)。
该命令的一般形式为:
代码:

nohup command &


使用nohup命令提交作业
如果使用n o h u p命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为n o h u p . o u t的文件中,除非另外指定了输出文件:
代码:

nohup command > myout.file 2>&1

在上面的例子中,输出被重定向到m y o u t . f i l e文件中。

让我们来看一个例子,验证一下在退出帐户后相应的作业是否能够继续运行。我们先提交一个名为p s 1的日志清除进程:
代码:

$nobup ps1 &

现在退出该s h e l l,再重新登录,然后执行下面的命令:
代码:

$ps x |grep ps1


我们看到,该脚本还在运行。如果系统不支持ps x命令,使用ps -ef|grep ps1命令。

5.一次提交几个作业

如果希望一次提交几个命令,最好能够把它们写入到一个s h e l l脚本文件中,并用n o h u p命令来执行它。
例如,下面的所有命令都用管道符号连接在一起;我们可以把这些命令存入一个文件,并使该文件可执行。
代码:

cat /home/accounts/qrt_0499 | /apps/bin/trials.awk | sort | lp
$cat > quarterend
cat /home/accounts/qtr_0499 | /apps/bin/trials.awk | sort | lp



现在让它可执行:
代码:

$ chmod 744 quarterend


我们还将该脚本的所有输出都重定向到一个名为q t r. o u t的文件中。
代码:

nobup ./quarterend > qtr.out 2>


后台运行作业的:
有时我们必须要对大文件进行大量更改,或执行一些复杂的查找,这些工作最好能够在系统负荷较低时执行。
创建一个定时清理日志文件或完成其他特殊工作的脚本,这样只要提交一次,就可以每天晚上运行,而且无需你干预,只要看看相应的脚本日志就可以了。c r o n和其他工具可以使系统管理任务变得更轻松。


6.*,?,[...],[!...]等


• 匹配文件名中的任何字符串。
• 匹配文件名中的单个字符。
• 匹配文件名中的字母或数字字符。


下面就是这些特殊字符:

* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
[!...] 匹配[ ]中非感叹号!之后的字符。


当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名。

a、*:使用星号*可以匹配文件名中的任何字符串。就不用多说了,和win下差不多
b、?:使用可以匹配文件名中的任何单个字符。和win差不多
c、[]:使用[ . . . ]可以用来匹配方括号[ ]中的任何字符。可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。

1)列出以i或o开头的文件名:
代码:

#ls [io]*


2)列出log.开头、后面跟随一个数字、然后可以是任意字符串的文件名:
代码:

#ls log.[0-9]*


3)与例二相反,列出log.开头、后面不跟随一个数字、然后可以是任意字符串的文件名
代码:

#ls log.[!0-9]*


4)列出所有以LPS开头、中间可以是任何两个字符,最后以1结尾的文件名:
代码:

#ls LPS??1


5)列出所有以大写字母开头的文件名:
代码:

$ ls [A-Z]*


6)列出所有以小写字母开头的文件名:
代码:

$ ls [a-z]*


7)为了列出所有以数字开头的文件名:
代码:

$ ls [0-9]*


8)列出所有以. 开头的文件名(隐含文件,例如. p r o f i l e、. r h o s t s、. h i s t o r y等):
代码:

$ ls .*


例子:
(n为jobs查看到的进程编号)
1. command & 让进程在后台运行
2. jobs 查看后台运行的进程
3. fg %n 让后台运行的进程n到前台来
4. bg %n 让进程n到后台去
5. kill -9 %n 强制结束进程

nohup rm -rf /var/ > /mnt/disk2/rm.txt 2>&1 &
在后台运行程序,执行后会返回pid,可以使用kill pid来强制结束。(2>&1表示所有的标准输出和错误输出都将被重定向到一个文件中)

2007年10月27日星期六

汽车日常点检

一、运行时出现的异常

对上次运行时感觉不正常的地方进行检查。

二、驾驶室中的点检

1>刹车的行程
2>发动机怠速和加速时的声音
3>雨刷器的动作

三、发动机室的点检

1>刹车液
2>雨刷喷射液
3>电池液
4>冷却水
5>机油
6>皮带轮

四、车身四周的点检

1>各种灯火
2>轮胎气压及磨损

自家用车一般应该每12个月进行一次定期点检。

汽车电池没电了-对火啊(jump start)

汽车电池如果偶然发生没电的现象,打不着火的话,可以用专用连接线,借其他车辆来对火。

连接线有两条:红色的用来连接正极,黑色的用来连接负极。

连接顺序:
1>红色线的一端连接故障车的正极。
2>红色线的另一端连接救援车的正极。
3>黑色线的一端连接救援车的负极。
4>黑色线的另一端连接故障车上的引擎挂钩。
5>救援车启动。
6>故障车启动。
7>故障车保持怠速,救援车熄火。
8>拆掉故障车引擎挂钩上的黑色连接线。
9>拆掉救援车负极上的黑色连接线。
10>拆掉救援车正极上的红色连接线。
11>拆掉故障车正极上的红色连接线。
12>故障车引擎保持常速,运转一段时间,给电池持续充电。


技巧与注意事项:
*连接线其实颜色反过来用也可以,不过高级的电池上拴头也有颜色区分,可以避免误操作。

*连接方法和连接顺序如果搞错的话,有可能造成电子器件损伤,所以请千万小心操作。

*引擎挂钩,这个东西日语叫エンジンブロック(中文不知怎么称呼才够贴切),是指的发动机引擎旁边凸起来的一个钩状物,实际的用途不知道是什么,但是在对火的时候,因为电池会释放出氢气,而连接到第四步时(故障车的负极),在夹子碰触到金属的时候有可能产生火花,我就亲眼看到过,有发生电池爆炸的隐患,因此通常建议不要连接到故障车的负极,而是这个钩状物上。其实我想也许连接到车体的任意一块金属上应该都可以吧?

*第六步故障车启动的时候,如果打不着火,可以试着让救援车踩一点油门,这样输出的电流大了有助于故障车的启动,救援车的电池比故障车电池小的时候效果尤为明显。

*接线顺序和拆线顺序是逆序。

*一般网上都建议,故障车打着之后,保持中速,开出去转20分钟给电池充电。其实照此推断,我认为不用开出去,挂空档,原地保持引擎2000转的转速,效果应该和开出去是一样的吧?

*如果电池被深度放电,我认为最好不要马上开出去,而是应该尽量关掉汽车的用电设备,然后空档发动起中速运转一会,等电池充了一些电之后,再开上路才比较安全。

*连接线接反的时候,即正负极交叉连接时,一般都说不好,可能会造成电子器件损伤,不过我正好遇到过一次,确实挺危险,没一会连接线就发烫了,而且电池拴头高温,贴在上面的橡胶都开始融化了,并冒出黑烟。索性及时发现,更改连接方法后,仍旧成功启动。

2007年10月20日星期六

Linux的目录结构


掌握Linux的目录结构

在Linux里边,我们没有盘符这个概念,我们用目录的形式进行管理。把每一个分区和某一个目录对应,以后对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一。这个把分区和目录对应的过程叫做挂载-mount。这种对应关系可以由用户随时中断和改变。

既然目录是用来方便文件管理的工具,那么Linux下面不同的目录到底保存了哪一类的文件呢?


目录名称 意义
/bin 该目录中存放Linux的常用命令,在有的版本中是一些和根目录下相同的目录。
/boot 该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux时,会用到这里的一些信息
/dev 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。例如在系统中键入“cd
/cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下,
/etc 该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。
/sbin 该目录用来存放系统管理员的系统管理程序。
/home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。
/lib 该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库
/lost+found 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在这里。
/mnt 该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下。
/proc 可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的
/root 如果你是以超级用户的身份登录的,这个就是超级用户的主目录
/tmp 用来存放不同程序执行时产生的临时文件
/usr 用户的很多应用程序和文件都存放在该目录下

2007年10月16日星期二

OpenMP in gfortran

转自:http://karminghenry.sinaman.com/gfortran.html

(A) Definition of OpenMP

OpenMP stands for Open Multi Processing and is a standard Application Programming Interface (API) for distributing program tasks across threads of a shared memory computer.

The OpenMP supports multi-platform shared memory multiprocessing architecture using programming languages like C/C++ and Fortran, including Linux/Unix and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and run-time environment variables.

The OpenMP standards are jointly defined by a group of major computer hardware and software vendors so as to give shared-memory parallel programmers a simple and flexible interface for developing parallel applications.

The advantages of using OpenMP are simple, incremental parallelism and unified code for both serial and parallel applications.

The disadvantages of using OpenMP are currently only running efficiently in shared-memory multiprocessor platforms, requiring a compiler that supports OpenMP, and low parallel efficiency.

The performance expectation of OpenMP is that one may expect to get N times less wall clock execution time (or N times speedup) when running a program parallelized using OpenMP on a N processor platform.

As a reminder, OpenMP can often be used to improve performance on symmetric multi-processor (SMP) machines by simply adding a few compiler directives to the program code.

______________________________________________________________________

(B) History of gfortran with OpenMP

1. Objective

gfortran attempts to be OpenMP Application Program Interface v2.5 compatible when invoked with the -fopenmp option. gfortran then generates parallellized code according to the OpenMP directives used in the source. The OpenMP Fortran runtime library routines are provided both in a form of Fortran 90 module named omp_lib and in a form of a Fortran include file named omp_lib.h.

The GOMP project was GCC's OpenMP implementation project. The code was merged into mainline to become part of GCC 4.2.

The GOMP release will include a support library, libgomp, and extensions to target language parsers. The initial focus is on implementing the basic syntax of GOMP in the C, C++, and Fortran 95 frontends, to be followed by specific implementations for different platforms. A long-term goal is the generation of efficient and small code for OpenMP applications.

2. History

March 9, 2006 Richard Henderson, Jakub Jelinek and Diego Novillo of Red Hat Inc, and Dmitry Kurochkin have contributed an implementation of the OpenMP v2.5 parallel programming interface for C, C++ and Fortran.

February 14, 2006 Jakub Jelinek committed the front end support for OpenMP.

November 21, 2006 Jakub Jelinek updated libgfortran to a thread safe library in preparation for OpenMP.

November 18, 2005 The branch is ready to be merged into mainline. All three front ends are functional and there should not be many corners of the standard left to implement. There are 5 main modules to merge into mainline: (1) runtime library, (2) code generation, (3) C front end, (4) C++ front end, and, (5) Fortran front end.

October 20, 2005 The runtime library is functionally complete. The syntax parsers for C, C++ and Fortran are complete, though there are still dusty corners with respect to semantic translation to be resolved. Adventurous users who don't mind the compiler crashing on every other source file are encouraged to begin filing bugs.

3. Requirements of OpenMP in gfotran (v2.0)

The foremost goal is correctness; programs compiled with OpenMP must operate as expected according to programming language and OpenMP standards.

For Operation with compiler like gfortran, it is expected to follow the requirements below.

  • OpenMP directives will act as comments (F95) or unimplemented pragmas (C/C++) unless the -fopenmp option is specified on the compiler command line.
  • When -fopenmp is used, the compiler will generate parallel code based on the OpenMP directives encountered.
  • By default, GOMP will use the threading model specified by the �óenable-thread=xxx configuration option.
  • When -fopenmp=stubs is used, the compiler will generate OpenMP code that links with a minimal stub library.
  • The design will consider, but might not implement, link-time selection of a threading model, via an -fopenmp=model syntax.
  • By default, the compiler will define the option -fno-openmp.
  • If -fopenmp is not specified, the compiler will generate a serial program that operates as if the OpenMP directives were non-existent.
  • Linking to the OpenMP support library will be automatic if -fopenmp is specified.

4. Future of OpenMP in gfotran

Straight line code vectorization and Automatic parallelization are undergoing development. Please refer to the presentation "OpenMP and Vectorization in GCC" in October, 2006.

______________________________________________________________________

(C) Compiling and running sample gfortran OpenMP programs (to be verified by contributor soon)

1. Fortran sample program

The program file hello.f contains the following program statements:

     PROGRAM HELLO
USE omp_lib
IMPLICIT NONE
INTEGER nthreads, tid, OMP_GET_NUM_THREADS
INTEGER OMP_GET_THREAD_NUM
! Fork a team of threads
!$OMP PARALLEL PRIVATE(nthreads, tid)
! Obtain and print thread id
tid = OMP_GET_THREAD_NUM()
print *, 'Hello World from thread = ', tid
! Only master thread does this
IF (tid .EQ. 0) THEN
nthreads = OMP_GET_NUM_THREADS()
print *, 'Number of threads = ', nthreads
END IF
! All threads join master thread and disband
!$OMP END PARALLEL
END PROGRAM

2. Compile the gfortran OpenMP program

Type the following command:

 gfortran hello.f -o hello.exe -fopenmp

or

 gfortran hello.f -o hello.exe -fopenmp -static -lgomp -lrt

Only -fopenmp -static -lgomp -lrt should be enough for static linking, though even that ought to be unnecessary, but due to a bug the compiler inserts -lgomp -lrt for static link to early on the command line, will fix.

3. Run the gfortran OpenMP program

Type the following command:

 setenv OMP_NUM_THREADS 2
hello.exe

[Note : Sometimes you may need to use "EXPORT OMP_NUM_THREADS=2" instead. If you are using the Windows platform, please use "set" (ie. set OMP_NUM_THREADS=2) instead of "setenv".]

The expected result or output :

    Hello World from thread = 0                                      
Number of threads = 2
Hello World from thread = 1

4. Download the gfortran OpenMP under Windows platform from this web site

If you have any problems about setting up the Windows environment, please refer to GCC Wiki gfortran ______________________________________________________________________

(D) How to avoid the common mistakes in writing OpenMP programs

The common mistakes are mainly Race Conditions and Deadlocks. It is good to refer this paper titled Common Mistakes in OpenMP and How To Avoid Them -- a Collection of Best Practices if you are a novice programmer in writing OpenMP programs.

______________________________________________________________________

(E) Runtime library status with OpenMP features

The Input/Output library is not thread-safe. This will have to be fixed because OpenMP allows threaded IO.

______________________________________________________________________

Contributor : Henry Kar Ming Chan, High Performance Computing Specialist in Scientific Computation.

All comments are welcome. Please feel free to contact the contributor at karminghenry@sinaman.com

2007年10月14日星期日

汽车电池的保养与正确使用

虽然红旗CA7202E3轿车用的是少维护型蓄电池,但掌握正确的使用方法与认真维护保养也是十分必要的。

1)在汽车上拆卸或安装蓄电池的正负极线束时,应先拆下或后装上负极线,以防金属工具搭铁,造成蓄电池短路损坏。

2)蓄电池的正、负极不可接错。若(+)(-)标志模糊不清时,可用万用表或高率放电器来判断也可通过观察极桩的颜色加以区别。呈深棕色的为正极,呈灰白色的为负极。

3)检查极桩引线是否牢固。

4)定期清除极桩和线束接线头上的氧化物。

5)当电解液液面高度不够时,勿乱加自来水、井水、河水等,应加蒸馏水。

6)无论任何情况,在发电机工作时不得切断蓄电池。因为发电机在使用中必须与蓄电池并联工作,在发电机输入电流情况下,如果突然切断蓄电池,这时将产生一个很高的电压峰值,尽管时间很短,但也会导致汽车上其它用电设备的损坏。

7)长时间不用的汽车,应将蓄电池从车上拆下,移入储藏室内。

-------------------------------------

汽车电池问题讨论:

(正方)汽车电池只有在发动机高速运转的时候,电池才处于充电状态。老汽车往往会有带正负的电流表可以看到电池是否处于充电和放电状态。
汽车怠速的时候,电池处于放电状态。如果汽车经常处于怠速状态,电池就会放电比充电多,电池逐步的欠充电。长此以往,电池会出现过放电而受到损伤。
在解剖启动电池的时候,明显会发现短途车,如城市内使用的私家车,市内公交车,电池多为正极板软化和板栅腐蚀。而长途车这样的问题少,工程车这样的问题更少。这与汽车是否经常怠速有关。
我看了一些汽车省油的驾驶方法,很多都是采用小油门代替大油门,滑行代替驱动,这样就减少了电池充电的概率,导致电池连续或者经常处于欠充电状态。

(反方) 你的这个说法好像不对,冬季了天冷,怕电池那天不行了被撂在路上,所以入冬后经常用万用表测量电瓶电压。不着车时的电压(近似空载)一般是12.3-12.5V,着车后怠速电压是14.0-14.5v。这样显然只要一着车,电瓶就是处在充电状态。
也许您说的是过去比较老的车的情况。

(正方) 我同意您的结论。车的差异很大。该车怠速运行的电压很好,该车的高速运行的时候,电池电压为多少?

(反方) 怠速状态下,踩油门使发动机转速提高,电压基本没有变化(受电压调节气控制恒压),猛踩油门时会有晃动,但很快就恢复到原来的数值。电压的高低只与气温有关,零度以上是13.8V,零度一下电压会提高最高到14.5V 左右。

(正方) 这个控制很好! 如果能够看一看电流控制就更好了。
不同的车,控制器的差别很大。好车,国产化的车比较好。原来的国产车和拼装的车往往控制器不好。

(反方) 电流的情况就不知道了,没有测,要测也比较麻烦。
另外想请教一下,从空载电压是否能看出什么时候电瓶快不行了?好像空载电压和温度还有很大的关系,早上气温很低时(零下七、八度),电瓶电压有时就只有12.1v左右,发动车子到还是没有问题。

(正方) 铅酸蓄电池的空载电压与电池的容量关系没有确定关系。
铅酸蓄电池开路电压是具有温度系数的。其值为-3mV/单格~-4mV/单格。
气温越低,电池静止以后的开路电压应该高。除非您的电池还有其他负载,如报警器一类的负载在不断的消耗电池里边的能量。
对于标称值12V电池,在充满电以后,再开路静止4小时以后,电池电压应该在12.8V,如果气温低,电池电压反而应该高一些。从您测试的12.1V的开路电压看,电池不是处于放电状态就是锁车以前没有充满电。

(反方) 谢谢!车的防盗系统是一直都在用电的,但是耗电应该是很小的。可能时因为平时多是上下班短途开,又时早晚气温低,充电不足。

*结论*

高档车,电池的控制器做得比较好,因此一般在正常怠速时就可以进行充电。如果是普通车的话,可以挂空档,踩油门,提高发动机的转速来给电池进行充电。

另外,还有个疑问:“气温越低,电池静止以后的开路电压应该高。”这样说的话,冬天气温地的时候,电池的电压应该偏高,发动汽车应该不成问题才对,为什么许多车反倒不容易启动呢?难道正向文中提到的那样,因为之前电池没有得到比较好的充电,因此电压不够高?

-------------------------------------

在日本,新车车主投诉最多的问题便是蓄电池故障。日本的轿车平均每天只行驶13km,而且这13km通常都是在交通拥挤的城市里行驶。在这种工况下,发动机转速低,蓄电池并没有真正得到充电的机会。当蓄电池相当长一段时间处于低电荷时,就会产生硫化现象和故障

电 解液聚集在蓄电池底部时,即发生酸层化。在BatteryUniversity.com网站上,将这一现象类比为1杯已经加了糖,但没有搅拌的咖啡。如果 电荷量低于80%,蓄电池将趋于层化。短的行驶周期,特别是使用空调和挡风玻璃雨刮器之类的大电流附件,都会加剧这一现象。

除了为启动电机提供冷启动电流外,当能量需求超过发电机所能提供的能量时,蓄电池也充当提供电能的能量源。对于发电机系统而言,其输出都直接取决于发电机 的转速,也就是发动机的转速。怠速时,一般的发电机只输出额定输出功率的30%。这就是说,只有在发动机拥有一定转速时才能充分发挥发电机的功用,否则就 只有依靠蓄电池来提供车辆上所需的电能。由此可见,在日本那样交通堵塞严重的国家,由于发动机时常处于怠速状态,蓄电池不得不大负荷地工作,经常发生故障 也就不难理解了。因此,我们就需要知道如何监测蓄电池的工作状态。

电荷状态也是重要的测量标准,因为普通的汽车蓄电池必须维持一定的电荷量。通常4、5次完全的放电就会严重地损坏蓄电池。

-------------------------------------

密封电池要求充电的恒压值在2.4V/单格,这样,标称36V的电动车的电池最高充电电压应该在43.2V,而目前国内36V电动车的电池的恒压值基本上 都是44.4V~44.8V,这样,平均到单格电池电压为2.47~2.49V。这样,不仅仅超过了正极板析氧电压,也超过了负极板析氢电压,导致电池大 量失水。由于电池失水,硫酸比重上升,形成了硫化的条件。所以电池失效比较多。 而把电池充电电压控制在2.4V以下,电池充电时间大大增加,如果转浮充的电流大了,会产生欠充电的。

-------------------------------------

铅酸蓄电池到底是否怕大电流放电,可能会有2种意见。
认为可以的是举汽车启动电池的例子来说明。认为不可以的会举电动自行车的例子。

其实,铅酸蓄电池的大电流放电特性应该是比氢镍电池和锂电池好。铅酸蓄电池怕的是连续大电流放电和深放电。因此汽车电池要尽量防止深放电。

有关汽车的一些缩写

ABS 刹车防抱死系统

ABS是Anti-LockBrakeSystem的英文缩写,即“刹车防抱死系统”。目前除个别微型车、面包车外,大部分国产车几乎都装备有ABS,只 是装置本身的档次、差异问题。1978年博世公司研制并生产出世界上第一套ABS防抱死系统,为汽车的安全行驶又解决了一道难题。

在没有ABS时,如果紧急刹车一般会使轮胎抱死,由于抱死之后轮胎与地面是处于滑动摩擦状态。ABS装置始终使车轮与地面之间保持接近滑动又未滑动状态,它们之间的摩擦是静摩擦,所以ABS会使刹车的距离变短。

如果前轮锁死,车子失去转向能力,方向失控,很危险;如果后轮锁死,后轮将失去侧向抓地力,容易发生甩尾 ,这是非常危险的。

ABS通过控制刹车油压的收放,达到对车轮抱死的控制。其工作过程实际上是抱死—松开—抱死—松开的循环工作过程,使车辆始终处于临界抱死的间隙滚动状态。

EBS 机械式防抱死系统

它与ABS一曲同功,只不过它的点刹次数没ABS的多。

EBD 电子制动力分配

EBD的英文全称是ElectricBrakeforceDis-tribution,中文直译为“电子制动力分配”。当紧急刹车车轮抱死的情况下, EBD在ABS动作之前就已经平衡了每一个轮的有效地面抓地力,可以防止出现甩尾和侧移,并缩短汽车制动距离。EBD实际上是ABS的辅助功能,它可以改 善提高ABS的功效。所以在安全指标上,汽车的性能又多了“ABS+EBD”。目前国内车型中已有很多车型采用“ABS+EBD”。

汽车制动时,如果四只轮胎附着地面的条件不同,比如,左侧轮附着在湿滑路面,而右侧轮附着于干燥路面,四个轮子与地面的摩擦力不同,在制动时(四个轮子的 制动力相同)就容易产生打滑、倾斜和侧翻等现象。EBD的功能就是在汽车制动的瞬间,高速计算出四个轮胎由于附着不同而导致的摩擦力数值,然后调整制动装 置,使其按照设定的程序在运动中高速调整,达到制动力与摩擦力(牵引力)的匹配,以保证车辆的平稳和安全。

SRS
安全气囊系统

电控汽车蓄电池的正确使用与维护

转自:汽车电子

本文所谈及的,并非通常意义上的蓄电池使用、维护问题,而是基于电控汽车上存在多个电控单元(ECU),它们对电源供电质量的要求比一般用电设备高得多,严格得多。交流发电机输出的电能不能完全满足ECU工作的需要,而蓄电池在这里起到了独特的作用。蓄电池作为汽车电气系统最大的储能器,在发动机运转过程中吸收了电气系统内各种感性和阻性的波动电压,起着平抑电压的作用。

在电控汽车的电控系统中,存在着这样几个基本事实:一是中央控制器(CPU)大量采用二极管、三极管,这些半导体元件生性娇嫩,对感应峰值电压的耐受程度有限,不能承受高电压和大电流;二是不少控制电路设计使用5V左右的低工作电压;三是当电路突然断开时,会在绕组中产生极高的瞬间自感电动势。鉴于此,针对电控元器件对电压、静电非常敏感,同时价格昂贵,所以在电控汽车的使用、维修过程中必须格外小心,防止蓄电池的全部电压或瞬间自感电动势施加在ECU、传感器和执行器上而造成严重损坏。

一、不能随便拆卸蓄电池的电缆线

蓄电池必须与发电机、车体连接良好,一旦蓄电池突然脱开,整个电气系统无法稳压,此时若发电机的负荷突然变小,发电机将产生很高的自感电动势,在电路内形成高电压,另外点火线圈的一次侧线圈在通断电瞬间也产生高达100V以上的脉冲电压。在正常情况下,这些脉冲电压被蓄电池吸收了,但是在蓄电池突然脱开后,这些脉冲电压就对、ECU等灵敏电子元器件造成永久性破坏,即使ECU有 大容量稳压管进行保护也不能幸免。这就是在点火开关接通的状态下断开蓄电.池连接,电子元器件容易被击穿的道理。因此,只要发动机运转,就必须有蓄电池可 靠地连接在电路里,一刻也不能从电路中脱开。对电控汽车进行检修时,若要断开蓄电池,必须首先确认点火开关和其他所有的用、电设备都已经断开,然后才能拆 卸蓄电池的电缆线。另外,在断开蓄电池的负极电缆之前,不要进行任何电子元件的操作和更换。

如一辆马自达929轿车,出现起动无力的故障。维修电工为了判断发电机的发电和充电情况,让驾驶人起动发动机,然后突然拔下蓄电池的正极电缆线,不料发动机立即熄火,再也无法起动。经过检查,没有高压火,喷油器也不工作。最后发现是由于ECU的稳压管几被高压电击穿,而这种过高电压就是由于违规乱拆蓄电池正极电缆线引起的。

二、蓄电池电压一般不能全部加到电子元器件上

由于ECU向许多电路提供恒定的5V左右的低电压,因此在检测电子元器件时,一般不能用蓄电池电压直接连接,否则电子元器件可能遭受损坏,并且由此引发系统性故障。例如,在检测喷油器时,就要分清该喷油器是电压驱动型(两端子间电阻为12Ω14Ω)还是电流驱动型(两端子间电阻为2Ω3Ω)。对电压驱动型喷油器,可以直接连接蓄电池电压进行喷油性能试验;而对电流驱动型喷油器,直接用蓄电池电压进行喷油性能试验会因电流过大而被烧坏,应当使用专门的连接器与蓄电池相连接。若采用普通的导线,则需要串联一个8Ω10Ω的电阻。

三、先记录存储信息后再断开蓄电池

当发动机故障指示灯(CHECK)点亮时,不能立即将蓄电池从电路中断开,应当首先调取故障代码。切记:调取故障代码必须在拆下蓄电池负极电缆之前进行,防止ECU中存储的故障代码及有关资料信息消失。只有通过自诊断系统将故障代码及有关资料信息调出,并且查出故障原因和排除故障后,方可将蓄电池从电路中断开。

另外,轿车的音响系统、防盗系统、电子时钟、电控座椅和电控座椅安全带收紧系统等都具有记忆功能。例如高档轿车上的CD唱机一般带有密码,在拆下蓄电池后,CD唱机自动转人锁死状态,而且在重新安装蓄电池后它仍然呈现锁死状态而无法使用,只有在输人密码后才能重新启用CD唱机。因此,在拆卸蓄电池电缆之前,应该将所存储的密码做好记录,以便在维修工作结束后,重新进行设置。

简言之,在断开蓄电池电缆之前,一是必须断开点火开关,二是要调取故障代码,三是记录相关系统的密码。

四、防止蓄电池亏电

电控汽车装用了比化油器式汽车多得多的用电设备,特别是ABS工作时需要消耗较多的电能,因此应当保持蓄电池经常处于充电状态。

如果蓄电池电压过低并且勉强使用,会产生如下不良后果。

1.需要进行节气门组件与发动机ECU之间的匹配,操作比较麻烦。例如,一辆奥迪2001.8T轿车出现无怠速、加速不畅及行驶中经常熄火的故障,更换空气流量传感器和节气门控制组件仍然无效,最后进行了ECU与节气门控制组.件之间的匹配才解决问题。

2.装用怠速旋转阀的电控汽车(例如富康轿车)在闭环控制条件下,蓄电池电压过低会引起怠速偏离设定值。

3ABS不能进入工作状态。ABS要求供电电压达到9.5V16.5V,因此,对于装备了ABS的汽车,当长时间停驶后初次启用时要注意检查蓄电池的电压,若蓄电池处于半放电状态,ABS不能发挥作用。

4.音响系统会因为蓄电池电压不足而出现锁死的情况,若要再开机,必须输人设定的音响密码。例如宝马车系,如果音响系统的电源电压低于5V或拆卸了蓄电池,音响系统将不能工作。当电源电压恢复正常后,显示屏上会出现"CODE"字样,此时只有输人5位数的密码,音响系统才能被激活。

5测试自动变速器、安全气囊系统(SRS)必须在拆下蓄电池负极电缆20s后进行

检修自动变速器SRS前,必须将点火开关转到锁止位置(LOCK),并且将蓄电池负极电缆拆下20s或更长一些时间(车型不同,这一时间也不同),然后才能开始检修工作。这是因为SRS具有备用电源,若拆下蓄电池负极电缆不到规定的间隔时间就开始检修,很容易导致安全气囊误胀开而造成严重事故。

六、利用蓄电池试验电动汽油泵要注意防止火灾

利用蓄电池试验电动汽油泵时,为了防止损伤ECU,同时为了防止火灾,应当将蓄电池从车上卸下来,移到离汽车有一定距离的地方,尽量远离可燃气体和火源(电火花),然后用两根导线连接蓄电池的正、负极与电动汽油泵的正、负极接线柱进行试验。

七、断开蓄电池后发动机工作状况不如以前怎么办

蓄电池断开又装复后,如果发动机的整体工作状况不如蓄电池断开以前,先不要匆匆忙忙更换零部件,因为这种情况可能是ECU的自适应功能记忆的信息,在蓄电池断开后被消除的缘故。如果是这样,发动机运转一段时间后,电控单元经过自适应,发动机工作不良的状况会逐渐自动消失。

八、对蓄电池就车快速充电的特别注意事项

使用快速充电机、给电控汽车上的蓄电池充电时,必须在将蓄电池的电缆线从汽车上拆开后再进行,最好将蓄电池从车上拆卸下来充电。另外,不允许在不装蓄电池的情况下采用起动设备(例如快速充电机)起动发动机,防止充电机的脉冲高、压电损坏ECU

2007年10月13日星期六

读博士的经验

还挺有道理的,不过就是太长了,看着有点头大,转过来留着以后慢慢看。

转自:小木虫
博士研究

1. 先看综述,后看论著

看综述搞清概念,看论著掌握方法

2. 早动手

在师兄师姐离开之前学会关键技术

3. 多数文章看摘要,少数文章看全文

掌握了一点查全文的技巧,往往会以搞到全文为乐,以至于没有时间看文章的内容,更不屑于看摘要。真正有用的全文并不多,过分追求全文是浪费,不可走极端。当然只看摘要也是不对的。

4. 集中时间看文献

看过总会遗忘。看文献的时间越分散,浪费时间越多。集中时间看更容易联系起来,形成整体印象。

5. 做好记录和标记

复印或打印的文献,直接用笔标记或批注。pdf 或html 格式的文献,可以用编辑器标亮或改变文字颜色。这是避免时间浪费的又一重要手段。否则等于没看。

6. 准备引用的文章要亲自看过。

转引造成的以讹传讹不胜枚举。

7. 注意文章的参考价值。

刊物的影响因子、文章的被引次数能反映文章的参考价值。但要注意引用这篇文章的其它文章是如何评价这篇文章的:支持还是反对,补充还是纠错。

8. 交流是最好的老师

做实验遇到困难是家常便饭。你的第一反应是什么?反复尝试?放弃?看书?这些做法都有道理,但首先应该想到的是交流。对有身份的人,私下的请教体现你对他 的尊重;对同年资的人,公开的讨论可以使大家畅所欲言,而且出言谨慎。千万不能闭门造车。一个实验折腾半年,后来别人告诉你那是死路,岂不冤大头?

9. 最高层次的能力是表达能力

再好的工作最终都要靠别人认可。表达能力,体现为写和说的能力,是需要长期培养的素质。比如发现一个罕见病例,写好了发一篇论著;写不好只能发一个病例报 道。比如做一个课题,写好了发一篇或数篇论著;写不好只能发一个论著摘要或被枪毙。一张图,一张表,无不是表达能力的体现。寥寥几百上千字的标书,可以赢 得大笔基金;虽然关系很重要,但写得太差也不行。有人说,我不学PCR,不学spss,只要学会ppt(powerpoint)就可以了。此话有一点道 理,实验室的boss 们表面上就是靠一串串ppt 行走江湖的。经常有研究生因思维敏捷条例清楚而令人肃然起敬。也经常有研究生不理解"为什么我做了大部分工作而老板却让另一个没怎么干活的人写了文章?让 他去大会发言?"你没有看到人家有张口就来的本事吗?

10. 学好英语,不学二外。

如今不论去日本还是欧洲,学术交流早已是英语的天下。你不必为看不懂一篇法语的文章而遗憾,写那篇文章的人正在为没学好英语而犯愁。如果英文尚未精通,暂且不要去学二外。


英文文章写作

1. 阅读10 篇文献,总结100 个常用句型和常用短语。经常复习。注意,文献作者必须是以英文为母语者,文献内容要与你的专业有关。这属于平时看文献的副产品。

2. 找3-5 篇技术路线和统计方法与你的课题接近的文章,精读。

写出论文的草稿。要按照标题、作者、摘要、背景、目的、材料、方法、结果、讨论、致谢、参考文献、图例、图、表、照片和说明的统一格式来写。这样做的好处是从它可以方便地改成任何杂志的格式。

3. 针对论文的每一部分,尤其是某种具体方法、要讨论的某一具体方面,各找5-8 篇文献阅读,充实完善。 这里讨论的只涉及英文表达,也只推荐给缺乏英文写作经验的人。

4. 找到你想投的杂志的稿约,再找2-3 篇该杂志的article,按它的格式改写。注
意,每次改写都要先另存为不同的文件名,以免出了问题不能恢复。

5. 找英文高手改。找不到合适的人,就去找提供英语论文编辑服务(English corr
ection and improvement,not translation)的公司 ,在此向有钱没时间的人强烈推荐。

文献管理

1. 下载电子版文献时(caj,pdf,html),把文章题目粘贴为文件名。

注意,文件名不能有特殊符号,要把 \ / : * ? < > | 以及 换行符 删掉。 每次
按照同样的习惯设置文件名,可以防止重复下载。

2. 不同主题存入不同文件夹。文件夹的题目要简短,如:PD,LTP,PKC,NO。

3. 看过的文献归入子文件夹,最起码要把有用的和没用的分开。

4. 重要文献根据重要程度在文件名前加001,002,003 编号,然后按名称排列图标,最重要的文献就排在最前了。

5. 复印或打印的文献,用打孔器(¥10-15)打孔,装入硬质文件夹(¥10-20/个)。

我们经常会在参考文献的引用上耍一些小聪明,殊不知这些都会降低论文质量。

1. 知而不引

明明借鉴了同行的类似工作,却故意不引用同行的类似工作,使自己工作看上去"新颖""领先"。实际上审稿的可能就是同行。

2. 断章取义

故意截取作者试图否定的部分来烘托自己的观点。

3. 引而不确

没有认真看原文,引文错漏。

4. 来源不实

某些字句来源不可靠(比如非正式的或非学术的出版物),且不注明来源。常见于一些统计数字。

5. 盲目自引

不是为了说明自己的工作与前期工作之间的关系,而是单纯为提高自己文章被引用次数而自引。

国内文章水平不高的几个原因:


1. 审稿人知识陈旧

年纪大的审稿人查文献和和上网的能力相当有限,无法核实该研究是否有意义,创新点在那里,方法是否可靠,结果是否可信。但匪夷所思的是他们经常提的审稿意见是"参考文献不够新"。

2. 选错审稿人

虽然一般指定两名审稿人,但编辑部经常让不懂分子生物学的人审分子生物学的文章,让不懂统计的人审统计处理比较复杂的文章。出于爱面子,很少有人提出"我不适合审这篇文章"。

3. 关系文章

有了关系,什么都简单了。

4. 不承认阴性结果

诚实的阴性结果被认为无意义。怪不得有人大声疾呼"我要办一本阴性杂志"。

5. 造假

任何人都不愿意成为制度的牺牲品。出不来预期结果就没法交差。为生存计,为按期毕业计,造吧。

动态的科研

1. 科研靠积累。

象伦琴发现X 射线那样凭借一次简单观察就得诺贝尔奖的机会越来越少。更多的科研成果来自于实验室长期积累。最终实至名归。做科研不要指望一步登天。设计课题不要好高骛 远。基金评审也是这样。没有前期积累,获得资助的可能性小。选导师要想好:你是要白手起家,还是要为人作嫁?

2. 文献要追踪。

开题时通过查文献了解的情况,到结题的时候可能有很大不同。实验过程中要注意追踪。运气好,你可以得到更多的线索;运气不好,发现别人抢先了。据此修正你的实验。写论文之前一定要重新查一遍文献。

3. 记录要复习。

前面的实验记录要经常复习。随着经验的增加和认识的提高,你会发现最初的判断未必正确。

我曾经向一些比我有经验的人请教"什么是科研",他们没有正面回答我,只是给我打了五个比方。


1. 科研是流行歌曲

什么流行用什么,什么流行做什么。张口生物芯片,闭口纳米技术。老板是追星一族,流行的就是最好的。

2. 科研是移花接木

设计课题?课题怎么是设计出来的呢?是拼出来的。A 的材料,B 的方法,C 的指标,D 的意义。

3. 科研是傻瓜相机

原理搞不懂?恕我老朽,没时间看原理了。我能折腾,多折腾几次就出来了。为什么要做这一步?老板心里明白就行了!他每周安排的活儿我还干不完呢。

4. 科研是照葫芦画瓢

综述不会写?抄啊。论文不会写?套啊。反正不会有人追究。无知者无畏!

5. 科研是垃圾

实验完成了,论文发表了,答辩通过了。老板语重心长地说:"你们走后,这些都是垃圾"。

晕!倒!挣扎!再倒!

他们没有骗我,实用主义自有它的道理。但我从此不再随便批判国内的科研水平了,因为在某些时候我也重复着同样的故事。

写毕业论文

1. 先列提纲

不列提纲,上来就写,是坏习惯。几百字没问题,几千字勉强,几万字就难了。必须列出写作提纲,再充实完善,以保证思路的连贯和字数的均衡。

2. 平时多写

及时总结阶段性的工作,多写文章多投稿。到最后阶段,把这些文字有机地组合起来,就是一篇很好的毕业论文。

3. 不要罗列所有数据

为了保证毕业论文的分量,研究生往往会观测较多的指标。但毕业论文并非数据越多越好。一定要舍弃那些与主旨关系不大的数据。否则,要么显得累赘松散,要么成为破绽。

4. 打印修改

在电脑上直接修改,会遗漏很多错误。要尽可能地减少任何错误,一定要打印出来修改。

5. 让别人指出错误

自己修改,仍然受个人习惯的局限。错误摆在那里,却熟视无睹。让别人给你指出错误吧 ,不管他与你是不是同一专业。

怎样读文献

1. 目标:

漫无目的则毫无效率,抓不住重点才效率低下。选题之前可能会有一段时间处于迷茫状态,不知从哪入手。胡乱看了大量文献,却不知所以然。在导师的指导下,在 同行的启发下,有些人可以迅速明确目标,有的放矢,入门就从这里开始。即使导师不导,没有定题,自己也要先设定一个具体的问题看文献。不管你将来做不做这 些东西,总比没有目标好得多,保证有收获。科研的一般法则是共通的。

2. 层次:

对于一个具体的课题来说,相关文献分属于三个层次:研究方向、研究领域、研究课题。例如有人研究干细胞定向分化治疗帕金森病,对他来说,研究方向就是帕金 森病,研究领域是帕金森病的干细胞治疗,研究课题是某种物质诱导干细胞定向分化为分泌多巴胺的神经细胞。看文献时要分清手上的文献是属于那个层次,这决定 你对它要掌握到什么程度。

研究方向层次的文献:一般涉及,基础知识,学科水准,了解当前重大进展与趋势,达到专业人员水平;

研究领域层次的文献:了解焦点与热点,已/正/将进行的课题,达到专家水平;

研究课题层次的文献:要全面,了解历史、现状、展望、主要方法、手段,达到No1专家水平。

正确分辨文章的层次,才能把精力用到点子上。

3. 形式:

广义的文献包括可以阅读的所有出版形式。教科书、专著、会议摘要汇编、期刊、网页、甚至ppt文件。比如要了解免疫应答的基本形式,最好是看教科书;要参 考大鼠脑立体定位图谱,最好是看专著;要知道最新进展,最好是查阅期刊;要了解别人的研究动向,最好是参会或看会议论文汇编。不要找错信息源。

4. 程度:

对文献的熟悉程度不同,阅读文献的方式大不相同。新手学习式阅读,逐字逐句,搞清细节,掌握最基本的知识点。最初的十几、几十篇要精读,精华的几篇甚至要 背诵。老手搜索式阅读,已熟悉各种研究的常见模式和一般套路,能够迅速提取关键信息,把握思路,经常不按常规顺序阅读。有人看图说话,有人辨数识字。高手 批判式阅读,一针见血,直指问题所在。实际上没有一篇论文是无懈可击的。新手要稳,老手要准,高手要狠。新手、老手、高手的代表人物分别是研究生、导师和 审稿人,但认真钻研的研究生完全可以在3年中实现从新手到高手的嬗变。对自己有清醒的定位,才能选择正确的阅读方式。

5. 矛盾:

文献读的多了,脑子里塞满了信息。公说公有理,婆说婆有理,反而无所适从?为了解决这个问题,循证医学划分临床试验证据的等级;同理,我们看文献也要重视 实验证据的强度。发现矛盾,是第一步;找出异同,是第二步;思考解决,是第三步。从相互矛盾的结论推导中发现矛盾的根源,此时如能跳出圈外,不走思维定 势,从原始的科学问题出发,"无招胜有招",真正是到达另外一种境界了。何必翻译外国人的综述谎称自己的综述?何必重复别人做过的实验谎称自己的思路?

典型性山东男人的7大特征及山东女人的10大特点

确实比较忠实的描述了我辈风范,哇哈哈哈。。。

转自:小木虫
作者: 李培卿
你了解山东吗?了解山东人吗?看看下面就知道山东是什么样的了
  一,山东人的老乡观念特别强。山东有句话叫:老乡见老乡,两眼泪汪汪。两个本来萍水相逢的人,只要一说是老乡,就会顿时去掉戒心,无话不谈。去年11 月去广州,在回来的路上,就因为一句乡音,就跟在济南做化妆品一位美女聊了一路,回来以后又约时间请我吃过一次饭(吃饭时候我才知道她原来是济南惠春堂的 董事长)。因此,跟山东人打交道,设法扯上老乡关系,或者通过老乡引荐,往往会收到很特殊的效果;二,无论多大的官,无论多有钱,每到年底,在外的山东人 都会想办法赶回老家,就好象不回家过年,是一件天大的遗憾。这一点,胶东半岛的人尤甚;
三,山东话分济南话和胶东话2大分支。山东17个地市,每个地市都有自己的方言,由2大分支衍生。而且,每个地市的每个县,甚至每个县的不同乡镇,方言都 有明显的区别。山东话很土,土得掉渣。胶东话比济南话土。这也说明山东人忠厚 。大多数山东人很难改掉自己的方言,这种对方言的迷恋,反应出山东人浓厚的乡土情结。对很多山东人来说,讲普通话是一件很别扭同时也是非常可笑的事儿。因 此,除非是职业要求,一般山东人很难割舍自己的家乡话。
山东人的另外一个明显的特点是忠诚度比较高。山东尽管北有黄河天险,南有泰山天然屏障,又近中原之地,沃野千里,人口众多,扼守南北要冲,也是自古兵家必 争之地。但是,翻看历史可以发现,古来的帝王中没有一个是山东人。即使水泊梁山的草寇宋江,也只敢说是替天行道,日夜梦想的就是杀人放火引起朝廷重视以后 被招安。这种忠君思想根深蒂固渗透到了山东人的骨子里和血液中。学成文武艺,卖与帝王家,是一代又一代山东人不变的追求。很早以前,看过一本德国人写的论 山东人的书,他给山东人的评语就是:山东出好官。这里所谓的好,大概就是指的忠诚度比较高吧。中国政界有句话,叫山东人保边疆。大家可以看一下,新疆自治 区党委书记、宁夏自治区党委书记、内蒙古自治区党委书记、西藏自治区党委书记、陕西省委书记、黑龙江省委书记等这一圈中国边疆省份的一把手无一不是山东 人。
  
  山东人的忠君思想延伸到日常的百姓这里,就是对自己的上司忠诚。进一步推而广之就是对朋友忠诚。因此,山东人出卖朋友的人极少,一旦被发现,就会为人所不齿。
山东人还有一个特点是重名轻利。在这点上,大概跟上海人正好形成鲜明对照。对山东人来说,利益当然是不可忽视的,但面子问题才是最重要的。如果面子与利益 形成冲突,我相信,大多数山东人会忍痛舍利而求面子。在这里需要解释一下的是,这里所说的面子,并不是通常所说的那种虚荣摆阔之类的东西,而是一种以精神 上的或者说是人格方面东西为主的混合物。比如,你帮别人做了事,别人给你一定的酬谢,按理说是天经地义的。但是,绝大多数山东人会因为担心落个贪利的臭 名,而百般拒绝。再比如,朋友之间小聚,不论什么原因,山东人到最后往往会争着埋单。不是山东人不爱财,而是山东人爱面子胜过了一切。尽管吃亏以后也会痛 骂,但下次还会照旧。山东人最感到自豪的,不是自己做了多大的官,不是赚了多少钱,而是自己的人品不被人挑剔。这大概就是儒家文化熏染的结果吧。
  
  这种重名轻利的文化传统,造就了山东人的豪放不羁的性格。大家可以看一下充斥中央电视台的山东产品广告,就基本可以领略山东人这种名重于利一掷千金的 性格特征。想当年,老家山东的谭希松接手央视广告部主任以后,专程来到山东,得到山东几家企业老总的支持以后,策划了震动全国上下的残酷的标王争夺战。孔 府家、孔府宴、齐民思、秦池,均以大手笔给人留下了深刻印象,尤其是秦池这样一家山东贫困县的小酒厂,居然敢以6600万和3.2亿的天价先后两次夺标, 创造了中国广告史上的神话。我相信,6600万也好,3.2亿也好,都并非来自精确的计算,纯粹都靠的是一种感觉。这种做法,好坏姑且不论,大概也就是山 东人才肯吧。
说一说山东人与酒的关系。
  
  在很多外地人眼里,山东人都是嗜酒如命的一群。有本研究山东的人书,里面专门就有一章,叫:酒缸里泡大的山东人。所以,外地人一旦遇到山东人,第一反 映就是能喝酒喜欢喝酒。去年到海南,海南的朋友在吃饭时,看到我不大喝酒,倒是周围的来自河南河北浙江北京的朋友很能喝,就觉得难以理解。我告诉他们:山 东人不是嗜酒,而是怕别人喝不过瘾。因此,来了朋友,山东人会没命地劝别人喝酒,大有不喝烂醉誓不罢休的气概,好象所有的交情,自己对朋友所有的感情,都 凝聚在了这酒里。而在自己家里,或者是去了别人那里,都是基本不喝或尽量少喝。在山东人看来,酒不过是加强交流的气氛表达自己的感情的工具而已。这也许可 以解释为什么象山东这样一个酒类消费大省,除了青岛啤酒以外,没有多少品质很好的酒。我想,这大概就是通常所说的醉翁之意不在酒吧?因为只是个交流和沟通 的工具,所以,只要能喝的面红耳热,把朋友连同自己一起喝倒就足够了,哪儿有空去细品酒的优劣呢?我记得我从很少的时候,父亲就用筷子蘸酒让我习惯酒的味 道,到如今,酒龄也算是有30多年了,可我仍然无法区别一瓶五粮液与一瓶高粱大曲之间的本质上的区别。只要能醉人,什么不是酒啊?
再说一说山东人的保守。
  
  山东人的保守,大概全国有名。但在我看来,这种所谓的保守,其实系于两端:一是来自对规矩、制度、章法的敬意,二是不肯为了一时的利益去侥幸拿名声涉 险。我认为,这也并不完全是一件坏事。投机虽然可以取巧于一时,但后患也无穷。至于为一时的利益行险侥幸,我更觉得不值。大多数的山东人信守的是不求别 人、不与人争而与自己潜力竞争的原则,按这种原则行事,可能是是速度慢了一些,但毕竟感到塌实和安逸。去年跟一位山西的朋友闲扯,说到这个事。山西的朋友 打了个比方:广东人象一辆轿车,非常轻便,容易启动,但载重量少。山东人更象一辆大卡车,启动非常慢,也不轻巧灵便,但一旦启动,就后劲很大。作为一个山 东人,我非常乐于接受这位山西朋友的观点
说说山东的男人和女人。
  
  一提起山东人,很多人会想到人高马大、山东大汉之类的字眼。其实,这完全是误解。我身高1米78,这在山东,也基本属于比较高的个头了。所以,我认为 山东出好汉的说法,一多半来自于水浒传的“流毒”。山东男人的好处,更多地不在于外表,而是骨子里的那种豪放和仗义。在有些地方的人看来,山东男人卤莽, 做事喜欢直来直去不喜欢绕弯子,智商比较低。其实,这也正是山东男人的可贵之处。受孔孟的影响较深,山东男人都有着很强的是非观念,嫉恶如仇,并且相信别 人跟自己一样有着对是非的判断标准。所以,一旦确认自己做事符合正义,就会无所顾忌。至于山东男人重名轻利重义气轻财帛,也并非是智商较低,不知道自己吃 亏,而是他们相信好的名声不仅是人生世上的立足之本,更是财富的真正源泉。在眼前利益与长远利益的取舍上,他们宁肯舍近求远。我认为,这也许可以算得上是 一种渗透了儒家思想的“鲁派智慧”。
  
  说到山东男人,就不能不捎带说一下东北男人。了解历史的人都知道,东北人中,山东人占了很大一部分比例。尤其是在黑龙江省,山东人大概占到55%以 上。这些离开本土,跨海进入传说中的深山老林闯荡谋生的山东人,既秉承了山东人的忠厚,又把山东人骨子里的豪放不羁发挥放大到了极致。因此,通过观察东北 男人,可以更深地去了解山东男人的天性。
一直没机会去成都亲眼看一看,所以,无法把山东的女人跟四川的女人做个比较。但我一直对山东无美女的说法嗤之以鼻。小的时候,听说苏杭一带美女如云,一直 心向往之。从1985年第一次去苏州起,先后5次去苏州,却一直没有见识到想象中的江南美女。从1985年起,曾经无数次去上海,也许是无缘一饱眼福吧, 看到的能够称得上漂亮可观的女子也不多。所以,有一次就跟朋友一起研究这个问题,最后得出的结论是:上海这些年大概是近亲杂交的缘故,人种退化,所以美女 产量不断下降了。但反观山东各地,且不说青岛,烟台,威海等沿海一带城市,就是一些小小的县城,漂亮女子也随处可见。济南的巩俐、青岛的林青霞、倪萍、烟 台的范冰冰,就是她们的代表。也许是看惯了的缘故吗?
听人说,东北严寒,养男不养女;南方炎热,养女不养男。而山东地处南北分界,又是半岛,气候适宜,四季分明,所以,养男也养女。山东女人,身材大多中等, 容貌端庄,虽不娇媚但性情温婉,虽然拥有北方女人的刚强但又不失之粗放,而且性情大多贤惠,较少浪漫花哨和不切实际的念头,一旦认定某个男人,就会塌塌实 实地跟他过日子,把全部希望寄托在望夫成龙上。丈夫成龙无望,就不折不挠地再把希望寄托在望子成龙或望女成凤上。这样的女人,不是内外美兼备吗?
当然,山东人也有自己的毛病。比如,喜欢拉帮结伙;比如,喜欢吹牛;比如,惰性较大;比如,头脑有时候过于迂腐和僵化等等。但是,还是哪句话,缺点,有时候不过就是优点的不恰当延伸嘛。山东的最有名的歌曲:谁不说俺家乡好?
典型性山东男人的七大特征:
山东男人,听上去都有响当当的味道,从古到今,名声在外。身为山东男人,俺倍感骄傲和自豪。以下是俺总结的典型性山东男人的特征:
(1)山东男人吃大馒头,吃章丘大葱上大学的时候,坊间就流传着这样的说法:要找山东男人,只要站在食堂门口,那些手拿6个馒头以上的,定是山东男人无 疑。呵呵,俺觉得十分精准。为什么是6个馒头,一个说明山东大汉能吃,第二个原因嘛,食堂的馒头好袖珍,呵呵,不提也罢。
提到章丘大葱,山东人是无人不晓,据说判断章丘大葱的惟一标准是葱白高度在2米以上。前段时间,凤凰名嘴窦文涛来济南作客,客余至章丘寻根,竟也忍不住当 众大啖章丘大葱。爬过泰山的人都知道,泰山上有一道著名的风景线就是山东煎饼卷大葱,呵呵,搞的整个泰山都葱葱的,俺汗颜(好在俺并不喜欢这一口,所以在 山东男人堆里,俺是非典,呵呵)。
(2)山东男人乡音不改要说山东口音,那叫个难听,土的掉渣,不提也罢。可山东男人就爱这一口,不论外出多久,乡音终难改变。偶有改变的,也是带着抹不掉的山东棒子味,被人笑作“山普”,济南人的普通话更被笑作“济普”,呵呵。
不过,山东女人的口音变的就很快,而且标准度高。可能女人在语言方面有更高的天赋。
(3)山东男人打勾技。勾技几乎就是山东男人的专利,不管在外求学还是出外打工,有山东人的地方就有勾技。山东人外出办事,如果停留时间在一周以上,那他 做的第一件事几乎就是把勾技传授出去,如果有一天你在宾馆走廊上听到一声粗犷的“五缺一啦”,那你想都不要想,肯定是山东男人手痒啦。
(4)山东男人讲义气,打抱不平,忠心耿耿呵呵,这一点不必多说,相信看官都服气。据说中越自卫反击战的时候,中央警备连招兵的时候,抗洪抢险的时候,山东兵总是首选。威武雄壮的天安门国旗护卫队,班底就是山东人,不信你就去问问。
(5)山东男人爱的含蓄,朋友面前好面子
老派的山东男人,要让他说个爱字,那难了去了。其实不是不爱,是山东男人实在,他们的理念就是:我顾家顾孩顾老婆,玩那个虚的干啥?这是山东男人可爱也不 可爱的地方。另一个可爱也不可爱的地方是,山东男人朋友面前好面子,喜欢在朋友面前数落老婆,以显示自己的大丈夫气概,其实回到家里,哪怕让他给老婆洗脚 他都干。呵呵,明白了这一点,山东人的媳妇就知道怎么做了,就让他数落好了,场面上装的温柔似水的样子,等回到家里来,呵呵呵,河东狮吼吧,随便您怎么折 腾都成,那时候的男人,那叫一个乖。
(6)山东男人孝顺至极
孝顺是山东男人的优秀品质,即使口粮只剩下了一口,为了老人,山东男人决不吃半口。山东男人喜欢过年的时候带媳妇回老家,这正是孝顺的表现,不过这可能会 引起那些在城市里长大的媳妇的不满,很多山东夫妻的吵架即缘起这里。所以,做山东男人的媳妇之前,一定要做好过年去看婆婆的准备,否则还是免谈。
(7)山东男人喝酒一流,劝酒超一流
山东男人的劝酒水平全国闻名,那真是巧立名目,花样繁多。很多人都说山东人能喝,其实不是能喝,是能劝。山东人实在,来了客人如果不往死里劝,就觉得招待 不周,劝来劝去,客人趴下了,自己也多了,但山东男人绝对能够撑得下场来,只等客人一走,他们马上飞奔入厕,那叫一个吐啊,苦水都出来了。问下一次还喝 吗?喝!为什么不喝!呵呵,所谓舍命陪君子,只有山东男人够资格说这话。
山东男人特不习惯出差,尤其是到南方。跟南方人吃饭,别扭啊,满桌的佳肴,就是没人劝酒,想喝又找不到由头,饭吃的真是郁闷!
典型的占山东面积人口大半的故齐地女孩身材高大,线条突出,皮肤细腻;而故鲁地的女孩,相对矮小干瘦一些,山东女孩总倾向于质地优良而款式颜色朴素的衣着打扮。
一般人总觉得山东人土、拙、倔、硬。我看并不一定是那样,山东女性更不是那样,我现实中的山东女孩,谈吐都非常文雅,处事比较有责任心,认真,思考问题比 较全面,长远。而且更时有能拯救本人灵魂的言行。她们重教养,很在乎别人的评价,对丈夫或男友,她们往往都非常忠心和细心。但山东女子稍微缺一点任性、妩 媚的能迷惑男人的本能,据说是祖宗受苦难多的缘故。
典型性山东女人的10大特点:
有人说山东女孩温柔多情,有人说山东女孩豪爽大气……究竟,真实的山东女孩是怎样的?
1、傲。山东女人傲在生在山东,生在值得让人傲的城市。遇上祖国哪里受灾受难,总是山东伸出的援助最多。国家的财政收入山东贡献也多,支援大西北,山东也 是冲在最前面。身在这样一个可爱的城市,有何不值得骄傲呢? 山东女人还傲在恋爱有原则,你帅,你有钱,不喜欢就是不喜欢。山东女人恋爱就是讲感觉。
2、勤。山东女人是勤快的,她们会为了扔掉手上的香蕉皮冲向几十米开外的垃圾筒,也绝不图省事,随手一扔。山东女人的嘴也特勤快,麻烦,谢谢,不客气,一天说上十几遍不嫌累!
3、实。山东女人实在,不会让虚荣蒙上了心。如果哪天你对山东女人说,带你去美国迪斯尼吧,山东女人会很实在的说“还是去青岛、泰山吧。”再看看那些偷渡去国外淘金者的队伍里,哪有山东女人的影子?!
4、傻。山东女人是傻,她们会为某个不真实的电视剧情哭得用去一包面巾纸。她们会为剧情里的人物祈祷幸福。
5、娇。山东女人会撒娇,两人意见不一样了,山东女人不会和你吵,她会跟你撒娇,直到你让步,还会让你觉得心里甜甜的。有如此可爱的女人做老婆,绝对让你被甜蜜包围。
6、稳。山东女人稳,不会追求一些不切实际的东西。梦是要做的,谁没个梦想:什么房子啦、车子啦,也只是挂在嘴边上说说,真要一下给她房子,车子,她保管立马在你面前消失,逃的比谁都快。因为她们不相信“不劳而获”!
7、真。山东女人真性情,她们不会因为你的发达而阿谀奉承,也不会为你的落迫而落井下石。她们只跟谈得来的人做朋友。
8、粘。山东女人粘人,做了山东女人的男朋友可要注意喽,她会早上问你声早安,中午问你吃饭了没,晚上跟你道晚安。她会一天告诉你三遍,明天要下雨了,记得带把伞,而往往自己会忘了带。
9、疯。恋爱中的山东女人也会发疯,她会在最冷的天,带你去广场看夜景。会在半夜给你打电话让你看天上的月亮,因为此时你们是在看同一样东西。如果你说想 她,她会摞下电话,最快的出现的你的面前。当然,如果你对不起她,恶意欺骗了她的感情,她也会拿着菜刀要砍你,所以不要轻易来惹山东女人,除非你有足够勇 气和诚意。
10、宝。山东女人是块宝,只有懂得欣赏的人才能看懂。如果觉得碰不到这块宝,或是掂量不起这块宝,也请不要诽谤她。因为山东女人还有一大优点,就是伶牙俐齿哦,小心被山东女人损得终身抬不起头。
山东人及山东人的朋友顶一下!!!!
南地北山东人,到哪都是一样亲!相当的经典,我快看哭了
一说山东没重企--------------浪潮,海尔 海信,青啤等这些小企业就笑了。
一说山东没明星大腕----------巩俐。林青霞。成龙,等就笑了。
一说山东没素质--------------焦裕禄,孔凡森,
一说山东人没文化-------孔子,孟子,墨子就笑了。。。。
一说那山东人太懦弱-------梁山好汉108将就笑了。。。。。
一说那山东城市太穷----------奥运城市青岛就笑了。。。。。
一说那山东不爱运动-----刑惠娜,杜丽等在世界足球故乡山东临淄就笑了。。。。
一说那山东人太笨-------诸葛亮 ,李清照等就笑了。。。。。。
一说那山东人不抗日-----戚继光,李肇星就笑了。。。。
一说那山东人不会享受-----世界长寿城市排名第一的威海就笑了
一说那山东落后-----山东2004年国内生产总值超过江苏 跃居全国第二
一说山东山东人只会吃大葱-----中国四大名菜之首鲁菜就笑了。。。。
一说那山东没资源-----石油资源占全国第二位的胜利油田就笑了。。。。
一说那山东人不讲义气。。。全国人民都笑了。。。。。。。。。。。。。

Ubuntu下用Totem播放Rmvb

转自:http://soft.zdnet.com.cn/software_zone/2007/0921/516615.shtml

Ubuntu 7.04自带的电影播放器totem是无法播放rmvb文件的,不幸的是,rmvb文件是网络上下载电影的主流格式。

如果第一次用自带的totem打开rmvb文件,在无法打开文件的同时会提示寻找插件,但安装后,totem是只有声音没有图像。

使用linux的一个好处就是,google的使用率明显增加了,经过搜索ubuntu中文论坛并总结,解决如下:

1、在新立得软件管理中搜索totem,卸载系统自带的totem播放器。

2、安装gstreamer的解码器。

sudo apt-get install gstreamer0.10-pitfdll gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse

3、安装xine及解码器。

sudo apt-get install libxine-extracodecs totem-xine ffmpeg lame faad sox mjpegtools libxine-main1

4、安装w32codecs。

sudo apt-get install w32codecs

如果显示找不到,说明7.04的源里面还没有,到下面的地址下载安装:

http://www.debian-multimedia.org/pool/main/w/w32codecs/

选择w32codecs_20061022-0.0_i386.deb 就可以自动安装了。

5、至此,totem可以播放rmvb了。但不幸的是,有了图像,没有了声音。(但是,也许不会出什么问题。)

6、再次google,解决办法如下:

编辑 ~/.xine/catalog.cache文件:

sudo gedit ~/.xine/catalog.cache

找到:

[/usr/lib/xine/plugins/1.1.4/xineplug_decode_real_audio.so]

把 decoder_priority 后面的数字修改为 10

保存退出。

mount & umount

挂载:挂载xxx.iso到当前用户的xxx目录中
sudo mount -o loop /media/xxx/xxx.iso ~/xxx

卸载:卸载xxx目录中已挂载的iso
sudo umount ~/xxx

2007年10月8日星期一

安装beep media player及wma、ape、cue插件

摘自:ubuntu中文论坛 以及 http://my.opera.com/vvoody/blog/2007/04/01/beep-media-player-ape

安装beep media player(也可以直接在 菜单-添加/删除 里安装)
代码:
sudo apt-get install beep-media-player

安装后改变mp3标签设置以显示中文:右击播放器界面-首选项-插件-媒体-MPEG音频插件-标签-转换非UTF-8标签为UTF-8标签, ID3编码:GBK

下面安装ape、wma插件,采用编译源代码方式。

安装编译环境
代码:
sudo apt-get install build-essential

我记不请是否会自动安装gcc、make了,如果没有装就再装吧。
代码:
sudo apt-get install gcc make

如果编译gtk+相关程序,可能需要安装libgtk2.0-dev包,这里就需要
代码:
sudo apt-get install libgtk2.0-dev

安装beep media player开发包,用于编译插件
代码:
sudo apt-get install beep-media-player-dev

安装编译汇编代码的包,编译ape插件需要
代码:
sudo apt-get install yasm


安装ape插件,下载地址(国内)http://supermmx.org/linux/mac/

下载ape解码包(源码)MAC non-win32 port,文件名mac-3.99-u4-b5.tar.gz,解压,到解压后目录配置、编译、安装
代码:
./configure --enable-assembly
make
sudo make install

下载ape插件(源码)MAC plugin for Beep Media Player,文件名bmp-mac-0.1.1.tar.gz,解压,到解压后目录配置、编译、安装
代码:
./configure --enable-local=yes
make
sudo make install

编译的参数是根据包里INSTALL文件说明加上的(我没加时安装后无法加载ape插件)

安装cue插件
http://www.magiclinux.org/people/jiangtao9999/bmp-0.9.7-final/source-tar/bmp-cueinfo-0.2.0.tar.bz2 解压
./configure
make
sudo make install

右击bmp的面板,找到“首选项”-“插件”-“常规”,打上勾。退出。

ctrl+alt+backspace,重启X。

要注意,安装了这个cue的插件后不意味着你可以直接打开*.cue文件了(这就是那篇文章让我晕的地方,我插件装好了就直接打开了cue文件,可bmp 还是说不支持此格式,我还以为插件安装失败了呢),其实还是只能打开*.ape文件,只是只要这个*.ape文件有对应的*.cue文件,那么bmp会自 动打开一个“XMMS Cue Info”的窗口,里面就能直接选择播放第几首音乐,还有每首音乐的名字信息。千万不要直接打开*.cue。不过貌似打开有的*.ape文件,bmp并不 会打开XMMSS Cue Info窗口,可能是对应*.cue的问题(因为我在windows下碰到过foobar能打开ape而不能打开cue的问题,修正了cue后就可以正常 播放了),还有待解决。基本上都能打开的。

安装wma插件(源码),下载地址(国外)http://download.berlios.de/bmp-plugins/bmp-wma-0.1.1.tar.gz
先安装gcc-3.4(用gcc-4.0以上版本无法正常编译)
代码:
sudo apt-get install gcc-3.4

设置编译器版本
代码:
export CC=gcc-3.4

将wma插件包解压,到解压后目录,配置、编译、安装
代码:
./configure
make
sudo make install


如果编译文件时出错,且屏幕不能完全显示,则在运行编译命令前,输入
代码:
scripts filename

filename不写则文件名默认为typescript。接着运行编译命令,这样会在目录下生成名为filename的文件,里面记录着编译时候在命令行的输出。这些信息可以帮助你分析出错原因。

tar

压缩:
tar cvf 1.tar 1.f
解压缩:
tar xvf 1.tar

压缩:
tar zcvf 1.tar.gz 1.f
解压缩:
tar zxvf 1.tar.gz

2007年9月14日星期五

Linux文件系统类型介绍

-转自:http://forum.ubuntu.org.cn/viewtopic.php?t=62869
随着Linux的不断发展,Linux所支持的文件系统类型也在迅速 扩充。伴随着 Linux 2.4 版本的发行,出现了大量的文件系统可能性,其中包括 ReiserFS、XFS、JFS 和其它文件系统。每一个不同版本的Linux所支持的文件系统类型种类都有所不同,如何知道自己的Linux发行版本的所支持的类型有哪些?可以这样操作:以超级用户权限登陆Linux,进入/lib/modules/2.4.21-4.EL/kernel/fs/目录执行命令(不同Linux发行版本的Fs目录有些不同你可以用查找FS文件夹的方法找到它,见图-1):

[root@rh root]# cd /lib/modules/2.4.21-4.EL/kernel/fs/
[root@rh fs]# ls
autofs cramfs ext3 fat jbd lockd msdos nfs nfsd nls smbfs udf vfat

这里我们对最常用的几个文件系统的发展情况和优缺点作详细介绍:ext、ext2、ext3、jsf、 、xfs、ReiserFS

一、 ext

ext是第一个专门为Linux的文件系统类型,叫做扩展文件系统。它在1992年4月完成的。它为Linux的发展取得了重要作用。但是在性能和兼容性上存在许多缺陷。现在已经很少使用了。

二、 ext2

ext2 是为解决ext文件系统的缺陷而设计的可扩展的高性能的文件系统。又被称为二级扩展文件系统。它是在1993年发布的,设计者是Rey Card。ext2是Linux文件系统类型中使用最多的格式。并且在速度和CPU利用率上较突出,是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。Ext2 可以支持256字节的长文件名,其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的Intel x86兼容处理器的系统中,簇最大为 4KB, 则单一文件大小上限为 2048GB, 而文件系统的容量上限为 6384GB。尽管Linux可以支持种类繁多的文件系统,但是2000年以前几乎所有的Linux发行版都用ext2作为默认的文件系统。 
ext2 的缺点:ext2的设计者主要考虑的是文件系统性能方面的问题。ext2在写入文件内容的同时并没有同时写入文件的meta-data (和文件有关的信息,例如:权限、所有者以及创建和访问时间)。换句话说,Linux先写入文件的内容,然后等到有空的时候才写入文件的meta- data。这样若出现写入文件内容之后但在写入文件的meta-data之前系统突然断电,就可能造成在文件系统就会处于不一致的状态。在一个有大量文件操作的系统中出现这种情况会导致很严重的后果。另外但由于目前核心 2.4 所能使用的单一分割区最大只有 2048GB,尽管文件系统的容量上限为 6384G但是实际上能使用的文件系统容量最多也只有 2048GB。

三、 ext3

ext3是由开放资源社区开发的日志文件系统,主要开发人员是Stephen tweedie。ext3被设计成是ext2的升级版本,尽可能地方便用户从ext2fs向ext3fs迁移。ext3在ext2的基础上加入了记录元数据的日志功能,努力保持向前和向后的兼容性。这个文件系统被称为ext2的下一个版本。也就是在保有目前 ext2 的格式之下再加上日志功能。ext3是一种日志式文件系统。日志式文件系统的优越性在于:由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。因此每当系统要关机时,必须将其所有的文件系统全部卸下后才能进行关机。如果在文件系统尚未卸下前就关机 (如停电) 时,下次重开机后会造成文件系统的资料不一致,故这时必须做文件系统的重整工作,将不一致与错误的地方修复。然而,此一重整的工作是相当耗时的,特别是容量大的文件系统,而且也不能百分之百保证所有的资料都不会流失。故这在大型的伺服器上可能会造成问题。
ext3的缺点:其最大的缺点是没有现代文件系统所具有的能提高文件数据处理速度和解压的高性能,另外使用ext3文件系统时要注意硬盘限额问题,在这个问题解决之前,不推荐在重要的企业应用上采用ext3+disk quota(磁盘配额)。  

四、 jsf

jsf 提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。jsf(Journaled File System Technology for Linux)的开发者包括AIX(IBM的Unix)的jsf的主要开发者。在AIX上,jfs已经经受住了考验。它是可靠、快速和容易使用的。2000 年2月,ibm宣布在一个开放资源许可证下,移植linux版的JSF文件系统。JSFs也是一个有大量用户安装使用的企业级文件系统。它具有可伸缩性和健壮性,与非日志文件系统相比,它的优点是其快速重启能力: Jfs 能够在几秒或几分钟内就把文件系统恢复到一致状态。虽然 jsf 主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,jsf 还可用于想得到高性能和可靠性的客户机配置因为在系统崩溃时,jsf 能提供快速文件系统重启时间,所以它是因特网文件服务器的关键技术。使用数据库日志处理技术,jsf 能在几秒或几分钟之内把文件系统恢复到一致状态。而在非日志文件系统中,文件恢复可能花费几小时或几天。
jsf的缺点:使用jsf日志文件系统,性能上会有一定损失,系统资源占用的比率也偏高。是因为当它保持一个日志时,系统需要写许多数据。

五、ReiserFS

ReiserFS 的第一次公开亮相是在1997年7月23日,Hans Reiser把他的基于平衡树结构的ReiserFS文件系统在网上公布。ReiserFS 3.6.x(作为 Linux 2.4 一部分的版本)是由 Hans Reiser 和他的在Namesys 的开发组共同开发设计的。Hans 和他的组员们相信最好的文件系统是那些能够有助于创建独立的共享环境或者命名空间的文件系统,应用程序可以在其中更直接、有效和有力地相互作用。为了实现这一目标,文件系统就应该满足其使用者对性能和功能方面的需要。那样,使用者就能够继续直接地使用文件系统,而不必建造运行在文件系统之上(如数据库之类)的特殊目的层。ReiserFS 使用了特殊的优化 b* 平衡树(每个文件系统一个)来组织所有的文件系统数据。这为其自身提供了非常不错的性能改进,也能够减轻文件系统设计上的人为约束。例如,现在一个目录下可以容纳 ext00,000 个子目录。另一个使用 b* 树的好处就是 ReiserFS 能够像大多其它的下一代文件系统一样,根据需要动态地分配索引节,而不必在文件系统创建时建立固定的索引节。这有助于文件系统更灵活地适应其面临的各种存储需要,同时提供附加的空间有效率。
Reiserfs被看作是一个更加激进和现代的文件系统。传统的UNIX文件系统是按盘块来进行空间分配的,对于目录和文件等的查找使用了简单的线性查找。这些设计在当时是合适的,但随着磁盘容量的增大和应用需求的增加,传统文件系统在存储效率,速度和功能上已显落后。在reiserfs的下一版 reiser4中还提供了对事务的支持。在http://www.namesys.com/v4/v4.html 中有reiser4的介绍和一个简单的reiser4的性能测试。
ReiserFS的缺点:ReiserFS一个最受人批评的缺点是每升级一个版本,都将要将磁盘重新格式化一次。你可以在http://www.namesys.com/ 网站了解关于 ReiserFS 的更多信息。

六、Xfs

xfs 是一种非常优秀的日志文件系统,它是SGI公司设计的。xfs被称为业界最先进的、最具可升级性的文件系统技术。它是一个全64位,快速、稳固的日志文件系统,多年用于SGI的IRIX操作系统。sgi决定支持Linux社区,将关键的基本架构技术授权于Linux。它以开放资源形式发布了他们自己拥有的xfs的源代码,并开始进行移植。此工作进展得很快,目前已进入beta版阶段。作为一个64位文件系统,xfs可以支持超大数量的文件(9g× 1gb,甚至更大的18g×1gb),可在大型 2d 和 3d 数据方面提供显著的性能。xfs有能力预测其它文件系统薄弱环节,同时xfs提供了在不妨碍性能的情况下增强可靠性和快速的事故恢复。SGI的xfs可为 linux和开放资源社区带来的新特性有:可升级性:xfs被设计成可升级,以面对大多数的存储容量和i/o存储需求,可处理大型文件和包含巨大数量文件的大型目录,满足二十一世纪快速增长的磁盘需求。xfs有能力动态地为文件分配索引空间,使系统形成高效支持大数量文件的能力。在它的支持下,用户可使用 1exabyte (1g×1gb) 大的文件,远远大于现在最大的文件系统。优秀的i/o 性能:典型的现代服务器使用大型的条带式磁盘阵列,以提供达数gb/秒的总带宽。xfs可以很好地满足I/O请求的大小和并发I/O请求的数量。 xfs 可作为root文件系统,并被lilo支持.在NFS服务器上使用也没问题.支持软件磁盘阵列(RAID)和虚拟集群(LVM)。SGI最新发布xfs为 1.0.1版.(在:http://http://oss.sgi.com/projects/xfs/ 可以下载它)。
xfs的缺点:由于xfs比较复杂,实施起来有一些难度,所以目前xfs主要应用于Linux企业应用的高端。

其他文件系统简介:

Minix:Llnux支持的第一个文件系统,对用户有很多限制而且性能低下。有些没有时间标记,其文件名最长l 4个字符。minix 文件系统最大的缺点是最大只能使用64M 的硬盘分区,所以在目前已经没有人使用它了。

Xia:Minix文件系统修正后的版本。在一定程度上解决了文件名和文件系统大小的局限。但没有新的特色,目前很少有人使用。

Msdos:msdos 是在Dos、Windows和某些OS/2 操作系统上使用的一种文件系统,其名称采用“8+3”的形式,即8个字符的文件名加上3个字符的扩展名。

umsdos: Linux下的扩展msdos文件系统驱动,支持长文件名、所有者、允许权限、连接和设备文件。允许一个普通的msdo s文件系统用于Linux,而且无须为它建立单独的分区。

iso9660: 标准CDROM文件系统,通用的Rock Ridge增强系统,允许长文件名。

Vfat:vfat是Windows9x 和 Windows NT/2000下使用的一种Dos文件系统,其在 Dos 文件系统的基础上增加了对长文件名的支持。

Nfs: Sun公司推出的网络文件系统,允许多台计算机之间共享同一文件系统,易于从所有这些计算机上存取文件。

Hpfs: High Performance File System(HPFS) 高性能文件系统(HPFS) HPFS是Microsoft的LAN Manager中的文件系统,同时也是IBM的LAN Server和OS/2的文件系统。HPFS能访问较大的硬盘驱动器,提供更多的组织特性并改善了文件系统的安全特性。

Smb:smb是一种支持 Windows for workgroups、Windows NT 和Lan Manager的基于SMB协议的网络操作系统。

Sysv: sysv文件系统实际上是System V/Coherent 在Linux平台上的文件系统。

Ncpfs:ncpfs是一种Novell NetWare 使用的NCP协议的网络操作系统。

Proc:proc是Linux 系统中作为一种伪文件系统出现的,它用来作为连接内核数据结构的界面。

NTFS:微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。

2007年1月15日星期一

开业大吉

恭喜你呀恭喜你