简介:
 
 本章只是覆盖那些我们经常使用或者喜欢使用的应用程序。Linux有成千上万个应用程序,如果你不是很满意我们介绍的,到这里可以找到更多:
 
  http://www.linuxapps.com/
  http://stommel.tamu.edu/~baum/linuxlist/linuxlist/linuxlist.html
  http://www.boutell.com/lsm/
  http://www.linuxlinks.com/Software/
 
 6.1         字处理程序
 6.1.1  StartOffice/Open Office 软件
 
 OpenOffice是一个完整的Office组件:字处理程序,电子表格程序,演示程序,画图程序,图形模块,数学公式编辑器等等。它包含了专门给Linux使用的最好最丰富的字处理程序和电子表格程序,特别推荐大家使用。OpenOffice一般包含在最新发行的Linux安装光盘上(2002年11月份以后)。如果你需要最新版本,可以直接到这里免费下载:
 
  http://wwww.openoffice.org/
 
文件很大,大概70MB左右,如果你使用56K Modem下载可能不太现实。当前版本(非开发者使用版本)是OpenOffice 1.0.1(2002年10月)。OpenOffice是跨平台的:可以在Linux,MS Windows, Solaris和Mac OS X上运行,在不同平台之间带有文件级的兼容性。
 
 OpenOffice简史
 
 StarOffice曾经是一个商业应用程序(“Star”分部,德国)。后来该程序被Sun Microsystem公司购买,源代码也在通用公共许可证(GPL)范围内贡献给开放源代码社区(2000年8月)。然后,它被很多和Sun公司有关联或者Sun雇佣的程序员迅速开发。开放源代码的版本叫做“OpenOffice.org”。Sun公司有些时候会根据比较稳定的版本发行自己的叫做“StarOffice”。所以,StarOffice和OpenOffice基本上可以说是指相同的产品,在StarOffice里有时会带上一些小的附加功能。出于一些注册商标的考虑,OpenOffice正式的官方名称叫OpenOffice.org。
 
 描述
 
 OpenOffice组件看起来非常象微软Windows下的Office组件。这个组件包括很多丰富功能,程序也比较大(可能要求一定的磁盘空间,内存和CPU的速度),很多内置的特性(可能需要一些特别的鼠标点击才能使用一些特性)。如果你的计算机内存小于64M,OpenOffice可能会有很多麻烦,不值得安装,内存更大一些会好得多。OpenOffice非常稳定,尽管有些时候会显示一些奇怪的字符在我的屏幕上。它和微软的Office有文件级的兼容性:可以读写微软的Word, Excel和PowerPoint文件格式。原则上,OpenOffice使用最基本的XML开放文件格式:文本和图形压缩在同一个文件里。当我解压文件的时候(unzip my_file.sxv),我可以完全解压原来的图形-这是微软的Office可能无法做到的(有些时候会对文件管理带来严重后果)。
 
 OpenOffice看起来不像Linux其他Office程序那么“性感”。但是,它是真正可以实际应用的程序,它的完美性还在快速提高。简而言之,我们非常推荐使用OpenOffice/StarOffice来符号你日常的办公需要。就功能上的比较,它几乎覆盖了你在微软的Word和Excel上可以实现的功能,还附加了一些在微软的Office一直缺少的功能。
 
总体来说,OpenOffice是一个开放和根据标准文件格式设计的完美程序(只有那些没有远见或者死脑筋的决策人员才会坚持将他们的重要数据放在只能用一个特定公司发行的软件才能阅读的文件里)。这个文件格式可以在关键场合下使用,因为它可以使用第三方的软件软件根据来解读。
 
 安装
 
 OpenOffice的安装可能稍微有点麻烦,过程大概如下:
 
-          确认你有足够的硬盘空间。使用df命令检查可用的硬盘空间:
 
df –h
 
 这将显示一个可用硬盘空间的报告。你最少需要350MB的硬盘空间(安装完成后,大概有100M的空间可以重新释放)
 
-          解压下载的安装文件。我使用root用户在/usr/local的目录下执行“本地服务器”安装,但是你也可以选择你的主目录/home/your_login_name做个人安装:
 
cd /usr/local
tar –xvf StarOffice5.2.tgz
 
使用你下载文件的实际文件名替代StarOffice5.2.tgz(StarOffice5.2.tgz是我下载时使用的文件名)
 
-         作为root用户,在本地服务器,带/net选择项,运行安装程序:
 
cd /usr/local/OpenOffice641
./setup /net
 
[如果不带 “/net”或者“-net”参数,OpenOffice将运行个人安装(装在你自己的主目录下!),这样就只有一个用户可以运行它,而且你的主目录会被挤得满满的]
 
-          网络安装完成后,每个用户必须执行自己得安装,将一些个人得文件放到自己得主目录下。可以通过以下实现(按普通用户,不带/net参数):
 
cd /usr/local/OpenOffice641
./setup
 
在命令行(X终端)上运行任何OpenOffice的程序,我可以使用:
 
ooffice&         (字处理)
oowriter&        (同上)
oocalc&          (电子表格)
oodraw&          (矢量画图程序)
ooimpress&       (演示程序,类似于微软的PowerPoint)
oosetup&         (安装程序)
oopadmin&        (打印机管理程序)
oomath&          (数学格式编辑器,一般不单独运行)
 
 
 小技巧
 
 OpenOffice附带一个扩展,内容敏感的帮助程序(按<F1>)。这里我们收集了一些在使用字处理程序时的快速参考(从2002年11月后有效):
 
