??xml version="1.0" encoding="utf-8" standalone="yes"?> Vi 在初始启动后首先q入~辑模式Q这时用户可以利用一些预先定义的按键来移动光标、删除文字?
复制或粘贴文字等。这些按键均是普通的字符Q例?l 是向右移动光标,相当于向右箭头键Qk ?
向下Ud光标Q相当于向下头键。在~辑模式下,用户q可以利用一些特D按键选定文字Q然?再进行删除、或复制{操作? 当用户在~辑模式下键?i, a, o {命令之后,可进入插入模式;键入 : 可进入命名模式?在插入模式下Q用户随后输入的Q除 Esc 之外的Q何字W均被看成是插入到~辑~冲Z 的字W。按 Esc 之后Q从插入模式切换到编辑模式? 在命令模式,Vi 把光标挪到屏幕的最下方Qƈ在第一个字W的位置昄一?:Q冒P。这Ӟ 用户可以键入一些命令。这些命令可用来保存文g、读取文件内宏V执?Shell 命o、设|?Vi 参数、以正则表达式的方式查找字符串或替换字符串等? vi 可进入到一U成?Visual 的模式,在该模式下,用户可以用光标移动命令可视地选择文本Q然后再 执行其他~辑操作Q例如删除、复制等?v 字符选中命o V 行选中命o ?vi 的命令模式下Q可以用复杂的命o。在~辑模式下键?#8220;:”Q光标就跛_屏幕最后一行,q在 那里昄冒号Q此时已q入命o模式。命令模式又U?#8220;末行模式”Q用戯入的内容均显C在屏幕的最?一行,按回车键Qvi 执行命o? 选项讄 Vim 代表 Vi IMprovedQ如同其名称所暗示的那PVim 作ؓ标准 UNIX pȝ vi ~辑器的提高版而存在?Vim 除提供和 vi ~辑器一样强大的功能外,q提供有多恢复、命令行历史以及命o及文件名补全{?功能? gvim ?vi ?X Window 版本Q该版本支持鼠标选中Q一些高U光标移动功能,q且带有菜单和工h钮?
Linux下如何用Vi~辑?
vi 的工作模?/font>
~辑模式
1. Ud光标
要对正文内容q行修改Q首先必L光标Ud到指定位|。移动光标的最单的方式是按键盘的上、下、左?br />
右箭头键。除了这U最原始的方法之外,用户q可以利?vi 提供的众多字W组合键Q在正文中移动光标,q?br />
速到达指定的行或列,实现定位。例如:
k、j、h、l 功能分别{同于上、下、左、右头?br />
Ctrl+b 在文件中向上Ud一(相当?PageUp 键)
Ctrl+f 在文件中向下Ud一(相当?PageDown 键)
H 光标移到屏q的最上行QHighestQ?br />
nH 光标移到屏q的W?n ?br />
2H 光标移到屏q的W?2 ?br />
M 光标移到屏q的中间QMiddleQ?br />
L 光标移到屏q的最下行QLowestQ?br />
nL 光标移到屏q的倒数W?n ?br />
3L 光标移到屏q的倒数W?3 ?br />
w 在指定行内右Ud标,C一个字的开?br />
e 在指定行内右Ud标,C个字的末?br />
b 在指定行内左Ud标,到前一个字的开?br />
0 数字0Q左Ud标,到本行的开?br />
$ 右移光标Q到本行的末?br />
^ Ud光标Q到本行的第一个非I字W?br />
2. 替换和删?/font>
光标定位于文g内指定位|后Q可以用其他字符来替换光标所指向的字W,或从当前光标位置删除一个或?br />
个字W。例如:
rc ?c 替换光标所指向的当前字W?br />
nrc ?c 替换光标所指向的前 n 个字W?br />
5rc ?c 替换光标所指向的前 5 个字W?br />
x 删除光标所指向的当前字W?br />
nx 删除光标所指向的前 n 个字W?br />
3x 删除光标所指向的前 3 个字W?br />
dw 删除光标右侧的字
ndw 删除光标右侧?n 个字
3dw 删除光标右侧?3 个字
db 删除光标左侧的字
ndb 删除光标左侧?n 个字
5db 删除光标左侧?5 个字
dd 删除光标所在行Qƈ去除I隙
ndd 删除 n 行内容,q去除空?br />
3dd 删除 3 行内容,q去除空?br />
3. _脓和复?/font>
从正文中删除的内容(如字W、字或行Qƈ没有真正丢失Q而是被剪切ƈ复制C一个内存缓冲区中。用户可
其_脓到正文中的指定位|。完成这一操作的命令是Q?br />
p 写字母 pQ将~冲区的内容_脓到光标的后面
P 大写字母 PQ将~冲区的内容_脓到光标的前面
如果~冲区的内容是字W或字,直接_脓在光标的前面或后面;如果~冲区的内容为整行正文,则粘贴在当前
光标所在行的上一行或下一行?br />
注意上述两个命o中字母的大小写。vi ~辑器经总一对大、小写字母(?p ?PQ来提供一对相似的功能
。通常Q小写命令在光标的后面进行操作,大写命o在光标的前面q行操作?br />
有时需要复制一D|文到C|,同时保留原有位置的内宏V这U情况下Q首先应当把指定内容复制Q而不?br />
剪切Q到内存~冲区。完成这一操作的命令是Q?br />
yy 复制当前行到内存~冲?br />
nyy 复制 n 行内容到内存~冲?br />
5yy 复制 5 行内容到内存~冲?br />
4. 搜烦字符?/font>
和许多先q的~辑器一Pvi 提供了强大的字符串搜索功能。要查找文g中指定字或短语出现的位置Q可?br />
?vi 直接q行搜烦Q而不必以手工方式q行。搜索方法是Q键入字W?/ Q后面跟以要搜烦的字W串Q然?br />
按回车键。编辑程序执行正向搜索(x文g末尾方向Q,q在扑ֈ指定字符串后Q将光标停到该字W串?br />
开_键入 n 命o可以l箋执行搜烦Q找一字符串下ơ出现的位置。用字符 ? 取代 / Q可以实现反?br />
搜烦Q朝文g开头方向)。例如:
/str1 正向搜烦字符?str1
n l箋搜烦Q找?str1 字符串下ơ出现的位置
?str2 反向搜烦字符?str2
无论搜烦方向如何Q当到达文g末尾或开头时Q搜索工作会循环到文件的另一端ƈl箋执行?br />
5. 撤销和重?/font>
在编辑文档的q程中,为消除某个错误的~辑命o造成的后果,可以用撤消命令。另外,如果用户希望在新
的光标位|重复前面执行过的编辑命令,可用重复命o?br />
u 撤消前一条命令的l果
. 重复最后一条修Ҏ文的命o
6. 文本选中
插入模式
1. q入插入模式
在编辑模式下正确定位光标之后Q可用以下命令切换到插入模式Q?br />
i 在光标左侧输入正?br />
a 在光标右侧输入正?br />
o 在光标所在行的下一行增L?br />
O 在光标所在行的上一行增L?br />
I 在光标所在行的开头输入正?br />
A 在光标所在行的末输入正?br />
上面介绍了几U切换到插入模式的简单方法。另外还有一些命令,它们允许在进入插入模式之前首先删MD?br />
正文Q从而实现正文的替换。这些命令包括:
s 用输入的正文替换光标所指向的字W?br />
ns 用输入的正文替换光标右侧 n 个字W?br />
cw 用输入的正文替换光标右侧的字
ncw 用输入的正文替换光标右侧?n 个字
cb 用输入的正文替换光标左侧的字
ncb 用输入的正文替换光标左侧?n 个字
cd 用输入的正文替换光标的所在行
ncd 用输入的正文替换光标下面?n ?br />
c$ 用输入的正文替换从光标开始到本行末尾的所有字W?br />
c0 用输入的正文替换从本行开头到光标的所有字W?br />
2. 退出插入模?/font>
退出插入模式的Ҏ是,?ESC 键或l合键Ctrl+[ ?br />
1.6.4 命o模式
1. 退出命?/font>
在编辑模式下可以?ZZ 命o退?vi ~辑E序Q该命o保存Ҏ文所作的修改Q覆盖原始文件。如果只需?br />
退出编辑程序,而不打算保存~辑的内容,可用下面的命令:
: q 在未作修改的情况下退?br />
: q! 攑ּ所有修改,退出编辑程?br />
2. 行号与文?/font>
~辑中的每一行正文都有自q行号Q用下列命o可以Ud光标到指定行Q?br />
: n 光标移到第 n ?br />
命o模式下,可以规定命o操作的行可围。数值用来指定绝对行P字符“.”表示光标所在行的行P字符
W?#8220;___FCKpd___8rdquo;表示正文最后一行的行号Q简单的表达式,例如“.+5”表示当前行往下的W?5 行。例如:
:345 光标移到第 345 ?br />
:345w file 第 345 行写?file 文g
:3,5w file 第 3 行至W?5 行写?file 文g
:1,.w file 第 1 行至当前行写?file 文g
:.,$w file 当前行x后一行写?file 文g
:.,.+5w file 从当前行开始将 6 行内容写?file 文g
:1,$w file 所有内容写?file 文gQ相当于 :w file 命o
在命令模式下Q允总文g中读取正文,或将正文写入文g。例如:
:w 编辑的内容写入原始文gQ用来保存编辑的中间l果
:wq 编辑的内容写入原始文gq出编辑程序(相当?ZZ 命oQ?br />
:w file 编辑的内容写入 file 文gQ保持原有文件的内容不变
:a,bw file 第 a 行至W?b 行的内容写入 file 文g
:r file d file 文g的内容,插入当前光标所在行的后?br />
:e file ~辑新文?file 代替原有内容
:f file 当前文仉命名?file
:f 打印当前文g名称和状态,如文件的行数、光标所在的行号{?br />
3. 字符串搜?/font>
l出一个字W串Q可以通过搜烦该字W串到达指定行。如果希望进行正向搜索,待搜烦的字W串|于两个“
/”之间Q如果希望反向搜索,则将字符串放在两?#8220;?”之间。例如:
:/str/ 正向搜烦Q将光标Ud下一个包含字W串 str 的行
:?str? 反向搜烦Q将光标Ud上一个包含字W串 str 的行
:/str/w file 正向搜烦Qƈ第一个包含字W串 str 的行写入 file 文g
:/str1/,/str2/w file 正向搜烦Qƈ包含字W串 str1 的行臛_含字W串 str2 的行?br />
?file 文g
4. 正文替换
利用 :s 命o可以实现字符串的替换。具体的用法包括Q?br />
:s/str1/str2/ 用字W串 str2 替换行中首次出现的字W串 str1
:s/str1/str2/g 用字W串 str2 替换行中所有出现的字符?str1
:.,$ s/str1/str2/g 用字W串 str2 替换正文当前行到末尾所有出现的字符?str1
:1,$ s/str1/str2/g 用字W串 str2 替换正文中所有出现的字符?str1
:g/str1/s//str2/g 功能同上
从上q替换命令可以看刎ͼg 攑֜命o末尾Q表C对搜烦字符串的每次出现q行替换Q不?gQ表C只Ҏ?br />
字符串的首次出现q行替换Qg 攑֜命o开_表示Ҏ文中所有包含搜索字W串的行q行替换操作?br />
5. 删除正文
在命令模式下Q同样可以删除正文中的内宏V例如:
:d 删除光标所在行
:3d 删除 3 ?br />
:.,$d 删除当前行至正文的末?br />
:/str1/,/str2/d 删除从字W串 str1 ?str2 的所有行
6. 恢复文g
vi 在编辑某个文件时Q会另外生成一个时文Ӟq个文g的名U通常?. 开_q以 .swp l尾。vi ?br />
正常退出时Q该文g被删除,若意外退出,而没有保存文件的最C改内容,则可以用恢复命令:
:recover 恢复文g
也可以在启动 vi 时利?-r 选项?br />
为控制不同的~辑功能Qvi 提供了很多内部选项。利?:set 命o可以讄选项。基本语法ؓQ?br />
:set option 讄选项 option
常见的功能选项包括Q?br />
autoindent 讄该选项Q则正文自动~进
ignorecase 讄该选项Q则忽略规则表达式中大小写字母的区别
number 讄该选项Q则昄正文行号
ruler 讄该选项Q则在屏q底部显C光标所在行、列的位|?br />
tabstop 讄?Tab 键蟩q的I格数。例?:set tabstop=nQn 默认gؓ 8
mk 选项保存在当前目录的 .exrc 文g?br />
shell 切换
在编辑正文时Q利?vi 命o模式下提供的 shell 切换命oQ无退?vi 卛_执行 Linux 命oQ十?br />
方便。语法格式ؓQ?br />
:! command 执行?shell 命o command 后回?vi
另外Q在~辑模式下,键入 K Q可命o vi 查找光标所在单词的手册,相当于运?man命o?/font>vim ?gvim 的高U特?/font>
[转蝲自竹W炒?Hedong’s blog November 24, 2009]
Java设计模式使用率爬行榜
使用频率 | 所属类?/td> | 模式名称 | 模式 | 单定?/td> |
5 | 创徏?/td> | Singleton | 单例模式 | 保证一个类只有一个实例,q提供一个访问它的全局讉K炏V?/td> |
5 | l构?/td> | Composite | 复合模式 | 对象组合成树Şl构以表C部分整体的关系QComposite使得用户对单个对象和l合对象的用具有一致性?/td> |
5 | l构?/td> | FASADE | 面模?/td> | 为子pȝ中的一l接口提供一致的界面Qfasade提供了一高层接口Q这个接口得子pȝ更容易用?/td> |
5 | l构?/td> | Proxy | 代理 | 为其他对象提供一U代理以控制对这个对象的讉K |
5 | 行ؓ?/td> | Iterator | q代?/td> | 提供一个方法顺序访问一个聚合对象的各个元素Q而又不需要暴露该对象的内部表C?/td> |
5 | 行ؓ?/td> | Observer | 观察?/td> | 定义对象间一对多的依赖关p,当一个对象的状态发生改变时Q所有依赖于它的对象都得到通知自动更新?/td> |
5 | 行ؓ?/td> | Template Method | 模板Ҏ | 定义一个操作中的算法的骨架Q而将一些步骤gq到子类中,TemplateMethod使得子类可以不改变一个算法的l构卛_以重定义该算法得某些特定步骤?/td> |
4 | 创徏?/td> | Abstract Factory | 抽象工厂 | 提供一个创Zpd相关或相互依赖对象的接口Q而无L定它们的具体cR?/td> |
4 | 创徏?/td> | Factory Method | 工厂Ҏ | 定义一个用于创建对象的接口Q让子类军_实例化哪一个类QFactory Method使一个类的实例化延迟C子类?/td> |
4 | l构?/td> | Adapter | 适配?/td> | 一cȝ接口转换成客户希望的另外一个接口,Adapter模式使得原本׃接口不兼容而不能一起工作那些类可以一起工作?/td> |
4 | l构?/td> | Decrator | 装饰模式 | 动态地l一个对象增加一些额外的职责Q就增加的功能来_Decorator模式相比生成子类更加灉|?/td> |
4 | 行ؓ?/td> | Command | 指o模式 | 一个请求封装ؓ一个对象,从而你可以用不同的请求对客户q行参数化,对请求排队和记录h日志Q以及支持可撤销的操作?/td> |
4 | 行ؓ?/td> | State | 状态模?/td> | 允许对象在其内部状态改变时改变他的行ؓ。对象看hg改变了他的类?/td> |
4 | 行ؓ?/td> | Strategy | {略模式 | 定义一pd的算法,把他们一个个装hQƈ使他们可以互相替换,本模式得算法可以独立于使用它们的客戗?/td> |
3 | 创徏?/td> | Builder | 生成?/td> | 一个复杂对象的构徏与他的表C相分离Q得同L构徏q程可以创徏不同的表C?/td> |
3 | l构?/td> | Bridge | 桥模?/td> | 抽象部分与它的实现部分相分,使他们可以独立的变化?/td> |
3 | 行ؓ?/td> | Chain of Responsibility | 职责?/td> | 使多个对象都有机会处理请求,从而避免请求的送发者和接收者之间的耦合关系 |
2 | 创徏?/td> | Prototype | 原型 | 用原型实例指定创建对象的U类Qƈ且通过拯q些原型来创建新的对象?/td> |
2 | l构?/td> | Flyweight | 享元 | |
2 | 行ؓ?/td> | Mediator | 中介?/td> | 用一个中介对象封装一些列的对象交互?/td> |
2 | 行ؓ?/td> | Visitor | 讉K?/td> | 表示一个作用于某对象结构中的各元素的操作,它你可以在不改变各元素cȝ前提下定义作用于q个元素的新操作?/td> |
1 | 行ؓ?/td> | Interpreter | 解释?/td> | l定一个语aQ定义他的文法的一个表C,q定义一个解释器Q这个解释器使用该表C来解释语言中的句子?/td> |
1 | 行ؓ?/td> | Memento | 备忘?/td> | 在不破坏对象的前提下Q捕获一个对象的内部状态,q在该对象之外保存这个状态?/td> |
转自2004q?期《CSDN开发高手?/p>
基本概念Q?/strong>
从分cL_Singleton 属于创徏?Construction)模式Q最基本的目标是要保证在一个JVM中,一?Class 最多只有一个实例存在。而要达成q个目标背后的驱动力是: 减少不必要的资源和时间的开销?/p>
Singleton 最Ҏ的h值就在于“节省资源”!管q种设计被广泛用,但是在单U程或低q发环境中,它在性能和资源节省上带来的h值ƈ不大Q越是高q发的多U程环境QSingleton 所能带来的价D明显Q?当然前提是你能够正确使用?
反驳Q?/strong>
1. 现在有些文章Q其实是老外Nq前p的问题)在评论到底还需不需要用 Singleton 模式Q在讨论 Singleton 是不是邪恶的Q) 其实辩证地看Q世间被没有什么东西是l对好或不好Q关键看你怎么利用它。如果程序员?Singleton 模式理解不深Q不恰当使用Q确实会D严重问题Q但q不代表q个模式是不该存在的。就如同C语言的指针,很多人用错,但是不能说指针就是一个错误的设计。是天ɘq是鬼都取决与利用它的人?/p>
2. 现在有些 Singleton 已经q时了,不需要了Q仿?IOC 模式已经把一切关?bean 创徏的问题都解决了。我不这栯为。也许现在程序员或架构师已经不需要自己实?Singleton 了,但这只是因ؓ Singleton 的实现已l被一些成熟的框架包办Q程序员不需要自己去兛_了,q不是说 Singleton 不存在。我们仍焉要控制对象实例的数目来达到节省资源,减少开销的目的!如果E序员对 Singleton 没有_的理解,也很难正有效得使用帮我们包办一切的框架Q如 Spring?/p>
模式实现Q?/strong>
l过Z?Singleton 多年的用,通常有两U公认的U程安全的实玎ͼq全部Q:
1. Lazy initialization:
提供一个synchronized getInstance() Ҏ来检查对象实例是否已创徏。如果是Q直接返回引用;如果不是Q创建实例ƈq回。ƈ缺省的构造器Ҏ定义?privateQ?/p>
class Singleton {
private static Singleton _instance;
private int _state;
private Singleton() {
_state = 0;
}
public static synchronized Singleton getInstance() {
if (_instance == null)
_instance = new Singleton();
return _instance;
}
}
2. Aggressive initialization:
抛弃 synchronizedQ而用静态属性,在类载入时立卛_始化Q同样需要把~省的构造器Ҏ定义?private:
class Singleton {
private int _state;
private static Singleton _instance = new Singleton();
private Singleton() {
_state = 0;
}
public static Singleton getInstance() {
return _instance;
}
}
问题分析Q?/strong>
1. 上面的第一U实现虽然可行,但是有一个缺点就是多余的 synchronized 消耗:事实?Singleton 的实例化只有在第一ơ实际进?new Singleton() 的时候需?synchronizedQ从那以后每ơ调?getInstance() Ҏ只需要简单返?_instance 引用可以了Q而此?synchronized 需要的消耗就成了费Q?/p>
2. 我曾l在不止一ơ的目中看到过如下的代码来实现 SingletonQ这是ؓ了解决上面的 synchronized 费Q?/p>
class Singleton {
private static Singleton _instance;
private int _state;
private Singleton() {
_state = 0;
}
public static Singleton getInstance() {
if (_instance == null) {
synchronized (Singleton.class) {
_instance = new Singleton();
}
}
return _instance;
}
}
q个实现在单U程环境下不会出问题Q但是放到ƈ发的环境中是有问题的Q线Eƈ不真正安全。多个线E有可能同时q入 if(_instance == null) 内部Q而导致程序实际创建出多个对象实例Q?/p>
3. q有一U?Double-checked locking 的实玎ͼ试图解决上面两个问题Q?/p>
class Singleton {
private static Singleton _instance;
private int _state;
private Singleton() {
_state = 0;
}
public static Singleton getInstance() {
if (_instance == null) {
synchronized (Singleton.class) {
if (_instance == null)
_instance = new Singleton();
}
}
return _instance;
}
}
可以看到q个实现煞费苦心Q在 synchronized 内部再判断一?if(_instance == null)。于是在单线E和低ƈ发环境下Q这个实现很隑և问题了,但是C_高ƈ发的环境中,U程再次变得不安全。这个问题是?Java q_的内存模式引LQ也与不同的 JIT ~译器的~译方式有关Q称之ؓ“out-of-order writes”:一个实?_instance 有可能在 new Singleton() 没有完全初始化的时候就已经不再?nullQ于是ƈ发线E可能得C个没有完全初始化的实例,从而引起错误?/p>
有很多关?Double-checked locking ?out-of-order writes 的分析文章,推荐Q?/p>
Double-checked locking and the Singleton pattern
4. 看过一些关?Singleton 的文章,提到 Singleton 的另一个用途,可以用来保持全局状态,如网站计数器。确?Singleton 可以帮助我们辑ֈq个目的Q但是仔l想惻I其实L一个类静态变量都可以辑ֈq个目的QSingleton不是必需。而且考虑 Singleton 模式使用中带有的陷阱Q它q不是一个好的办法来辑ֈ保持全局状态的目的?/p>
5. Singleton 模式只能保证在单 JVM 中只创徏一个对象实例!相同的代码一旦部|到集群或分布式环境中就可能出错QSingleton 完全失效了!在分布式环境中,StatelessSession bean 是一个好的选择?/p>
6. lg所qͼSingleton 模式有它特定的适用场合Q达到特定的目的Q节省资源!Q。除非必要,量不要?SingletonQ?/p>
首先是安装:
Ubuntu的安装其实很单,但因为我光驱的问题(唉,怀疑我的DVD-RAM光驱老化了)Q折腾了好几?#8230; 最l放弃想d一张启动DVD盘的试Q另辟蹊径,却发C个简单得多的办法QU盘启动:Q?/p>
先说明,从官|下载了 ubuntu-9.10-desktop-i386.iso 镜像后,其实随便用一个光盘镜像工具就可以加蝲q安?Ubuntu 了,但是q种方式不能?Ubuntu 安装C个独立的Linux分区Q它?Windows 使用相同的分区,像其它应用E序一Ppȝ性能会受到很大的影响?/p>
q是我的ҎQ当然是|上扑ֈ的方?http://ubuntuforums.org/showthread.php?t=427540Q:
1. 从官|下?ubuntu-9.10-desktop-i386.iso 镜像 http://www.ubuntu.org.cn/;
2. 下蝲一?UNetbootin 工具(http://zh.wikipedia.org/wiki/UNetbootin)Q该工具用于制作 Live USB pȝQ可以制作各U?Linux pȝ的安装盘Q而不需要光盘?
UNetbootin 讄Q?/p>
a. Distribution: Ubuntu, Daily Live; (我下载的 UNetbootin 中暂时还没有专门针对 v9.10 的,所以我选了q个)
b. Diskimage: ISO, <选择我下载的iso镜像>
c. Type: USB Drive, <U盘的盘符>
定之后该工具会把所有安装Ubuntu需要的文g复制到U盘,q且制作引导E序Q之后重?#8230;
3. 重启后选择从U盘启动,GRUBE序会自动运行,之后的安装和用光盘启动是一LQ不用多讲的Q非常简单?/p>
唯一需要指出的是:安装q程中会让你选择?Ubuntu 安装到哪个盘Q徏议你安装C个独立的分区Q而不要和 Windows side by side (如果你要保留 Windows 的话)Q另外创Z个和物理内存大小相同?Linux Swap 分区Q这些都是安?Linux 的常识了?/p>
配置应用Q?/p>
1. 无线|连?/p>
Ubuntu 可以很好地支持大多数|卡Q自动检到附近的无U网。点d上角的无U网图标Q选择我的|络q输入WEP密钥QOK了,非常单!
2. 中文输入Q我装的是英文系l,如果Ubuntu安装时就是选择体中文,可能没有q么ȝ吧)
首先需要给pȝ安装语言包,使得 Linux 支持该语a的文字显C和输入。进?System"- "Administration" - "Language Support" H口, 首先是一大推包下载和安装Q应该是pȝ基本的语a支持包;
完成后,?"Language Support" H口中点?"Install/Remove Language"Q选择 "Chinese(simplified)" q中所有的选项Q应?#8230; 于是开?5个语a包的下蝲和安装(q回肯定是支持简体中文的了)Q?/p>
上一步完成后中文输入已l安装了Q不q需要手动添加到可用的输入法中:?"Language Support" 中输入法选择 "ibus"Q这是一?Linux 下的输入法^収ͼ代替以前老的 SCIMQ。再?"System"- "iBus Setup" 中启?ibus 应用Qƈ且选择 “PinYin”{你需要的中文输入法添加到列表Q设|输入法切换快捷键,完成Q?/p>
重启… 搞定Q(之前我尝试安装基于SCIM的fcitx和fitxQLp|… 攑ּQ?个h觉得Z ibus 的输入法已经很不错了?/p>
/ 根目?
?
├boot/ 启动文g。所有与pȝ启动有关的文仉保存在这?
? └grub/ Grub引导器相关的文g
?
├dev/ 讑֤文g
├proc/ 内核与进E镜?
?
├mnt/ 临时挂蝲
├media/ 挂蝲媒体讑֤
?
├root/ root用户?HOME目录
├home/
? ├user/ 普通用L$HOME目录
? ?../
?
├bin/ pȝE序
├sbin/ 理员系l程?
├lib/ pȝE序库文?
├etc/ pȝE序和大部分应用E序的全局配置文g
? ├init.d/ SystemV风格的启动脚?
? ├rcX.d/ 启动脚本的链接,定义q行U别
? ├network/ |络配置文g
? ├X11/ 囑Ş界面配置文g
?
├usr/
? ├bin/ 应用E序
? ├sbin/ 理员应用程?
? ├lib/ 应用E序库文?
? ├share/ 应用E序资源文g
? ├src/ 应用E序源代?
? ├local/
? ? ├soft/ 用户E序
? ? ?../ 通常使用单独文g?
? ├X11R6/ 囑Ş界面pȝ
?
├var/ 动态数?
?
├temp/ 临时文g
├lost+found/ 盘修复文g
1. 改变路径Q?span style="color: #0000ff">cd /home/yaoanf
2. 删除目录Q?span style="color: #0000ff">rm -r /usr/HTTPServer/htdocs/en_US/wwprt/modelReport
3. FTP上传Q?span style="color: #0000ff">ftp D:/workspace/modelReport to /home/yaoanf
4. Ud目录Q?span style="color: #0000ff">mv /home/yaoanf/modelReport /usr/HTTPServer/htdocs/en_US/wwprt
5. 修改权限Q?span style="color: #0000ff">chmod -R 755 /usr/HTTPServer/htdocs/en_US/wwprt/modelReport