Linux命令(文档编辑)
1.col
col命令用于过滤控制字符。
在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符”>”和”>>”,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
语法
col [-bfx][-l<缓冲区列数>]
参数:
- -b 过滤掉所有的控制字符,包括RLF和HRLF。
- -f 滤除RLF字符,但允许将HRLF字符呈现出来。
- -x 以多个空格字符来表示跳格字符。
- -l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。
实例
下面以 man 命令帮助文档为例,讲解col 命令的使用。
将man 命令的帮助文档保存为man_help,使用-b 参数过滤所有控制字符。在终端中使用如下命令:
man man | col-b > man_help
注:其中”|”用于建立管道,把man命令的输出结果转为col命令的输入数据。
2.colrm
colrm命令用于滤掉指定的行。
colrm指令从标准输入设备读取书记,转而输出到标准输出设备。如果不加任何参数,则该指令不会过滤任何一行。
语法
colrm [开始行数编号<结束行数编号>]</p>
<p><b>参数说明:</b></p>
<ul>
<li>开始行数编号: 指定要删除的列的起始编号。</li>
<li>结束行数编号: 指定要删除的列的结束编号,有时候这个参数可以省略。</li>
</ul>
<h3>实例</h3>
<p>不带任何参数时该命令不会删除任何列:</p>
<pre>
colrm
按回车键后,光标将在第一行闪烁,等待标准输入,此时输入字符,如”Hello Linux!”,再按回车键后第二行将出现与第一行相同内容,此时按Ctrl+C组合键可以退出。终端中显示的内容如下所示:
cmd@hdd-desktop:~$ colrm
Hello Linux! #输入Hello Linux!字符串
Hello Linux! #输出刚才输入的字符串Hello Linux!
如想要删除第4 列之后的所有内容,可以使用如下命令:
colrm 4
类似于上例,此时标准输入等待输入,用户输入字符串按回车键后,将输出如下结果:
cmd@hdd-desktop:~$ colrm 4
Hello Linux! #输入Hello Linux!字符串
Hel #输出删除了第4列以后所有内容的字符串
删除指定列的内容。如删除第4列到第6列的内容,可使用如下命令:
colrm 4 6
输出的结果如下:
cmd@hdd-desktop:~$ colrm 4 6
Hello Linux! #输入Hello Linux!字符串
HelLinux! #输出删除了从第4列到第6列字符的字符串
3.comm
comm命令用于比较两个已排过序的文件。
这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。若给予的文件名称为”-“,则comm指令会从标准输入设备读取数据。
语法
comm [-123][--help][--version][第1个文件][第2个文件]
参数:
- -1 不显示只在第1个文件里出现过的列。
- -2 不显示只在第2个文件里出现过的列。
- -3 不显示只在第1和第2个文件里出现过的列。
- –help 在线帮助。
- –version 显示版本信息。
实例
aaa.txt 与 bbb.txt 的文件内容如下:
[root@localhost text]# cat aaa.txt
aaa
bbb
ccc
ddd
eee
111
222
[root@localhost text]# cat bbb.txt
bbb
ccc
aaa
hhh
ttt
jjj
<p>执行 comm 命令输出结果如下:</p>
[root@localhost text]# comm aaa.txt bbb.txt
aaa
bbb
ccc
aaa
ddd
eee
111
222
hhh
ttt
jjj
第一列 第二列 第三列
输出的第一列只包含在aaa.txt中出现的行,第二列包含在bbb.txt中出现的行,第三列包含在aaa.txt和bbb.txt中相同的行。各列是以制表符(\t)作为定界符。
4.csplit
csplit命令用于分割文件。
将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02…的文件。若给予的文件名称为”-“,则csplit指令会从标准输入设备读取数据。
语法
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>]
[-n<输出文件名位数>][--help][--version][文件][范本样式...]
参数:
- -b<输出格式>或–suffix-format=<输出格式> 预设的输出格式其文件名称为xx00,xx01…等,您可以通过改变<输出格式>来改变输出的文件名。
- -f<输出字首字符串>或–prefix=<输出字首字符串> 预设的输出字首字符串其文件名为xx00,xx01…等,如果你指定输出字首字符串为”hello”,则输出的文件名称会变成hello00,hello01…等。
- -k或–keep-files 保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
- -n<输出文件名位数>或–digits=<输出文件名位数> 预设的输出文件名位数其文件名称为xx00,xx01…等,如果你指定输出文件名位数为”3”,则输出的文件名称会变成xx000,xx001…等。
- -q或-s或–quiet或–silent 不显示指令执行过程。
- -z或–elide-empty-files 删除长度为0 Byte文件。
- –help 在线帮助。
- –version 显示版本信息。
实例
将文本文件testfile以第 2 行为分界点切割成两份,使用如下命令:
csplit testfile 2
testfile文件中的内容如下:
$ cat testfile #查看testfile 文件内容
hello Linux!
Linux is a free Unix-type operating system.
This is a Linux testfile!
Linux
使用csplit命令,输出结果如下:
$ csplit testfile 2
13 #xx00文件字符个数
76 #xx01文件字符个数
其中第1 行是第一个文件xx00的字符个数,同样,第2 行为第二个文件xx01的字符个数。同时,在testfile 的同目录下将生成两个文件,文件名分别为xx00、xx01,xx00 中的内容为:
$ cat xx00 #查看分割后的xx00文件内容
hello Linux! #testfile文件第1行的内容
xx01 中的内容为:
$ cat xx01 #查看分割后的xx01文件内容
Linux is a free Unix-type operating system. #testfile文件第2行以后的内容
This is a Linux testfile!
Linux
5.ed
ed命令是文本编辑器,用于文本编辑。
ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。
ed命令并不是一个常用的命令,一般使用比较多的是vi 指令。但ed文本编辑器对于编辑大文件或对于在shell脚本程序中进行文本编辑很有用。
语法
ed [-][-Gs][-p<字符串>][--help][--version][文件]
参数:
- -G或–traditional 提供回兼容的功能。
- -p<字符串> 指定ed在command mode的提示字符。
- -s,-,–quiet或–silent 不执行开启文件时的检查功能。
- –help 显示帮助。
- –version 显示版本信息。
实例
以下是一个 Linux ed 完整实例解析:
$ ed <- 激活 ed 命令
a <- 告诉 ed 我要编辑新文件
My name is Titan. <- 输入第一行内容
And I love Perl very much. <- 输入第二行内容
. <- 返回 ed 的命令行状态
i <- 告诉 ed 我要在最后一行之前插入内容
I am 24. <- 将“I am 24.”插入“My name is Titan.”和“And I love Perl very much.”之间
. <- 返回 ed 的命令行状态
c <- 告诉 ed 我要替换最后一行输入内容
I am 24 years old. <- 将“I am 24.”替换成“I am 24 years old.”(注意:这里替换的是最后输的内容)
. <- 返回 ed 的命令行状态
w readme.text <- 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可)
q <- 完全退出 ed 编辑器
这是文件的内容是:
$ cat readme.text
My name is Titan.
I am 24 years old.
And I love Perl vrey much.
6.egrep
egrep命令用于在文件内查找指定的字符串。
egrep执行效果与”grep-E”相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。
egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范。
语法
egrep [范本模式] [文件或目录]
参数说明:
- [范本模式] :查找的字符串规则。
- [文件或目录] :查找的目标文件或目录。
实例
显示文件中符合条件的字符。例如,查找当前目录下所有文件中包含字符串”Linux”的文件,可以使用如下命令:
egrep Linux *
结果如下所示:
$ egrep Linux * #查找当前目录下包含字符串“Linux”的文件
testfile:hello Linux! #以下五行为testfile 中包含Linux字符的行
testfile:Linux is a free Unix-type operating system.
testfile:This is a Linux testfile!
testfile:Linux
testfile:Linux
testfile1:helLinux! #以下两行为testfile1中含Linux字符的行
testfile1:This a Linux testfile!
#以下两行为testfile_2 中包含Linux字符的行
testfile_2:Linux is a free unix-type opterating system.
testfile_2:Linux test
xx00:hello Linux! #xx00包含Linux字符的行
xx01:Linux is a free Unix-type operating system. #以下三行为xx01包含Linux字符的行
xx01:This is a Linux testfile!
xx01:Linux
7.ex
ex命令用于在Ex模式下启动vim文本编辑器。
ex执行效果如同vi -E,使用语法及参数可参照vi指令,如要从Ex模式回到普通模式,则在vim中输入”:vi”或”:visual”指令即可。
语法
ex [选项][参数]
参数说明:
+数字:从文件指定的数字行开始显示
-b:使用二进制模式编辑文件
-c 指令:编辑完第一个文件后执行指定的指令
-d :编辑多个文件时,显示差异部分
-m :不允许修改文件
-n :不使用缓存
-oN:其中 N 为数字
-r :列出缓存,并显示恢复信息
-R :以只读的方式打开文件
-s :不显示任何错误信息
-V :显示指令的详细执行过程
–help :显示帮助信息
–version :显示版本信息
实例
在ex 指令后输入文件名按回车键后,即可进入ex 编辑模式,如编辑testfile文件,使用的命令格式如下:
ex testfile
输出的信息如下:
"testfile" 5L, 95C
“testfile”表示文件名,5L表示5 行,95 表示字节数
进入ex 模式。输入”visual”回到正常模式
它的操作与vim 中是一样的,此时如果在”:”后输入”visual”后按回车键,将进入到vi 指令全屏界面;如果输入”q”,则退出编辑器。
8.fgrep
本指令相当于执行grep指令加上参数”-F”,详见grep命令说明。
fgrep命令用于查找文件里符合条件的字符串。
语法
fgrep [范本样式][文件或目录...]
实例
具体使用实例请参考grep命令。
9.fmt
fmt命令用于编排文本文件。
fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为”-“,则fmt指令会从标准输入设备读取数据。
语法
fmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]
参数说明:
- -c或–crown-margin 每段前两列缩排。
- -p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
- -s或–split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。
- -t或–tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。
- -u或–uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。
- -w<每列字符数>或–width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。
- –help 在线帮助。
- –version 显示版本信息。
实例
重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:
fmt testfile
输出结果如下:
$ fmt testfile #重排testfile 文件
hello Linux! Linux is a free Unix-type operating system. This is a
Linux testfile! Linux Linux
将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:
fmt -w 85 testfile
为了对比,先使用cat 命令查看文件内容:
$ cat testfile #查看testfile 文件的内容
hello Linux!
Linux is a free Unix-type operating system.
This is a Linux testfile!
Linux
Linux
使用fmt命令重排之后,输出结果如下:
$ fmt -w 85 testfile #指定重排宽度为85个字符
hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile!
Linux Linux
10.fold
fold命令用于限制文件列宽。
折叠指令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备若不指定任何文件名称,或是所给予的文件名为 “ - ”,则折叠指令会从标准输入设备读取数据。
语法
fold [-bs] [ - w <每列行数>] [ - 帮助] [ - 版本] [文件...]
参数:
- -b或–bytes以字节为单位计算列宽,而非采用行数编号为单位。
- -s或–spaces以空格字符作为换列点。
- -w <每列行数>或–width <每列行数>设置每列的最大行数。
- –help在线帮助。
- –version显示版本信息。
实例
将一个名为testfile的文件的行折叠成宽度为30,可使用如下命令:
fold -w 30 testfile
为了对比,先将testfile的文件输出如下:
$ cat testfile#查看testfile中的内容
Linux网络正变得越来越普遍,但是
安全性往往被忽视
问题。不幸的是,在今天的环境中所有的网络
是潜在的黑客攻击目标,
从绝密的军事研究网络到小型家庭局域网。
Linux Network Security专注于在Linux中保护Linux
网络环境,在哪里
需要考虑整个网络的安全性
而不仅仅是孤立的机器。
它结合了理论和实践技术
教管理员如何安装和
使用安全应用程序,以及如何使用
应用程序工作以及为什么它们是必要
然后使用折叠命令折叠显示:
$ fold -w 30 testfile#行折叠成宽度为30,显示testfile文件
Linux网络正在变得越来越多
重新和更常见,但securi
ty往往是一个被忽视的问题
即 不幸的是,在今天
环境所有网络都是
潜在的黑客攻击目标
绝密军事研究
网络到小型家庭局域网。
Linux Network Security重点关注
在网络中保护Linux
凯德环境,其中秒
整个网络的urity ne
编辑被认为是相当的
一个刚刚孤立的机器。它
使用理论和实践的混合
教授管理员的技巧
istrators如何安装和你
安全应用程序,如同
如何应用程序如何
rk以及为什么它们是必要的
11.grep
grep 命令用于查找文件里符合条件的字符串。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
语法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
参数:
- -a 或 –text : 不要忽略二进制的数据。
- -A<显示行数> 或 –after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
- -b 或 –byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
- -B<显示行数> 或 –before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
- -c 或 –count : 计算符合样式的列数。
- -C<显示行数> 或 –context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
- -d <动作> 或 –directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
- -e<范本样式> 或 –regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
- -E 或 –extended-regexp : 将样式为延伸的普通表示法来使用。
- -f<规则文件> 或 –file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
- -F 或 –fixed-regexp : 将样式视为固定字符串的列表。
- -G 或 –basic-regexp : 将样式视为普通的表示法来使用。
- -h 或 –no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
- -H 或 –with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
- -i 或 –ignore-case : 忽略字符大小写的差别。
- -l 或 –file-with-matches : 列出文件内容符合指定的样式的文件名称。
- -L 或 –files-without-match : 列出文件内容不符合指定的样式的文件名称。
- -n 或 –line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
- -o 或 –only-matching : 只显示匹配PATTERN 部分。
- -q 或 –quiet或–silent : 不显示任何信息。
- -r 或 –recursive : 此参数的效果和指定”-d recurse”参数相同。
- -s 或 –no-messages : 不显示错误信息。
- -v 或 –revert-match : 显示不包含匹配文本的所有行。
- -V 或 –version : 显示版本信息。
- -w 或 –word-regexp : 只显示全字符合的列。
- -x –line-regexp : 只显示全列符合的列。
- -y : 此参数的效果和指定”-i”参数相同。
实例
1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:
grep test *file
结果如下所示:
$ grep test test* #查找前缀有“test”的文件包含“test”字符串的文件
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
2、以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串”update”的文件,并打印出该字符串所在行的内容,使用的命令为:
grep -r update /etc/acpi
输出结果如下:
$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi”
#下包含“update”的文件
/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)
Rather than
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of
IO.) Rather than
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update
3、反向查找。前面各个例子是查找并打印出符合条件的行,通过”-v”参数可以打印出不符合条件行的内容。
查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:
grep -v test *test*
结果如下所示:
$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行
testfile1:helLinux!
testfile1:Linis a free Unix-type operating system.
testfile1:Lin
testfile_1:HELLO LINUX!
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.
testfile_1:THIS IS A LINUX TESTFILE!
testfile_2:HELLO LINUX!
testfile_2:Linux is a free unix-type opterating system.
12.ispell
ispell命令用于拼写检查程序。
ispell的预设会使用/usr/lib/ispell/english.hash字典文件来检查文本文件。若在检查的文件中找到字典没有的词汇,ispell的会建议使用的词汇,或是让你将新的词汇加入个人字典。
语法
ispell [-aAbBClmMnNPStVx] [ - d <字典文件>] [ - L <行数>] [ - p <字典文件>] [ - w <非字母字符>] [ - W <字符串长度>] [要检查的文件]
参数:
- -a当其他程序输出送到ispell时,必须使用此参数。
- -A读取到“&Include File&”字符串时,就去检查字符串后所指定文件的内容。
- -b产生备份文件,文件名为.bak。
- -B检查连字错误。
- -C不检查连字错误。
- -d <字典文件>指定字典文件。
- -l从标准输入设备读取字符串,结束后显示拼错的词汇。
- -L <行数>指定内文显示的行数。
- -m自动考虑字尾的变化。
- -M进入ispell后,在画面下方显示指令的按键。
- -n检查的文件为noff或troff的格式。
- -N进入ispell后,在画面下方不显示指令的按键。
- -p <字典文件>指定个人字典文件。
- -P不考虑字尾变化的情形。
- -S不排序建议取代的词汇。
- -t检查的文件为TeX或LaTeX的格式。
- -V非ANSI标准的字符会以“M- ^”的方式来显示。
- -w <非字母字符>检查时,特别挑出含有指定的字符。
- -W <字符串长度>不检查指定长度的词汇。
- -x不要产生备份文件。
实例
检查文件的拼写例如,检查testfile的文件,可使用如下命令:
ispell testfile
如果文件中出现可疑词汇,则第一个出现的可疑词汇以高亮显示,并在屏幕下方给出词汇的修改意见,以及ispell的的操作命令如下所示:
netwrks文件:testfile
Linux网络变得越来越普遍,但安全性往往被忽视
问题。不幸
0:网络
[SP] <number> R)epl A)c)I)nsert L)ookup U)ncap Q)uit e(X)it or?求助
本例中,检查出网络错误,并提示纠正信息,此时输入“0”,即使用网络来纠正错误,同时继续显示下一个错误,直到所有的错误显示完毕。
。通过以上实例我们可以发现,文件testfile的中有拼写错误,对该文件进行修改后需备份文件此时使用如下命令:
ispell-b testfile#检查拼写错误的同时,备份文件
如果文件已经无拼写错误,则不显示任何信息,通过LS命令我们也可以查看到当前文件目录下产生了文件testfile的的备份文件testfile.bak查看结果如下所示:
$ ls#以列表的形式查看当前目录下的文件
examples.desktop testfile_1 testfile.bak xx01模板图片音乐
testfile testfile1 testfile_2 xx00公共的视频文档桌面
其中,testfile.bak文件就是刚才命令生成的备份文件,内容与原来的testfile文件内容是一样的。
13.jed
jed命令用于编辑文本文件。
杰德是以俚语所写成的程序,适合用来编辑程序原始代码。
语法
jed [-2n] [ - batch] [ - f <函数>] [ - g <行数>] [ - i <文件>] [ - 我<文件>] [ - s <字符串>] [文件]
参数:
- -2显示上下两个编辑区。
- -batch以批处理模式来执行。
- -f <函数>执行Slang函数。
- -g <行数>移到缓冲区中指定的行数。
- -i <文件>将指定的文件载入缓冲区。
- -n不要载入jed.rc配置文件。
- -s <字符串>查找并移到指定的字符串。
实例
。JED主要用于编辑程序的源码,编辑源码时将以彩色高亮的方式显示程序的语法例如使用JED编辑一个Ç语言的源代码文件,可使用如下命令:
jed main.c#用jed编辑器打开main.c文件
输出结果如下:
F10键==>文件编辑模式搜索缓冲区Windows系统帮助#编辑器菜单
/ * - * - linux-c - * - * /#编辑区
#include <linux / mm.h>
#include <linux / sysctl.h>
#include <linux / nsproxy.h>
static struct list_head *
net_ctl_header_lookup(struct ctl_table_root * root,struct nsproxy * namespaces)
{
return&namespaces-> net_ns-> sysctl_table_headers;
}
static struct ctl_table_root net_sysctl_root = {
.lookup = net_ctl_header_lookup,
};
static int sysctl_net_init(struct net * net)
{
INIT_LIST_HEAD(NET-> sysctl_table_headers);
返回0;
}
----- +(Jed 0.99.18U)Emacs:main.c(C)所有下午6:06 -------------------------- ---
#从左到右分别为JED版本编号,当前是模拟的Emacs编辑器,打开的文件名,现在的时间
加载/usr/share/jed/lib/modeinfo.slc
14.joe
joe命令用于编辑文本文件。
joe是一个功能强大的全屏幕文本编辑程序。操作的复杂度要比微微高一点,但是功能较为齐全.Joe一次可开启多个文件,每个文件各放在一个编辑区内,并可在文件之间执行剪贴的动作。
语法
joe [-asis] [ - beep] [ - csmode] [ - dopadding] [ - exask] [ - force] [ - help] [ - keepup] [ - lightoff] [ - arking] [ - mid] [ - nobackups] [ -nonotice] [ - NOSTA] [ - NOXON] [ - 孤儿] [ - backpath <目录>] [ - 列<栏位>] [ - 线<行数>] [ - 皮克<行数>] [ - skiptop <行数>] [ - autoindent crlf linums overwrite rdonly wordwrap] [+ <行数>] [ - indentc <缩排字符>] [ - istep <缩排字符数>] [ - keymap <按键配置文件>] [ - lmargin <栏数>] [ - rmargin <栏数>] [ - 标签<栏数>] [要编辑的文件] </ p>
参数:
以下为程序参数
-asis字符码超过127的字符不做任何处理。
-backpath <目录>指定备份文件的目录。
-beep编辑时,若有错误即发出哗声。
- -columns <栏位>设置栏数。
- -csmode可执行连续查找模式。
- -dopadding是程序跟tty间存在缓冲区。
- -exask在程序中,执行“Ctrl + k + x”时,会先确认是否要保存文件。
- -force强制在最后一行的结尾处加上换行符号。
- -help执行程序时一并显示帮助。
- -keepup在进入程序后,画面上方为状态列。
- -lightoff选取的区块在执行完区块命令后,就会回复成原来的状态。
- -lines <行数>设置行数。
- -marking在选取区块时,反白区块会随着光标移动。
- -mid当光标移出画面时,即自动卷页,使光标回到中央。
- -nobackups不建立备份文件。
- -nonotice程序执行时,不显示版权信息。
- -nosta程序执行时,不显示状态列。
- -noxon尝试取消“Ctrl + s”与“Ctrl + q”键的功能。
- -orphan若同时开启一个以上的文件,则其他文件会置于独立的缓冲区,而不会另外开启编辑区。
- -pg <行数>按“PageUp”或“PageDown”换页时,所要保留前一页的行数。
- -skiptop <行数>不使用屏幕上方指定的行数。
- 以下为文件参数
- + <行数>指定开启文件时,光标所在的行数。
- -autoindent自动缩排。
- -crlf在换行时,使用CR-LF字符。
- -indentc <缩排字符>执行缩排时,实际插入的字符。
- -istep <缩排字符数>每次执行缩排时,所移动的缩排字符数。
- -keymap <按键配置文件>使用不同的按键配置文件。
- -linums在每行前面加上行号。
- -lmargin <栏数>设置左侧边界。
- -overwrite设置覆盖模式。
- -rmargin <栏数>设置右侧边界。
- -tab <栏数>设置tab的宽度。
- -rdonly以只读的方式开启文件-wordwrap编辑时若超过右侧边界,则自动换行。
实例
利用joe命令编辑文本文件。例如利用joe编辑C语言源代码main.c,使用如下命令:
joe main.c
与JED类似,乔编辑器中Ç语言的语法也以彩色的方式显示效果如下:
IA main.c(c)第1行Col 1 12:28 Ctrl-K H寻求帮助
#上排从左至右分别为打开的文件名,光标所在行列数,现在时间,显示操作说明
/ * - * - linux-c - * - * /#编辑区
#include <linux / mm.h>
#include <linux / sysctl.h>
#include <linux / nsproxy.h>
static struct list_head *
net_ctl_header_lookup(struct ctl_table_root * root,struct nsproxy * namespaces)
{
return&namespaces-> net_ns-> sysctl_table_headers;
}
static struct ctl_table_root net_sysctl_root = {
.lookup = net_ctl_header_lookup,
};
static int sysctl_net_init(struct net * net)
{
INIT_LIST_HEAD(NET-> sysctl_table_headers);
返回0;
}
** Joe自己的编辑v3.5 **(utf-8)**版权所有。2006 ** #joe编辑区的版本及版权信息
joe编辑器有一些常用的组合键,例如可以通过Ctrl + K + H寻求联机帮助,首先按Ctrl + K组合键,再输入字母H,即可调出帮助菜单,通过该帮助信息可以方便地获知如何对joe编辑器进行操作。
15.join
join命令用于将两个文件中,指定栏位内容相同的行连接起来。
找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。
语法
join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help][--version][文件1][文件2]
参数:
- -a<1或2> 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
- -e<字符串> 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
- -i或–igore-case 比较栏位内容时,忽略大小写的差异。
- -o<格式> 按照指定的格式来显示结果。
- -t<字符> 使用栏位的分隔字符。
- -v<1或2> 跟-a相同,但是只显示文件中没有相同栏位的行。
- -1<栏位> 连接[文件1]指定的栏位。
- -2<栏位> 连接[文件2]指定的栏位。
- –help 显示帮助。
- –version 显示版本信息。
实例
连接两个文件。
为了清楚地了解join命令,首先通过cat命令显示文件testfile_1和 testfile_2 的内容。
然后以默认的方式比较两个文件,将两个文件中指定字段的内容相同的行连接起来,在终端中输入命令:
join testfile_1 testfile_2
首先查看testfile_1、testfile_2 中的文件内容:
$ cat testfile_1 #testfile_1文件中的内容
Hello 95 #例如,本例中第一列为姓名,第二列为数额
Linux 85
test 30
cmd@hdd-desktop:~$ cat testfile_2 #testfile_2文件中的内容
Hello 2005 #例如,本例中第一列为姓名,第二列为年份
Linux 2009
test 2006
然后使用join命令,将两个文件连接,结果如下:
$ join testfile_1 testfile_2 #连接testfile_1、testfile_2中的内容
Hello 95 2005 #连接后显示的内容
Linux 85 2009
test 30 2006
文件1与文件2的位置对输出到标准输出的结果是有影响的。例如将命令中的两个文件互换,即输入如下命令:
join testfile_2 testfile_1
最终在标准输出的输出结果将发生变化,如下所示:
$ join testfile_2 testfile_1 #改变文件顺序连接两个文件
Hello 2005 95 #连接后显示的内容
Linux 2009 85
test 2006 30
16.look
look命令用于查询单词。
look指令用于英文单字的查询。您仅需给予它欲查询的字首字符串,它会显示所有开头字符串符合该条件的单字。
语法
look [-adf][-t<字尾字符串>][字首字符串][字典文件]
参数说明:
- -a 使用另一个字典文件web2,该文件也位于/usr/dict目录下。
- -d 只对比英文字母和数字,其余一慨忽略不予比对。
- -f 忽略字符大小写差别。
- -t<字尾字符串> 设置字尾字符串。
实例
为了查找在testfile文件中以字母L开头的所有的行,可以输入如下命令:
look L testfile
原文件testfile中的内容如下:
$ cat testfile #查看testfile 文件内容
HELLO LINUX!
Linux is a free unix-type opterating system.
This is a linux testfile!
Linux test
在testfile文件中使用look命令查找以”L”开头的单词,结果如下:
$ look L testfile #查找以“L”开头的单词
Linux is a free unix-type opterating system. #第二行以“L”开头,列出全句
Linux test #第四行以“L”开头,列出全句
17.mtype
MTYPE为mtools的工具指令,模拟MS-DOS的类型指令,可显示MS-DOS文件的内容。
语法
mtype [-st] [文件]
参数说明:
- -s去除8位字符码集的第一个位,使它兼容于7位的ASCII。
- -t将MS-DOS文本文件中的“换行+光标移至行首”字符转换成Linux的换行字符。
实例
打开名为dos.txt的MS-DOS文件可使用如下命令:
mtype dos.txt#打开MS-DOS文件
显示结果如下:
$ mtype dos.txt#打开MS-DOS文件
Linux网络变得越来越普遍,但安全性往往被忽视
问题。不幸的是,在今天的环境中,所有网络都是潜在的黑客目标,
从绝密的军事研究网络到小型家庭局域网。
Linux Network Securty专注于在网络环境中保护Linux,其中
需要考虑整个网络的安全性而不仅仅是孤立的机器。
它使用理论和实践技术的组合来教授管理员如何安装和
使用安全应用程序,以及应用程序的工作方式以及必要的原因。
18.pico
pico命令用于编辑文字文件。
pico是个简单易用,以显示导向为主的文字编辑程序,它伴随着处理电子邮件和新闻组的程序松而来。
语法
pico [-bdefghjkmqtvwxz] [ - n <间隔秒数>] [ - o <工作目录>] [ - r <编辑页宽>] [ - s <拼字检查器>] [+ <列数编号>] [文件]
参数说明:
- -b开启置换的功能。
- -d开启删除的功能。
- -e使用完整的文件名称。
- -f支持键盘上的F1,F2 …等功能键。
- -g显示光标。
- -h在线帮助。
- -j开启切换的功能。
- -k预设pico在使用剪下命令时,会把光标所在的列的内容全部删除。
- -m开启鼠标支持的功能,您可用鼠标点选命令列表。
- -n <间隔秒数>设置多久检查一次新邮件。
- -o <工作目录>设置工作目录。
- -q忽略预设值。
- -r <编辑页宽>设置编辑文件的页宽。
- -s <拼字检查器>另外指定拼字检查器。
- -t启动工具模式。
- -v启动阅读模式,用户只能观看,无法编辑文件的内容。
- -w关闭自动换行,通过这个参数可以编辑内容很长的列。
- -x关闭换面下方的命令列表。
- -z let pico可被Ctrl + z中断,暂存在后台作业里。
- + <列数编号>执行pico指令进入编辑模式时,从指定的列数开始编辑。
实例
使用微微命令来编辑testfile的文件,在终端中输入如下命令:
pico testfile
输出结果如下:
GNU nano 2.0.9文件:testfile#从左到右分别为编辑器版本号,文件名
#编辑区
Linux网络变得越来越普遍,但安全性通常超过$
Linux Network Securty专注于在网络环境中保护Linux
[已读取3行]#以下为菜单栏
^ G求助^ O写入^ R读档^ Y上页^ K剪切文字^ C在标位置
^ X离开^ J对齐^ W搜寻^ V下页^ U还原剪切^ T拼写检查
19.rgrep
rgrep命令用于递归查找文件里符合条件的字符串。
rgrep指令的功能和grep指令类似,可查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设rgrep指令会把含有范本样式的那一列显示出来。
语法
rgrep [-?BcDFhHilnNrv][-R<范本样式>][-W<列长度>][-x<扩展名>][--help][--version][范本样式][文件或目录...]
参说明数:
- -? 显示范本样式与范例的说明。
- -B 忽略二进制的数据。
- -c 计算符合范本样式的列数。
- -D 排错模式,只列出指令搜寻的目录清单,而不会读取文件内容。
- -F 当遇到符号连接时,rgrep预设是忽略不予处理,加上本参数后,rgrep指令就会读取该连接所指向的原始文件的内容。
- -h 特别将符合范本样式的字符串标示出来。
- -H 只列出符合范本样式的字符串,而非显示整列的内容。
- -i 忽略字符大小写的差别。
- -l 列出文件内容符合指定的范本样式的文件名称。
- -n 在显示符合坊本样式的那一列之前,标示出该列的列数编号。
- -N 不要递归处理。
- -r 递归处理,将指定目录下的所有文件及子目录一并处理。
- -R<范本样式> 此参数的效果和指定”-r”参数类似,但只主力符合范本样式文件名称的文件。
- -v 反转查找。
- -W<列长度> 限制符合范本样式的字符串所在列,必须拥有的字符数。
- -x<扩展名> 只处理符合指定扩展名的文件名称的文件。
- –help 在线帮助。
- –version 显示版本信息。
实例
在当前目录下查找句子中包含”Hello”字符串的文件,可使用如下命令:
rgrep Hello *
其搜索结果如下:
$ rgrep Hello * #在当前目录下查找句子中包含“Hello”字符串的文件
testfile_1:Hello 95 #testfile_1中包含“Hello”字符串的句子
testfile_2:Hello 2005 #testfile_2中包含“Hello”字符串的句子
20.sed
sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
语法
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
- -e