-          考虑使用“Styles”(风格)来格式化文件。除非你写一个非常简单的文件,避免“物理格式化”。按<F11>可以得到完整的Style列表。注意看菜单条(左手侧)的下拉框,有一个可以在文件里使用的段落风格列表。
 
-          “风格”可以分成以下几个部分:
 
字符风格             (对一个字符或者一组字符有效)
段落风格             (段落的范围从一个<ENTER>到另外一个<ENTER>)
帧的风格             (一个帧一般代表一个文本框,一个图形或者一张图片)
页面风格            
罗列风格             (数字罗列或者标号罗列)
 
 这里,最重要的是段落风格。我用它来格式章节的标题,表格的标题等等。要在段落里使用指定风格,可以把光标移到要修改的段落,然后双击在“Stylelist”(风格列表)的Style名称。要修改一个风格(或者创建一个新的风格),可以使用菜单“Format”-“Style”- “Catalog”。
 
-          如果要给章节的题目编号,可以在“Tools”-“Outline Numbering”下设置编号系统。
 
-          要插入一个标题(表格,图形,等等),我可以把光标移动到表格(或者图形)上,然后使用菜单“Insert”-“Caption”,我也可以通过对话框里的“Options”按钮来修改标题的编号级别。当然,我也可以等到当我点击标题出现对话框的时候再修改。
 
-          要修改所有的域(目录编号,标题,目录表等等),我按住<CTRL>接着按<F9>。这将选择整个文件然后更新整个文件。另外一个办法是,使用菜单“Tools”-“Update”-“Update All”
 
-          显示文件的整体轮廓,按<F5>
 
-          修改缺省的文件模板,创建一个“default”的文件再把它保存为“Default”(“File”-“Templates”-“Save”)
 
-          在你输入的同时检查拼写,可以通过“Tools”- “SpellCheck” – “AutoSpellCheck”激活拼写检查功能。要检查一个词的拼写,把光标移动到那里,按<F7>
 
-          对于输入自动完成功能,当选择项出现的时候选择所要的选项,按<ENTER>
 
-          表格单元可以被分割(如果你从微软的Word转过来,你可以再次使用表格单元分割)
 
-         按<F2>弹出一个“公式条”。在表格里,你可以用它来计算在其他表格单元里的值。状态栏显示的是表格单元的参照值。在表格之外,你可以使用“公式条”来实现一些实时的计算。
 
-          你可以通过在段落开始的地方输入“fn”然后按<F3>来插入一段预先做好格式和编号的“引用”文本
 
-          信件合并功能在以下的链接可以找到:
 
  http://documentation.openoffice.org/HOW_TO/word_processing/writer2_EN.html
 
  
 
-          以下是一些有用的快捷键功能(大部分在OpenOffice下有效,不仅仅是字处理程序)
 
 
 <CTRL>X 剪切
  
<F1> 帮助
  
 <CTRL><SPACE> 不间断的空格
  
 <CTRL>C 复制
  
<F2> 公式计算
  
 <CTRL><SHIFT> 不间断的横杠-
  
 <CTRL>V 粘贴
  
<F3> 自动文本输入
  
 <CTRL><ENTER> 强制换页
  
 <CTRL>A 选择所有
  
<F4> 数据源查看/关闭
  
 <SHIFT><ENTER> 不改变段落的换行
  
 <CTRL>F 查找
  
 <SHIFT><F4> 在电子表格程序中切换绝对/相对参考值
  
 <CTRL><SHIFT><ENTER> 强制换列 (对于多列的文本有效)
  
 <CTRL>Z 恢复 Undo
  
<F5> 导引开/关
  
 <INSERT> 插入模式/覆盖模式转换
  
 <CTRL><SHIFT>P 超级脚本
  
<F7> 拼写检查
  
 <HOME> 到光标所在行的开始
  
 <CTRL><SHIFT>B 子脚本
  
<F9> 更新域(或者重新计算电子表格)
  
 <END> 到关闭所在行的末尾
  
 
  
 <F11> 风格列表开/关
  
 <CTRL><HOME> 到文档的开始
  
 
  
 <F12> 标号开/关
  
 <CTRL><END> 到文档的末尾
  
 
使用鼠标做选择:
 
<鼠标左键>:         选择文本,表格单元等
<SHIFT><鼠标左键>:   扩展当前的选择
 
使用鼠标做拖曳:
 
<鼠标左键>:         拖曳和移动选择的文本
<CTRL><鼠标左键>:    复制选择的文本到对应的位置
 
 6.1.2  abiword字处理程序
 
在X终端里输入abiword或者Abiword可以启动该程序,你可以在以下链接下载最新版本:
 
  http://www.abisource.com
 
 它是一个很小又非常不错的字处理程序。基本上满足一些基本的字处理需要。尽管功能可能还不够丰富,但是对我非常有用,举个例子,它和StarOffice一样支持即时拼写检查功能,但是不需要安装StarOffice那么多的程序。现在这个程序还在积极开放中,在Linux下和微软的Windows下都有效。
 
 6.1.3  kword
 
kword 还在开发中,我们不建议在重要场合使用,因为程序有时会崩溃。然而,它应该是三个(在通用开放许可证下的)主要Office组件里看起来最酷的一个。它是以帧为基础的,象 “framemaker”(说说而已,我没有用过framemaker)一样非常容易使用,功能强大非常适合于桌面出版(当然比abiword功能更丰富)。
 
按其他语言运行kword,我可以这样做(在X终端,运行kword的荷兰语言版本):
 
exec sh –c “KDE_LANG=nl kword”&
 
 以下是一些有用的“标准”快捷键。这些快捷键适用于任何KDE环境下的应用程序:
 
