2011年(5)
分类: 系统运维
2011-10-12 15:33:26
用途:在文件中搜索模式。
-p 显示段落
wc 命令
用途:计算文件中的行数、字数、字节数或字符数。
-l | 统计行数。 |
more 命令
用途:每次显示一屏文件内容。
more 命令读取文件,而且每次一屏显示文本。该命令在每屏后暂停,并在屏幕底部打印单词 More。如果随后按回车键,more 命令会再显示一行。如果按下空格键,more 命令显示文本的另一屏。
tail 命令
用途:显示文件的最后几行。
-f | 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。 |
-n Number | 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。 |
rm 命令
用途:除去(解链)文件或目录。
-e | 在每一个文件被删除后显示消息。 |
-f | 在除去有写保护的文件前不提示。如果指定的文件不存在,不显示错误消息或返回错误状态。如果 -f 和 -i 标志都被指定,最后指定的标志起作用。 |
-i | 删除每个文件前提示。但一起使用 -i 和 -r 标志时,rm 命令在删除目录前也提示。如果 -i 和 -f 标志都被指定,最后指定的标志起作用。 |
-r | 当 File 参数为目录时允许循环的删除目录及其内容。本标志等同于 -R 标志。 |
Vi命令 vi 编辑方式
vi 编辑器按以下方式操作:
命令方式 | 当启动 vi 编辑器时,它处于命令方式。您可以输入任何子命令,除了那些指定仅用于文本输入方式的子命令。当子命令和其他方式结束时,vi 编辑器返回命令方式。按 Esc 键取消子命令。 |
文本输入方式 | 在此方式中使用 vi 编辑器来添加文本。使用以下任一子命令进入文本输入方式: 子命令、 子命令、 子命令、 子命令、 子命令、 子命令、子命令(其中 x 代表子命令的作用域)、 子命令、 子命令、 子命令和 子命令。输入这些子命令之一后,即可输入文本到编辑缓冲区中。要返回命令方式,按 ESC 键正常退出或按“中断”(Ctrl-C 按键顺序)非正常结束。 |
最后行方式 | 带前缀 :(冒号)、/(斜杠)、?(问号)、!(感叹号)或 !!(两个感叹号)的子命令在屏幕底部的显示行上读取输入。当输入初始字符时,vi 编辑器将光标置于屏幕底部,在该处可以输入命令中剩余的字符。按 Enter 键运行该子命令,或按“中断”(Ctrl-C 按键顺序)取消它。当使用 !! 前缀时,光标只在两个感叹号都输入后才移动。当使用 : 前缀进入最后行方式时,如果在指定计数的命令之前使用以下字符,vi 编辑器赋予它们特定含义: % 所有行,而不管光标的位置 $ 最后行 . 当前行 注: 可以使用向上和向下方向键来浏览最后行方式子命令的历史记录。 |
左箭头或 h 或 Ctrl-H | 将光标左移一个字符。 |
下箭头或 j 或 Ctrl-J 或 Ctrl-N | 将光标下移一行(它仍然在同一列中)。 |
上箭头或 k 或 Ctrl-P | 将光标上移一行(它仍然在同一列中)。 |
右箭头或 l | 将光标右移一个字符。 |
在命令方式中输入以下子命令。可以通过按 Esc 键取消不完整的命令。
^ | 将光标移到第一个非空字符。 |
0 | 将光标移到行的开始。 |
$ | 将光标移到行尾。 |
fx | 将光标移到下一个 x 字符。 |
Fx | 将光标移到最后一个 x 字符。 |
tx | 将光标移到下一个 x 字符的前一列。 |
Tx | 将光标移到最后一个 x字符的后一列。 |
; | 重复最近的 f、F、t 或 T 子命令。 |
, | 以反方向重复最近的 f、F、t 或 T 子命令。 |
Number| | 将光标移到指定列。 |
在命令方式中输入以下子命令。
w | 将光标移到下一个小字。 |
b | 将光标移到前一个小字。 |
e | 将光标移到下一个小字的结尾。 |
W | 将光标移到下一个大字。 |
B | 将光标移到前一个大字。 |
E | 将光标移到下一个大字的结尾。 |
在命令方式中输入以下子命令。
H | 将光标移到屏幕的顶行。 |
L | 将光标移到屏幕的最后一行。 |
M | 将光标移到屏幕的中间行。 |
+ | 将光标移到它的第一个非空字符的下一行。 |
- | 将光标移到它的第一个非空字符的前一行。 |
Enter | 将光标移到它的第一个非空字符的下一行。 |
( | 将光标置于前一句的开始,或前一个 s 表达式(如果处于 LISP 方式)。 |
) | 将光标置于下一句的开始,或下一个 s 表达式(如果处于 LISP 方式)。 |
{ | 将光标置于前一个段落的开始,或下一个列表(如果处于 LISP 方式)。 |
} | 将光标置于下一个段落的开始,如果处于 C 方式,则置于下一节,或者如果处于 LISP 方式则置于下一个列表。 |
]] | 将光标置于下一节,或者下一个函数(如果处于 LISP 方式)。 |
[[ | 将光标置于前一节,或者前一个函数(如果处于 LISP 方式)。 |
z | 重绘屏幕,并使当前行位于屏幕顶部。 |
z- | 重绘屏幕,并使当前行位于屏幕底部。 |
z. | 重绘屏幕,并使当前行位于屏幕中间。 |
/Pattern/z- | 重绘屏幕,使包含 Pattern 参数指定的字符串的行位于屏幕底部。 |
Ctrl-U | 向上滚动 1/2 屏幕。 |
Ctrl-D | 向下滚动 1/2 屏幕。 |
Ctrl-F | 向前滚动一个屏幕。 |
Ctrl-B | 向后滚动一个屏幕。 |
Ctrl-E | 将窗口向下滚动一行。 |
Ctrl-Y | 将窗口向上滚动一行。 |
z+ | 向上翻页 |
z^ | 向下翻页 |
[Number]G | 将光标置于由 Number 参数指定的行号,或者最后一行(如果没有指定 Number 参数)。 |
/Pattern | 将光标置于包含由 Pattern 参数指定的字符串的行的下一行。 |
?Pattern | 将光标置于包含由 Pattern 参数指定的字符串的行的上一行。 |
n | 在同一方向重复上次对 Pattern 参数指定的文本的搜索。 |
N | 在相反方向重复上次对 Pattern 参数指定的文本的搜索。 |
/Pattern/+Number | 将光标置于与由 Pattern 参数指定的字符串相匹配的行后面的指定行数。 |
?Pattern?-Number | 将光标置于与由 Pattern 参数指定的字符串相匹配的行前面的指定行数。 |
% | 查找与当前光标位置的括号或大括号相匹配的括号或大括号。 |
" | 将光标移到当前行的前一位置。 |
" | 将光标移到包含当前行前一位置的行的开始。 |
mx | 用 x 参数指定的字母标记当前位置。 |
`x | 将光标移到由 x 参数指定的标记。 |
'x | 将光标移到包含由 x 参数指定的标记的行的开始。 |
aText | 在光标后面插入由 Text 参数指定的文本。按 Esc 键结束文本输入方式。 |
AText | 添加由 Text 参数指定的文本到行尾。按 Esc 键结束文本输入方式。 |
iText | 在光标前面插入由 Text 参数指定的文本。按 Esc 键结束文本输入方式。 |
IText | 在行中的第一个非空字符前插入由 Text 参数指定的文本。按 Esc 键结束文本输入方式。 |
o | 在当前行的下面添加一个空行。按 Esc 键结束文本输入方式。 |
O | 在当前行的上面添加一个空行。按 Esc 键结束文本输入方式。 |
仅当处于文本输入方式时使用以下子命令。这些命令在命令方式中有不同的含义。
Ctrl-D | 回退到前一个自动缩排停止位。 |
^ Ctrl-D | 只结束该行的自动缩排。 |
0Ctrl-D | 将光标退回到左页边。 |
Esc | 结束插入并返回到命令状态。 |
Ctrl-H | 擦除上一个字符。 |
Ctrl-Q | 如果 xon 禁用则输入任意字符。 |
Ctrl-V | 输入任意字符 |
Ctrl-W | 擦除上一个小字。 |
\ | 引用擦除和行删除符。 |
Ctrl-? | 中断并结束插入或 Ctrl-D 按键顺序。 |
C | 更改行的剩余部分(同 c$ 一样)。 |
cc | 更改一行 |
cw | 更改一个单词 |
cwText | 将字更改为 Text 参数指定的文本。 |
D | 删除行的剩余部分(同 d$ 一样)。 |
dd | 删除一行。 |
dw | 删除一个单词。 |
J | 连接行。 |
rx | 用 x 指定的字符替换当前字符。 |
RText | 用 Text 参数指定的文本覆盖字符。 |
s | 替代字符(同 cl 一样)。 |
S | 替代行(同 cc 一样)。 |
u | 撤销上次更改。 |
x | 删除光标位置的字符。 |
X | 删除光标前的一个字符(同 dh 一样)。 |
<< | 将一行向左移位。 |
| 将从光标位置开始的所有行向左移到屏幕末尾。 |
>> | 将一行向右移位。 |
>L | 将从光标位置开始的所有行向右移到屏幕末尾。 |
~ | 将光标位置的字母更改为相反的大小写格式。 |
! | 缩排 LISP。 |
在命令方式中使用以下子命令。
p | 将撤销缓冲区中的文本还原到光标之后。 |
P | 将撤销缓冲区中的文本还原到光标之前。 |
"xp | 将 x 缓冲区中的文本还原 |
"xd | 将文本删除到 x 缓冲区。 |
y | 将跟随的对象(例如 word 为 w)放到撤销缓冲区。 |
"xy | 将跟随的对象放到 x 缓冲区,其中 x 为任意字母。 |
Y | 将行放到撤销缓冲区。 |
在命令方式中使用以下子命令。
u | 撤销最后一次更改。 注: 撤销后,光标移到更新过的当前行的第一个非空字符。 |
U | 如果最后一次更改以来光标还没有离开该行,则恢复当前行。 |
. | 重复上次更改或增加 "np 命令。 注:
|
"n | 检索完整行或行块的倒数第 n 次删除。 |
在命令方式中使用以下子命令。
:w | 将编辑缓冲区内容写入原始文件中。如果正在 编辑器中使用这条子命令,不必输入 :(冒号)。 |
:w File | 将编辑缓冲区内容写入由 File 参数指定的文件中。 |
:w! File | 用缓冲区内容覆盖由 File 参数指定的文件。 |
在命令方式中输入以下子命令。
:e File | 编辑指定文件。如果正在从 编辑器使用这条子命令,不必输入 :(冒号)。 |
:e! | 重新编辑当前文件并废弃所有更改。 |
:e + File | 从结尾开始编辑指定文件。 |
:e + Number File | 从指定行号开始编辑指定文件。 |
:e # | 编辑备用文件。在用 :e 命令访问另一个文件之前,备用文件通常是以前的文件名。但是,如果当调用一个新文件时更改在当前文件中处于暂挂状态,则该新文件成为备用文件。这条子命令和 子命令相同。 |
:r File | 通过在当前行下面添加新行,将文件读取到编辑缓冲区。如果正在从 编辑器使用这条子命令,不必输入 :(冒号)。 |
:r !Command | 通过在当前光标位置下面添加新行,运行指定命令并将其输出放到文件中。 |
:ta Tag | 从 Tag 标记符位置开始,编辑包含该标记符的文件。要使用这条子命令,必须首先使用 命令创建一个函数名及其位置的数据库。如果正在从 编辑器使用这条子命令,不必输入 :(冒号)。 |
Ctrl-] | 从标记位置开始,编辑包含与当前字关联的标记的文件。要使用这条子命令,必须首先使用 ctags 命令创建一个函数名及其位置的数据库。Ctrl-T 在先前发出 Ctrl-] 子命令的编辑位置编辑文件。如果已经发出了多个 Ctrl-] 子命令,那么可以使用多个 Ctrl-T 子命令来返回到发出 Ctrl-] 子命令的先前编辑位置。 |
Ctrl-A | 编辑备用文件。备用文件通常使用前一个当前文件名。但是,如果当调用一个新文件时更改在当前文件中处于暂挂状态,则该新文件成为备用文件。这条子命令和 子命令相同。 |
在中输入以下子命令。
:n | 编辑命令行上输入的列表中的下一个文件。如果正从 编辑器使用这条子命令,则不需要 :(冒号)。 |
:n Files | 指定一个要编辑的新文件列表。如果正从 编辑器使用子命令,则不需要 :(冒号)。 |
Ctrl-G | 显示当前文件名、当前行号、文件中行数和光标定位于文件整体的百分比。 |
在命令方式中输入以下子命令。
Ctrl-L | 清除和重绘屏幕。 |
Ctrl-R | 重绘屏幕并消除以 @ (位于符号)标记的空行。 |
zNumber | 使窗口长度能显示指定行数。 |
以下子命令允许在 vi 编辑器内运行命令。在命令方式中输入这些子命令。
:sh | 进入 shell 以便能运行多条命令。通过按 Ctrl-D 按键顺序可以返回到 vi 编辑器。如果正在 编辑器中使用这条子命令,则不需要 :(冒号)。 |
:!Command | 运行指定的命令然后返回到 vi 编辑器。如果正在 编辑器中使用这条子命令,则不需要 :(冒号)。 注: 当跟着 :! 子命令时,#(备用文件)、%(当前文件)和 ! (前面的命令)特殊字符都会扩展。要避免这些字符中的任意字符被扩展,可使用 \ (反斜杠)。 |
:!! | 重复最近一次的 :!Command 子命令。 |
Number !!Command | 运行指定的命令并用命令输出替代由 Number 指定的行。如果没有指定数目,则缺省值是 1。如果命令需要标准输入,则指定的行用作输入。 |
!Object Command | 运行指定命令,并用命令输出替代由 Object 参数指定的对象。如果命令需要标准输入,则指定的对象用作输入。 |
在命令方式中输入以下子命令。
Q | 在命令方式中进入 编辑器。 |
ZZ | 退出 vi 编辑器,保存更改。 |
:q | 退出 vi 编辑器。如果更改了编辑缓冲区的内容,vi 编辑器显示一条警告消息并且不退出。如果正从 编辑器使用这条子命令,则不需要 :(冒号)。 |
:q! | 退出 vi 编辑器,废弃编辑缓冲区。如果正从 编辑器使用这条子命令,则不需要 :(冒号)。 |
Esc | 结束文本输入或结束一条不完整的子命令。 |
Ctrl-? | 中断一条子命令。 |