即用即查Linux命令行实例参考手册第12章.doc
-
资源ID:2388161
资源大小:57KB
全文页数:8页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
即用即查Linux命令行实例参考手册第12章.doc
即用即查Linux命令行实例参考手册代码第12章 Linux实用操作命令文本行编辑器eded命令语法:ed 参数文件实例:编辑一个文本文件readme.txt,实验子命令acidnwq。rootlocalhost # ed ; 激活 ed 命令 a ; 告诉 ed 要编辑新文件 My name is sheriff. ; 输入第一行内容 And I love Linux 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.txt ; 将文件命名为“readme.text”并保存(注意:如果是编辑已经存在的文件,只需要敲入 w 即可) q ; 完全退出 ed 编辑器 rootlocalhost # ; 返回到 Linux 系统的命令行状态 这是文件的内容是:rootlocalhost #cat readme.txt <- My name is sheriff I am 24 years old. And I love Linux very much. rootlocalhost #文本编辑器exex命令语法:ex 文件名 实例1:使用ex编辑器编辑文件readme.txt,在该文件的第5行插入字符串“hello world!”。rootlocalhost #ex readme.txt :1,6p:4a! hello world! Ctrl+c:1,6p实例2:使用ex编辑器编辑文件readme.txt,将该文件的第5行用字符串“hi ex editor!”替换。rootlocalhost #ex readme.txt :1,6p:5c! hi ex editor! Ctrl+c:1,6p实例3:使用ex编辑器编辑文件readme.txt,将该文件的第1到3行的内容删除。rootlocalhost #ex readme.txt :1,6p :1,3d :1,3p 实例4:使用ex编辑器编辑文件readme1.txt,显示在该文件的第1到10行内有字符串“Apache”的行。rootlocalhost #ex readme1.txt :1,10p :1,10g/Apache/ 实例5:使用ex编辑器编辑文件readme.txt,将文件中第3到5行的内容搬移到第6行之后。rootlocalhost #ex readme.txt :1,6p :3,5m6 :1,6p 文本文件编辑器jedjed命令语法:jed 参数文件 实例:使用编辑器jed编辑一个新文件demo.c。rootlocalhost #jed demo.c 文本编辑器picopico命令语法:pico 参数文件 实例:使用pico编辑一个文件readme.txt。rootlocalhost #pico readme.txt 文本流编辑器sedsed命令语法:sed 参数文本文件实例1:假定某个正在编辑的文件的其中一行是“The tiger cubs will meet on Tuesday after school”,现需要对该行多次修改,将“tiger”替换为“wolf”,“after”替换为“before”。如果需要对同一文件或行作多次查找替换操作,可以有两种方法来实现。第一种是使用“-e”选项,通知程序使用了多条查找替换命令。rootlocalhost #echo The tiger cubs will meet on Tuesday after school | sed e 's/tiger/wolf/' e 's/after/before/' 第二种是使用分号来分隔多条查找替换命令,但使用该方法时需注意分号必须是紧跟斜线之后的下一个字符。如果两者之间有一个空格,操作将会失败并且返回一条错误消息。rootlocalhost #echo The tiger cubs will meet on Tuesday after school | sed 's/tiger/wolf/; s/after/before/' 实例2:多次查找替换行信息。假定某个正在编辑行信息如下:The tiger cubs will meet on Tuesday at the same timeas the meeting last Tuesday现要求对正在编辑行信息作多次查找替换工作,将“Tuesday”替换为“Thursday”。该项需求看似简单,似乎与实例一没有区别。用实例一的方法试验如下:rootlocalhost #echo The tiger cubs will meet on Tuesday at the same time as the meeting last Tuesday | sed 's/ Tuesday / Thursday /' 为了将替换操作的控制范围覆盖到整个编辑的行信息,即在同一行中出现了多个要替换的单词的情况下,就必须指定在当前查询替换操作是面向全局范围。rootlocalhost #echo The tiger cubs will meet on Tuesday at the same time as the meeting last Tuesday | sed 's/ Tuesday / Thursday /g' 实例3:假定已经存在一个文本文件sample.txt,其内容如下,现希望用“2”替换“1”,但仅在单词“two”之后才作替换,而不是每一行的所有位置。rootlocalhost #cat sample.txt one 1two 1three 1one 1two 3three 1two 1rootlocalhost #sed e /two/ s/1/2/ sample.txt one 1two 2three 1one 1two 3three 1two 2实例4:显示上述文本文件sample.txt中第2到6行的信息。rootlocalhost #sed -n 2,6p sample.txt two 1three 1one 1two 3three 1实例5:删除上述文本文件sample.txt中包含“two”的所有行。rootlocalhost #sed /two/ d sample.txt one 1three 1one 1three 1实例6:使用sed命令将文字“hello world!”追加到文本文件sample.txt末尾。rootlocalhost #sed $ahello world! sample.txt 实例7:使用sed命令将文字“hello world!”插入到文本文件sample.txt的第三行之前。rootlocalhost #sed 3ihello world! sample.txt 全屏幕文本编辑器vivi命令语法:vi 参数文件. 实例1:使用vi编辑器打开或新建一个文件。通常使用vi命令时,直接在vi命令后指定一个文件名,当文件名指定的文件存在时,便会打开该文件;而当指定文件名的文件不存在时,系统会自动新建一个以指定文件名命名的文件。rootlocalhost #vi +/computer demo.c 光标在文件被打开后定位在了“int computer(int a, int b)”行,原因在于对于使用了参数“+/computer”,该参数的意义就是从光标开始处向文件尾部去搜索匹配模式“computer”的行,搜索到第一个匹配模式的行后,将光标定位在该行行首。实例2:使用vi编辑器向文件menu.c中插入文本。rootlocalhost #vi menu.c 执行a,A,i,I,o,O命令之一,使vi从一般模式切换至编辑模式。在编辑模式下用户可以全屏模式编辑打开的文档。当所有的编辑工作完成以后,便可以通过按Escape键返回vi编辑器的普通模式,然后可以输入:命令使vi编辑器切换至命令行模式,最后执行wq命令保存编辑结果并退出vi编辑器。实例3:复制文件/etc/man.config到当前的实验目录,使用vi编辑器编辑该文件以下一系列任务。使用 vi 开启本目录下的 man.config 这个档案。rootlocalhost #vi man.config 在vi中设定一下行号。使vi编辑器处于命令行模式,然后输入如下命令::set number 移动到第58行,向右移动40个字符,查看双引号内的目录。使vi编辑器处于一般模式,然后输入如下命令。58G ; -作用是将光标移动到第58行。40-> ;-作用是将光标向右移动40个字符,其中->表示向右的方向键。此时可以看到光标定位处的双引号中是/dir/bin/foo目录。移动到第一行,并且向下搜寻一下“Tutf8”这个字符串,请问他在第几行?使vi编辑器处于一般模式,然后输入如下命令。1G ; -作用是将光标移动到第1行。/ Tutf8 ; -作用是向后搜索“Tutf8”字符串。此时可以看到光标定位在第98行处的“Tutf8”字符串所在的位置。将50100行之间的man改为MAN,并且一个一个挑选是否需要修改,如何下达命令?使vi编辑器处于命令行模式,然后输入如下命令。:50,100 s/man/MAN/gc 此时可以看到光标定位在第51行,提示“man”将会被“MAN”字符串所替换。在完成问题5所述的字符串替换操作后,想要全部复原。方法一:使vi编辑器处于一般模式下,然后一直输入命令u直到全部复原。此时可以看到光标定位在第51行,提示“man”将会被“MAN”字符串所替换。方法二:使vi编辑器处于命令行模式下,执行命令q,不保存数据退出vi系统,然后重新打开文件。复制5160行这十行的内容,并且贴到最后一行之后。使vi编辑器处于一般模式,然后输入如下命令。51G ;-作用是将光标移动到第51行。10yy ;-作用是从光标所在行开始向下复制10行数据。G ;-作用是将光标移动到文件末行。p ;-作用是在光标所在行后粘贴缓冲区中的数据。删除11到30行之间的20行。使vi编辑器处于一般模式,然后输入如下命令:11G ;-作用是将光标移动到第11行。20dd ;-作用是从光标所在行开始向下删除20行数据。将这个文件另存成一个man.test.config的文件。使vi编辑器处于命令行模式,然后输入如下命令::w man.test.config 储存并退出vi编辑器。使vi编辑器处于命令行模式,然后输入如下命令::wq! 字符转换trtr命令语法:tr 参数第1字符集第2字符集 实例1:建立如下描述的一个test.txt文本文件,通过tr将test.txt文件中的所有“is”字符替换成“ok”。rootlocalhost #cat test.txt This is test 1This is test 2This is test 3This is test 4This is test 5This is test 6This is test 7This is test 8rootlocalhost #cat test.txt | tr is ok Thok ok tekt 1Thok ok tekt 2Thok ok tekt 3Thok ok tekt 4Thok ok tekt 5Thok ok tekt 6Thok ok tekt 7Thok ok tekt 8实例2:将上述test.txt文件中的内容小写全部转换成大写。rootlocalhost #cat test.txt | tr a-z A-Z THIS IS TEST 1THIS IS TEST 2THIS IS TEST 3THIS IS TEST 4THIS IS TEST 5THIS IS TEST 6THIS IS TEST 7THIS IS TEST 8实例3:将上述test.txt文件中的空格全部转换成换行符(ASCII码012)。rootlocalhost #cat test.txt | tr 012 经过上述的转换操作,将源文件中的每行数据中的空格变换成换行符。查找文件里符合条件的字符串grepgrep命令语法:grep 参数查找样式文件或目录.实例1:显示文本文件test.txt中含有字符串“is”的行数。rootlocalhost #grep c is test.txt 实例2:显示文本文件test1.txt中不含有字符串“path”的行。rootlocalhost #grep v path test1.txt 实例3:列出至少含有一个“#include”字符串的头文件。rootlocalhost #grep l #include /usr/include/* 调整C源程序文件的格式indentindent命令语法:indent 参数源文件-o 目标文件实例:利用indent命令格式化C源程序demo.c。rootlocalhost #cat demo.c rootlocalhost #indent demo.c rootlocalhost #cat demo.c 对文件中的行作唯一性检查uniquniq命令语法:uniq 参数 输入文件 输出文件 实例1:如下建立一个范例文本文件testfile.txt。将该文件进行唯一化。rootlocalhost #vi testfile.txt this is line 1this is line 1this is line 2this is line 2this is line 3this is line 3this is line 3this is line 4rootlocalhost #cat testfile.txt rootlocalhost #uniq testfile.txt实例2:以上述范例文本文件testfile.txt为案例。显示该文件重复出现的行。rootlocalhost #uniq -d testfile.txt 实例3:以上述范例文本文件testfile.txt为案例。显示该文件每行重复出现的次数。rootlocalhost #uniq c testfile.txt 实例4:以上述范例文本文件testfile.txt为案例。显示该文件中忽略第四个栏目后重复出现的行。rootlocalhost #uniq f 4 testfile.txt 调整打印机设置tunelptunelp命令语法:tunelp <外设号> 参数 实例1:查看当前连接的打印设备所使用的中断请求。rootlocalhost #tunelp /dev/lp0 实例2:设置当打印机忙碌时将数据送到打印机缓冲区的等待循环数目为10。rootlocalhost #tunelp /dev/lp0 -w 10 实例3:查看当前连接的打印设备的打印状态。rootlocalhost #tunelp /dev/lp0 -s 打印文件lprlpr命令语法:lpr 参数文件 实例1:在打印机printer上打印3份文件/usr/share/doc/grep-2.5.1/README。rootlocalhost #lpr -#3 P printer /usr/share/do c/grep-2.5.1/README 实例2:在缺省的打印机上,将文件/usr/share/doc/grep-2.5.1/README和/usr/share/doc/grep-2.5.1/THANKS合并后打印3份。rootlocalhost #cat /usr/share/doc/grep-2.5.1/README /usr/share/doc/grep-2.5.1/THANKS | lpr -#3 实例3:在缺省的打印机上,将文件/usr/share/doc/grep-2.5.1/AUTHORS的打印作业名设定为authors_print_job。rootlocalhost #lpr -J authors_print_job /usr/share/d oc/grep-2.5.1/AUTHORS 删除打印文件lprmlprm命令语法:lprm 参数作业编号 用户名.- 实例1:从缺省打印机队列中删除作业编号为21的打印作业。rootlocalhost #lprm 21实例2:从打印机队列printer中删除作业编号为22的打印作业。rootlocalhost #lprm P lp0 2 将文本文件转换为PostScript格式enscriptenscript命令语法:这个命令可以用来指定字体、标题、限定的格式化选项和假脱机选项。enscript 参数SpoolerO ptions文件. 实例1:在名为printer的打印机上打印文件/usr/share/doc/grep-2.5.1/README。rootlocalhost #enscript d printer /usr/share/do c/grep-2.5.1/README 实例2:在缺省打印机上打印文件/root/enscript-1.6.4/src/main.c的双联印刷的效果。rootlocalhost #enscript -2r /root/enscript-1.6.4/ src/main.c 打印机控制lpclpc命令语法:lpc Command Parameter . . . 显示打印队列lpqlpq命令语法:lpq +Number-l|-W-P 打印机作业编号用户名 实例1:要显示打印机printer打印队列里的作业。rootlocalhost #lpq -P printer 实例2:以长格式显示缺省打印机打印队列里的作业信息。rootlocalhost #lpq -l 在一页上打印多个页面mpagempage命令语法:mpage 参数file.实例1:查看mpage支持的页面类型。rootlocalhost #mpage -b l rootlocalhost #mpage -b ? 实例2:将文件/root/mpage-2.5.6/mpage.c转换为ASCII文件并送往打印机printer进行打印。rootlocalhost #mpage -da -P printer /root/mpage-2.5.6/mpage.c pr命令语法:pr 参数File .|- 实例1:输出包含页眉的文件readme1.txt,其中页标题为“My Report”。rootlocalhost #pr h “My Report” readme1.txt 实例2:以两列输出的方式,显示包含页眉的文件readme1.txt,其中页标题为“My Report”。rootlocalhost #pr -2 h “My Report” readme1.txt