<ALT>                访问顶级菜单
<ALT><一个字符>      快速访问顶级菜单对应的项目。字符对应于顶级菜单中带下划线的字符。举例(英语菜单):
                     <ALT>F —     File“文件”菜单
                     <ALT>E --     Edit “编辑”菜单
                     <ALT>V --     View“查看”菜单
                     <ALT>I --     Insert “插入”菜单
                     <ALT>0 --     Format “格式”菜单
<CTRL>X                    剪切
<CTRL>C                    复制
<CTRL>V                    粘贴
<CTRL>A                    选择所有
 
 6.1.4  klyx, lyx和latex
 
(在X-Windows终端输入lyx)。lyx是latex的前端程序(WYSIWYG, 所见即所得,在X-Windows底下运行)。[还有一个程序叫klyx,是lyx对应KDE桌面的变种,不过现在已经不再更新了。]
 
latex很多年以来一直是资料准备和排版输入的重要程序,在学术界应用非常广泛,因为它可以非常方便的处理数学公式,管理非常大的文件,等等。
 
好消息是,即使你不知道什么是latex, 你仍然可以方便地使用lyx。尽管lyx的哲学观点有点不同于我们常见的字处理程序,lyx仍然是一个非常好的字处理程序,这可能需要一下调整你现在的观念。Latex(lyx)的哲学观点是先输入你的文本,接着定义所要的“风格”,然后把格式化的工作留给排版程序。这意味着你不需要手工调整间距(词与词之间的间隔,段落间的空行,章节等等)。当你的输入工作完成后,你“编译”你的文本然后产生一个设备独立文件(Device Independent File, “*.dvi”)。dvi文件可以使用dvi阅读器来阅读和打印。输出的结果一般来说非常出色,但是“文件生成”的过程对比于常用的字处理程序的确有点麻烦。
 
Latex的强项是打印输出的质量非常出色。它可以用来处理冗长而复杂的资料(技术文档,数学,等等),几乎所有的外国字符都有效(包括一些非常罕见的标志),而且在很多不同的平台上兼容,文件格式也应用广泛。弱点是,使用起来相对复杂。
 
Lyx是免费的,包含在你的Mandrake或者RedHat的安装光盘上供你免费尝试。你也可以到这里下载:
 
  http://idirect.linuxberg.com/kdehtml/off_word.html
 
几乎所有的Linux程序你都可以从Linuxberg.com网站上或者其他的Linux软件仓库下载。
 
如果除了容易使用的lyx,你还想试一试更直接,专业的latex,这里是一些简单的入门介绍:
 
bullet    用你经常使用的纯文本编辑器创建一个latex文档,做拼写检查,等等。然后,把文本文件存为扩展名为“*.tex”的文件。可以参考我后面提供的例子。
  
 
bullet   激活Latex,把这个文本文件“编译”成一个“*.dvi”的文件。
  
 
Latex my_latex_file.tex
 
bullet   通过运行dvi把上一条命令产生的文件打印输出到postscript的应用程序里,常用的办法是把输出送到lpr打印机上
  
 
dvips my_file.dvi
 
bullet    你也可以使用以下命令把输出存为postscript文件格式
  
 
dvips -o output_file.ps my_file.dvi
 
   可选项-o用于引导输出文件
 
bullet   你也可以使用以下命令创建一个pdf文件
  
 
dvipdf my_file.dvi output_file.pdf
 
或者
 
ps2pdf my_file.ps my_file.pdf
 
bullet   你可以阅读以下任何文件(dvi, ps, pdf),举例(在X终端上)
  
 
kdvi my_file.dvi&
 
或者
 
kghostview my_file.pdf&

6.1.5  WordNet(字典/词典/同义词/反义词查询)
 
我一般使用WordNet作为作为字典/词典(在文本终端输入wn)。在RedHat 7.0的安装光盘里没有,所以我必须去下载和自己安装(大概10MB左右),很不错的软件。看看以下连接:
 
  http://www.cogsci.princeton.edu/~wn/
 
在RedHat8.0里,WordNet是预先安装好的,可以用一个前端的图形用户界面程序启动它:
 
 ktheasurus&
 
 6.2         电子表格
 6.2.1  oocalc
 
 我现在一般使用一个很不错的电子表格程序叫calc,它是OpenOffice.org的一个部分。你也可以在你熟悉的桌面模式下通过点击以下的菜单来运行它:
 
“K”- “Office” – “OpenOffice.org” - “OpenOffice.org Calc”
 
或者在X终端上输入命令:
 
oocalc&
 
 我是一个经常使用电子表格的用户,所以我经常留心一些比较成熟的电子表格程序。以我的观点,Linux目前还缺乏一个比较好的电子表格程序,但是oocalc已经可以做大部分工作了。
 
在oocalc里,用户甚至可以定义他们自己的函数。举例,我可以在编辑器里(“Tools”-“Macros”-“Edit”)写以下函数:
 
REM ***** BASIC *****
REM This function calculates an area of a donut with radii r1 and r2
Function my_function(r1,r2)
REM return the value using the variable called like the function
 my_function=abs(pi()*r1^2 - pi()*r2^2)
End function
 
 然后,我就可以在电子表格文件里使用这个函数了,比如: =my_function(2,3)
 
到现在为止(2002年11月),oocalc可以支持多达256个列(A-IV),32000行(1-32000),256个表格(表格1到表格256,表格可以被重新命名)。所能支持的行和列的数量还在增加之中。它还有几百个内置的函数(覆盖和兼容你在微软的EXCEL可以找到的所有函数)。
 
 用户界面有时候看起来不那么美观(比较微软的EXCEL)。举例,把一系列数据加到图表里需要选择一定范围里的数据,然后使用鼠标把它们拖到图表里。还有,图表组件(对应XY两维数据)支持两个Y轴,两个X轴,多种线的类型,数据的位图,错误条显示等等。如果你下决心学习它,功能真的很强大――我的感觉:你的鼠标点击要很注意按照要求来做。
 
  
 
 6.2.2  gnumeric
 
在X终端下很不错的电子表格程序,是GNOME的一部分,包含在标准的RedHat的安装盘里(RedHat6.0或者更高的版本)。尽管还有不少地方需要完善,这个程序还是非常值得一用的。Gnumeric还在积极的开发中,很有潜力在将来成为最出色的电子表格程序――它已经有很多内置的函数,但是,最头痛的事情是,打印功能有些时候很不稳定。
 
 6.2.3  kspread
 
kspread是另外一个强烈推荐的电子表格程序。从KDE2.0之后一直是KDE(Koffice)的一部分。不过还不推荐在重要场合使用。Gnumeric和kspread的文件格式都是标准的XML文件(已经是标准,属于下一代的增强的HTML),使用这个文件格式肯定是绝佳的新闻――如果你以前经常遇到微软EXCEL的文件格式不兼容问题。和HTML一样,XML对人类是易读的。因为电子表格文件是压缩的,如果我要在终端上阅读该文件,我可以这样做:
 
zless my_gnumeric_file.gnumeric
 
 以下是一个电子表格的文件尺寸比较(只包含一个公式,复制10,000次),可以看出对人类易读的文件格式并非一定得付出其他代价,而微软的EXCEL文件格式里显然充满了太多没用的垃圾:
 
文件格式                    文件尺寸(BYTES)
Gnumeric 1.09              27,136
Oocalc 1.01                57,756
Kspread                           90,560
MS EXCEL                   549,888
QuattroPro 9 for MS Windows 155,648
 
 6.3         数据库
 
 如果你是一个喜欢数据库的人,你会发觉Linux在这方面覆盖得很全面。
 
 postgreSQL
 
一个功能强大的数据库,在Mandrake和RedHat的安装光盘上有(免费,在BSD许可证下无限制使用)
 
mySQL
 
参见    http://www.mysql.com。通用公开许可证下的数据库,比postgreSQL简单和容易使用,功能非常全面。受到很多数据库开发人员的青睐。和postgreSQL相似,mySQL不仅仅是一个简单的个人数据库,所以,可能要花点力气去学习。
 
 除了以上,还有一些商用数据库免费提供给个人使用,比如:
 
 Sybase for Linux:
  http://www.sybase.com:80/sqlserver/linux/aselinux_install.html
 
 Interbase:
  http://www.interbase.com/downloads/products.html
 
 Oracle for Linux:
  http://platforms.oracle.com/linux/index_lin.htm
 
关于Oracle for Linux的信息帮助,参考:
  http://jordan.fortwayne.com/oracle/index.html
 
 6.4        CAD
 
QCAD (GPL):
  http://www.qcad.org
 (比较简单,但是对于小的画图或者学习很有用)
 
 OCTREE
  http://www.octree.de/html/frames/eng/f_octree.htm
(对于非商业用途,免费)
 
 VariCAD
  http://www.varicad.com/
(专有商用软件,15天试用期版本可以免费下载,非常好的机械设计软件)
 
 VARKON (LGPL):
  http://www.varkon.com/
 
 Microstation
  http://www.microstation.com/academic/products/linux.htm
(专有商用软件, Microstation的专业版本,非常出色,比AutoCAD软件还要好)
 
还有一个软件叫做“LinuxCAD”,不过,看起来实在不怎么样(不推荐使用)。
 
 6.5         网络浏览器:Mozilla, Konqueror and Lynx
 
所有最新发行的Linux版本(2002年11月以后)都包含主要的网络浏览器“Mozilla”,在X终端上输入命令:
 
mozilla&
 
 这是一个绝对顶级的浏览器,你已经不会再要求更多了(除了速度可能要提高一些以外)。它是著名的NetScape浏览器的新生代。
 
其他的网络浏览器还有:基于KDE的kconqueror和galeon。我一般使用galen。
如果你的ISP的速度实在太慢,你可能会倾向于使用基于文本的网络浏览器:
 
lynx
 
 不要期望它看起来能和其他花里胡哨的图形界面下的网络浏览器一样――它是基于文本模式的。它的好处是,稳定而且速度极快。最适合的场合:当你要快速浏览一个HTML文件的时候。
 
在一些老版本的Linux上,你可能还装有一个4.xx版本的NetScape浏览器(“一个真实可靠的浏览器”)。可以在X终端上使用以下命令运行它:
 
netscape&
 
如果要编辑html文件(包含这本指南),我一般使用Mozilla(所见即所得,浏览或者代码浏览),或者netscape,或者WebMaker。
 
 6.6         刻录CD-R:cdrecord 和cdparanoia
 
 特别声明:
  复制任何版权保护的介质是非法行为。不要在任何非法场合下使用以下指令。
 
 介绍
 
 刻录光盘以前的确很麻烦,但是最近我只要使用以下命令(root用户,在X终端上):
 
xcdroast&
 
 如果你可以运行这个程序,那么我也可以。你就不需要读更多了。
 
也许xcdroast在你的系统上不能正常工作,那么以下这些我以前经常使用的步骤可能对你有用。要特别注意的是,xcdroast只是以下描述的这些命令的图形用户界面前端工具,如果这些命令在你的系统上不能正常工作,那么xcdroast也不能正常工作。我的所有抱怨是,我那个号称“12x8x32x”CDRW,没有商标的便宜货可以以最高12x的速度写CDR盘片,但是对于CDRW只能以2x的速度读写(而不是号称的8x),而刻录音乐CD的时候居然只能达到1x的速度,不管我怎么配置都白费力气。
 
 设置
 
bullet   所有的设置必须要使用root帐号。最新发行的版本(比如RedHat8.0)可能根本不需要设置。
  
 
bullet   检查一下你的boot文件,看看是否你的ide-scsi驱动器的这个参数已经传递给内核程序“hdb=ide-scsi”。需要的话,在以下文件里:
  
 
/etc/lilo.conf  或者  /boot/grub/grub.conf  (取决于你使用哪一个启动程序)
 
加入可选项“hdb-ide-scsi”,这样,文件中对应的行看起来如下:
 
append="hdb=ide-scsi"     
(对于/etc/lilo.conf,在linuxd的image那一个部分)
 
kernel /boot/vmlinuz-2.4.7-10 ro root=/dev/hda6 hdb=ide-scsi
(对应于/boot/grub/grub.conf)
 
如果你的CD刻录机不在“hdb”(第一个IDE接口的第二个驱动器),你可能需要自己做一些调整。它让你的IDE-ATAPI CD刻录机在Linux系统里看起来象是一个scsi设备(它其实不是真的scsi设备,而是IDE设备,只不过假装成scsi设备)。当/etc/lilo.conf修改完成后,运行一遍lilo。对于grub,不需要重新运行。
 
bullet   追加loop设备如果这个设备文件不在你的/dev目录下,这不是硬性规定,但是如果你要刻录数据CD,这个功能很不错。loop设备可以直接挂载一个CD映像文件(看起来好像已经是文件系统的一部分)来检查CD的内容。当我完成RedHat的安装后,loop设备并不在我的系统上。所以我使用以下办法来自己追加它:
  
 
cd /dev/
./MAKEDEV loop
 
bullet    确认需要的程序模块都已经被加载到系统内核里
  
 
lsmod
 
 如果有必要,把以下这两行内容加入到文件 /etc/rc.d/rc.local,这样所以要求的内核模块在计算机启动的时候都会被自动加载。
 
/sbin/insmod ide-scsi
/sbin/insmod loop
 
这两个内核模块对于IDE驱动器模拟SCSI设备,以及loop设备的支持是必须的。
 
 
bullet   检查,创建和修改设备文件 /dev/cdrom,确保它指向正确的设备,大概如下:
  
 
ls -l /dev/cdrom
ln -s /dev/scd0 /dev/cdrom (如果有必要)
 
为什么要这样做的原因是,/dev/cdrom可能指到其他的IDE设备上去了(比如,很有可能是/dev/hdb),既然你的CD刻录机已经在scsi设备的模拟模式下,这个修改是必须的。
 
你可能想把/dev/cdwriter也指到/dev/cdrom上,如下所示。但是如果只有一个CD驱动器就没有必要。
 
ln -s /dev/cdwriter /dev/cdrom
 
bullet   为了使/etc/lilo.conf的修改开始有效,重新启动计算机。检查一下CD刻录机是否能够正常读取数据。
  
 
bullet   检查cdrecord程序是否已经被安装,举例:
  
 
cdrecord –scanbus
如果没有安装,可以从你经常使用的Linux下载网站(比如http://www.linuxberg.com/)下载cdrecord程序。接着安装源代码,编译,安装程序,然后创建一个连接指到可执行程序上,这样启动程序的时候就简便多了。如果你可以找到一个*.rpm格式的文件,安装起来就更简单了。
 
cd /usr/local
tar -xvzf /the_path_to_which_you_downloaded/cdrecord-1.6.1.tar.gz
ls
cd cdrecord-1.6.1
make
make install
ls /opt/schily/bin/
ln -s /opt/schily/bin/* /usr/local/
 
cdrecord是一个用于刻录CD最实际好用的命令行工具。目前是有不少图形用户界面的CD刻录程序,但是如果最底层的cdrecord不能正常工作,这些工具都没有实际用处。我的建议是,在适当时候使用命令行――这会让你更好理解它是如何工作的,而且更加稳定和灵活。如果你需要制造CD的封面,安装和使用基于通信用户界面的前端程序当然更好一些,也使原来学习Windows的用户更方便上手。
 
bullet   看看你的CD刻录机是否已经被系统识别,如果是,应该在输入以下命令后显示出来:
  
 
cdrecord –scanbus
 
 
 制作数据CD
 
先创建一个CD映像文件包含你要刻录的数据:
 
mkisofs -r -o cd_image input_data_directory
 
以上命令将产生一个ISO-9660格式的(ISO标准的9660类型文件系统)文件,该文件包含所有在input_data_directory目录下的所有文件,这时,这个文件只是在硬盘上的一个普通文件。这个文件就是我制作CD要用到的一个映像文件。可选项-o指示接下来的一个参数是输出文件的文件名。参赛-f激活ISO协议的“Rock Ridge”扩展,这样,文件的属性能够被存储下来,而且所有的文件设置成可读(所有用户可读,不仅仅是文件的拥有者)。文件名被缩减成8.3 DOS文件名(8个字符文件名,3个字符扩展名)格式(尽管Linux支持的ISO-9660“Rock Ridge”扩展,它也可以保留所有的文件的权限和全文件名),这是让这个文件系统可以跨平台(DOS, Windows, Linux, Unix等等)使用的办法,对用户来说也更方便一些。
 
输入数据目录input_data_directory下的文件可以从系统中的不同目录产生一个标志链接,然后再合并起来(因为不需要复制数据,可以节约硬盘空间)。如果你决定这样做,你必须使用参赛 –f 告诉命令mkisofs允许使用标志链接,
 
mkisofs -r -f -o cd_image input_data_directory_containing_symlinks
 
你可能想要通过把CD映像文件挂载到loop设备上来检查CD的内容,使用以下命令:
 
mount -t iso9660 /dev/loop0 cd_image /mnt/cdrom
 
[  现在文件的内容应该出现再目录/mnt/cdrom下面 ]
 
cd /mnt/cdrom
 
[ 通过loop设备检查文件的内容 ]
 
bullet    如果以上一切正常,你可以开始刻录你的数据CD了
  
 
cdrecord –v speed=8 dev=0,0,0 –data cd_image
 
“dev=”的第一个数字表示scsi的总线号(第一条总线0,第二条总线1, 依此类推),第二个数字表示在该scsi总线上的设备号(从0到7),第三个数字表示scsi设备的lun号码(一般是0)。你必须知道确切的号码,前面两个数字可以通过运行“cdrecord -scanbus”来获得,第三个数字总是“0”。确认你使用了正确的数字,否则你可能写到错误的设备上毁坏你的数据。
 
在刻录CD-R的时候,尽量避免运行一些CPU资源消耗很大的任务(比如在硬盘上删除或者创建一个很大的文件),否则可能会中途出错。象我那老版本的RedHat6.2,在我刻录CD的时候,不允许我运行任何任务。
 
 类似的做法,我也可以把因特网上下载下来的CD ISO映像文件刻录到CD上。比如:(Debian的FAQ里)刻录一个映像文件“binary-i386-1.iso”的推荐做法是:
 
nice --18 cdrecord -eject -v speed=2 dev=0,6,0 -data -pad binary-i386-1.iso
 
这个命令指定以优先级别18(很高的任务级别)的运行CD刻录程序,可以减少发生错误的可能性。
 
 
 制作音乐CD
 
bullet   在刻录CD之前,必须确认音轨文件是以下文件格式之一:*.cdr(我猜可能就是*.cdda.raw的格式), *.wav(音频文件)和*.au。
  
 
bullet  sox应用程序可以在不同的声音文件进行互相转换(sox可以识别很多不同的声音文件格式)。举例,我可以把“*.wav”文件转换成“ *.cdr”文件:
  
 
sox my_file.wav my_file.cdr
 
你不需要手工做文件格式转换 – cdrecord直接支持 *.wav 和 *.au 格式(它会自动把*.wav 文件和 *.au 文件转换成 *.cdr 文件)。这个非常方便,因为音频文件一般来说比较大。
 
bullet   音乐CD不包含任何文件系统,按“原始数据”格式存储。这意味着你不能挂载一个音乐CD。还有,每个音轨都是单独存储的,看起来更像是CD上的不同分区。
  
 
 
 
bullet   如果你要把音乐CD上的内容写到硬盘上的对应文件里(典型的文件格式比如*.raw或者*.wav),你需要一个“CD刮写工具”。一个常见的程序是“cdparanoia”。
  
 
如果cdparanoia没有安装,你可以自己下载安装:
 
cd /usr/local
tar -xvzf /the_path_to_which_you_downloaded/cdparanoia-III-alpha9.6.src.tgz
ls
cd cdparanoia-III-alpha9.6
./configure
make
make install
 
从音乐CD上“刮写”第一个音轨,我可以使用:
 
cdparanoia 1
 
 该命令将在当前目录下生成一个叫做“cdda.wav”的音频文件。
 
 如果要“刮写”第一和第二个音轨存为“原始数据”格式,使用命令:
 
cdparanoia -B -p "1-2"
 
可选项 -B 指示使用批处理模式(batch mode),这样每个音轨都会存放在不同的文件里(这可能是你真正想要的,否则所有音轨都被放到同一个输出文件里)。可选项 -p 指示输出使用“原始数据”格式。对应的文件名是:track1.cdda.raw, track2.cdda.raw。
 
以下命令按4x的速度“刮写”所有的音轨,每个音轨存为不同的*.wav文件:
 
cdparanoia -S 4 -B "1-"
 
 注意你有足够的硬盘空间。如果你设置双系统启动,你也可以使用DOS上的分区。
 
bullet   如果要写音频文件到CD-R(W)上,我可以使用:
  
 
cdrecord -v speed=8 dev=0,0,0 -pad -dao -audio track*
 
bullet   有些音乐CD在各个音轨之间没有间隔。要复制这种类型的CD,最好使用工具“cdrdao”。
  
 
cdrdao read-cd --device 0,0,0 --buffers 64 --driver generic-mmc-raw --read-raw toc-file.toc
 
bullet   把以上刚生成的文件刻录到CD上,可以使用:
  
 
cdrdao write --device 0,0,0 --buffers 64 --driver generic-mmc --speed 12 toc-file.toc
 
bullet   还要注意的是CDRW(支持多次读写)盘片。有些家用音响不能播放CDRW的盘片。比如我家里的JVC播放机就不能播放用CDRW刻录的音乐。CDRW比较适合于存放数据而不适合存放音乐(除非我只想在我的计算机上播放这些盘片)。
  
 
 
 创建混合模式的CD
 
创建混合模式的CD(通常指的是同时包括据数据和音乐的CD,比较常见的是游戏CD)不是什么很难的事情,举例如下:
 
mount -t iso9660 /dev/cdrom /mnt/cdrom
 
(挂载混合模式CD的数据部分)
 
mkisofs -r -o cd_image /mnt/cdrom
 
(把CD上数据做成是ISO系统文件)
 
umount /mnt/cdrom
 
(卸载CD)
 
cdparanoia -B "2-" 
 
(从音乐CD上“刮写”除了第一道音轨之外的所有音轨,因为第一个音轨要用来存放数据)
 
cdrecord -v speed=2 dev=0,0,0 -data cd_image -audio track*
 
(把数据和音乐一个接一个的写到光盘上)
 
 
 CD复制
 
绝大部分的CD都可以使用以上方法把数据或者音乐复制到硬盘上。但是有些CD却不行。
 
举个例子,以下这些CD必须用特殊的办法来处理:可自启动的CD(比如Linux的安装光盘),要求标签的CD,有数据错误的CD盘片等。对于数据CD,我一般使用以下命令做一个备份:
 
dd if=/dev/cdrom of=cd_image
cdrecord -v speed=2 dev=1,0,0 -data cd_image
 
第一条命令: dd复制所有输入文件(在这个例子里是/dev/cdrom)到硬盘上的一个输出文件上(在这个例子里, 文件存放在当前的目录下,文件名是cd_image)。
 
第二条命令: cdrecord复制文件上面产生的文件“cd_image”到一张空白的CD上。
 
对于有数据错误的CD,你可以尝试使用:
 
dd conv=noerror,notrunc if=/dev/cdrom of=cd_image
cdrecord -v speed=2 dev=1,0,0 -data cd_image
 
可选项“conv=noerror,notrunc”指定潜在的读盘错误将被忽略,出错的文件不要截断。对于音乐CD,我使用以下命令:
 
cdparanoia -B "1-" 
 
 (把音乐CD所有音轨刮写到当前目录下,对应的音频文件的名称是track01.cdda.wav, track02.cdda.wav…)
 
cdrecord -v speed=2 dev=1,0,0 -audio track*
 
(把所有的音频文件刻录到CD上,每个音轨之间的时间间隔是2秒)
 
如果要以最准确的方法复制CD, cdrecord手册的建议如下:
 
cdda2wav -v255 -D2,0 -B –Owav
cdrecord -v dev=2,0 -dao -useinfo *.wav
 
如果要复制一张混合模式的CD,使用:
 
dd if=/dev/cdrom of=cd_image
 
 (当数据部分结束,音轨部分开始的时候,dd命令会有一个错误信息,这个错误是意料之中,不会造成什么没有问题)
 
cdparanoia -B "2-" 
 
(“刮写”音乐CD上除了第一道音轨以外的所有音轨,因为第一道上面存放的数据内容)
 
cdrecord -v speed=2 dev=1,0,0 -data cd_image -audio track*
 
(再把所有的数据和音频文件一个接一个的写道CD上)
 
 
 可多次复写的CD(CDRW,Re-writable CDs)
 
CDRW的处理和普通的CDR(write-once CD,只能写一次)没有什么很大的区别。但是在你使用之前,必须把它变成“清洗”成空白的盘片:
 
cdrecord -v speed=2 dev=1,0,0 blank=fast
 
关于如何“清洗”CDRW盘片,使用命令:
 
cdrecord blank=help
 
举个例子,以下“清洗盘片”的命令在我的计算机上大概要运行半小时,但是如果没有什么敏感数据在上面,也不是非要这样做不可。
 
cdrecord dev=0,0,0 blank=disk
 
 还有,要记得一些老的音响设备不能播放CD-R刻录的音乐。
 
 
 简化一些冗长的命令
 
要简化在使用cdrecord(或者cdrdao)冗长的命令,我可以使用把以下一行内容加入道文件 /etc/bashrc里:
 
alias cdrecord="cdrecord -v speed=2 dev=1,0,0"
 
重新登录后使得/etc/bashrc开始有效。然后,我就可以使用以下短得多的命令 (不需要老是指定CD刻录机的速度和设备的名字):
 
cdrecord -audio track*
 
 
 6.7         使用gnuplot自动画图
 
gnuplot是一个可以根据数据或者数学公式自动产生图表的非常号的工具。对于交互的图形生成,我比较喜欢电子表格。如果你根据“模板”从大量的数据里生成可视化图形,在这个过程中需要不断进行调整,对于不那么流行的gnuplot可能会有点不那么顺手。gnuplot有很多灵活的特性,但是需要时间去学习。设计一个复杂的图形模板有些时候要花掉我两小时的时间(但是可以接受,因为模板可以在以后重复使用)。最好的办法是启动gnuplot, 然后在“gnuplot>”的提示符下,输入“help”。gnuplot在Linux和Windows下都有效。
 
我的数据存放在文本文件(ASCII, *.dat)里。我的“图形模板”存放在gnuplot“命令”文件里(*.gnu)。输出将会输出道图形文件里(*.png),该图形文件可以被打印或者输出道其他的字处理软件里。
 
以下是一个从命令文件“make_graphs.gnu”产生图形输出的例子,运行命令:
 
gnuplot make_graphs.gnu
 
显示输出结果,我可以输入(在 X 终端):
 
display my_graph.png
 
用于生成两维图形的文件 "make_graphs.gnu"例子 如下页所示:
 
 
 
 
 
 
 
 
 
# 以#开头的都是注释行
# 给图形打上日期和时间戳
 
set timestamp "%Y-%m-%dT%T%z"
 
# 以下设置图形的解析度(缺省值100)
 
set samples 600
 
# 把输出存为一个 *.png的文件,并设置为彩色
set output "my_plot.png"
set terminal png color
 
 #interesting terminals: png, x11, postscript, postscript eps, hpgl
 
set title "My Graph"            # 设置图形的标题
set xlabel "Distance [m]"       # 设置x轴的第一个标题(底部)
set x2label "Distance [feet]"   # 设置x轴的第二个标题(顶部)
set ylabel "sin meters"         # 设置y轴的第一个标题(左侧)
set y2label "log feet"          # 设置y轴的第二个标题(右侧)
set xtics                       # 控制坐标轴上的刻度
set x2tics; set ytics; set y2tics       # 同一行上的命令可以使用“;”来分隔
set mytics                      # 设置坐标轴上的最小值,这里我把它加到y轴上
set xrange [0:15]               # 在x轴上的数值范围
set x2range [0:15.0/0.305]      # 把“米”制量度转化成“英尺”
set yrange [*:*]                # "*" 设置数值范围为自动
set y2range [*:*]               # 设置y轴的第二个数值范围(右侧)
set nologscale                  # 控制画图的类型,缺省是线性
set nogrid                      # 或者 "set grid", 设置不画格子,缺省是nogrid
set key outside                 # 或者 "set nokey",设置标注的位置
 
# 以下的行使用4个不同的系列生成图形:
plot sin(x) axes x1y1, log(x) axes x2y2, "data.dat" using 1:2, /
"data.dat" using 1:3
# 比较长的行可以使用“/”来分隔
# 第三个系列使用数据文件里的第一和第二列数据
# 第四个图形从数据文件里采用第三列的数据和第一列的数据做对照

Linux应用程序简介相关推荐

  1. Linux启动跟windows启动,Windows,Linux启动机制简介

    前言 本文内容只集中在操作系统启动原理的讲解上,不涉及启动的技术细节,因为这些细节都可以通过网络或者相关代码了解.只有了解了启动原理,才能在分析和解决有关启动的问题时具有针对性,不会有无从下手的感觉. ...

  2. 资料收集新一代 Linux 文件系统 btrfs 简介

    来自: http://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/ Btrfs 简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext ...

  3. 面向dba的linux shell 脚本简介,面向 DBA 的 Linux Shell 脚本简介

    DBA:Linux 面向 DBA 的 Linux Shell 脚本简介 作者:CasimirSaternos 学习一些在 Linux 上安装.运行和维护 Oracle 数据库所需的基本 bash sh ...

  4. zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计

    原标题:如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计 简介 作者: Alex He (何晔), 赛灵思高级嵌入式应用工程师 这里的 UIO 即 Userspa ...

  5. Linux Namespace机制简介

    最近Docker技术越来越受到关注,作为Docker中很重要的一项技术,Namespace也就经常在Docker的简介里面看到. 在这里总结一下它的内部机制.也解决一下自己原来的一些疑惑. Names ...

  6. [转] Windows完成端口与Linux epoll技术简介

    Windows完成端口与Linux epoll技术简介 2008-01-03 16:18 WINDOWS完成端口编程1.基本概念 2.WINDOWS完成端口的特点 3.完成端口(Completion ...

  7. Linux 小程序开发日记(终章)(pyqt+yolov5)

    Linux 小程序开发日记(终章) 哈喽大家好,我是爱喝欢乐水的柳橙汁,这一篇,是最后一篇啦.我会将所有个过程都梳理一遍. 关于代码的详细注释,大家就参考一下之前的笔记吧.这一篇博客我就放上我精简的代 ...

  8. Linux安全原理简介

    Linux安全原理简介 介绍 在设置Linux计算机的所有阶段,安全性应是首要考虑之一.要在计算机上实施良好的安全策略,需要对Linux的基础知识以及所使用的某些应用程序和协议有充分的了解. Linu ...

  9. linux 网络安全工具,常用的Linux网络安全工具简介

    常用的Linux网络安全工具简介 互联网   发布时间:2008-10-08 22:12:04   作者:佚名   我要评论 常用的Linux网络安全工具简介 尽管各种版本的Linux distrib ...

最新文章

  1. 数据绑定以及Container.DataItem绑定技巧
  2. linux 设置开机命令提示符,centos设置开机默认命令行启动
  3. 兼容软件多的linux,现在有多少种同Linux系统兼容的软件?
  4. NYOJ 17 单调递增最长公共子序列
  5. 《You Only Look Once: Unified, Real-Time Object Detection》YOLO一种实时目标检测方法 阅读笔记(未完成版)
  6. UI5的货币显示格式的逻辑
  7. matlab18a安装步骤,MATLAB R2018a图文安装教程
  8. 什么是Apple Pay?
  9. BIOS 虚拟化技术
  10. 联通将推自有品牌手机沃Phone 基于Android
  11. HTML表单元素、标签、iframe内联框架 详细代码图解
  12. 25 - 线程池和指令系统
  13. 我心里优秀架构师是怎样的?
  14. 2021-02-03-linux命令
  15. mysql 事件及定时器
  16. 国信证券学习系列(7)
  17. 使用docx4j 实现word转pdf(linux乱码处理)
  18. VVC学习之五:VTM帧内预测工具详解
  19. 系统分析师论文4:论需求分析方法及应用
  20. c语言编程三角波,DA转换 方波,锯齿波,三角波 C语言 编程

热门文章

  1. java重写需要注意的
  2. 长连接与短连接、全双工与半双工,单工
  3. redis有序集合sorted set(zset)数据类型相关命令介绍及使用
  4. 圆柱坐标系(Polar或Cylindrical coordinate system)
  5. Unity(C#) 虚方法详解
  6. 【c语言】my_strcat实现字符串连接
  7. nomodeset,quiet和splash内核参数是什么意思?
  8. 基于jupyter编程环境下——Python入门:列表4
  9. 原生微信小程序,搜索框(search)组件
  10. Ubuntu引导修复/Ubuntu的暴力安装方法