1、UNIX家庭小点滴关键词:LINUX, UNIX强大的 UNIX,方便的 UNIX,永远的 UNIX,让人越学越喜欢。这里的 UNIX 家庭小点滴,希望和大家分享。1. 让人放心的邮差 ftp:(1).在 UNIX 下,当建立文件传输对话后,可以通过 Ctrl+z 来先停止 ftp 进程,再用 bg 来将此进程放到后台执行,这样可以在你回家睡觉的时间里得到想要下载的文件,可以省却很多不必要的等待。再也不会有为下载文件到微机上而怕断线的担心了。(2).建立传输对话后,可以用 hash 命令来监视文件的下装情况,每出现一个# 提示为 8192 字节数据块(某些系统是 4096 字节);当用 mpu
2、t 或 mget 传输多个文件时,用 prompt 可以关闭交互式的提示;用 append 可以把一个文件附加到远程机器的某一个文件上;help 可以显示所有 ftp 命令。2. 技艺高超的修理师 VI。(1).在对话模式时(即输完 Esc 再输入: ),输入“:set number”可以将编辑的文本加上行号。(2).跟玩俄罗斯方块一样方便的上下左右移动箭头的快捷键分别为:k,j,l,h。向下和向上翻页分别时“Ctrl+f”和“Ctrl+b”,“Ctrl+l”可以在杂乱的显示下刷新屏幕。(3).对话模式下:回到行首你可以用 “ ” 键(shift+6)或者数字 0;当然回到行尾你可以用“ $
3、”键(shift+4);回到文本末可以用“G”;“:n”可以定位光标到第 n 行行首,相应地,如果想回到文本开头,可以用“:1”;“H”将光标移到屏幕左上角,“L”为屏幕最后一行,“M”为屏幕中间;至于句,节,段的始(末)端分别是“(,)”“,”和“ ,”,这个一般比较少用。(4).输入“/匹配字符串”可以定位到光标当前位置的下一个的匹配字符串处,用做查找功能。某些特殊字符用“特殊字符 ”来输入才能有效。“n”为查找下一个,“N”为查找上一个。(5).替换编辑,“ :1,$ s/string1/string2/g”为将全部文本中出现的 string1 用 string2 替换;其中 1和$可以
4、用 m,n 代替,则为将文本第 m 行到第 n 行的 string1 用 sring2 替换;去掉/g 则只替换每个所选行的第一次出现。如果有特殊字符出现同样加上“特殊字符”即可。例如要将文全部/usr/local/acct 用/home1/acct 替换,可输入“:1,$ s/usr/local/acct/home1/acct/g”即可。(6).文本删除,“x” 删除当前字符;“nx” 删除 n 个字符;“dw”删除当前字;“dd” 删除当前行;“ :dn”从当前行开始删除 n 行,当 n 足够大时,删除从当前行开始的后面所有行,不删除前面的行;“ :m,nd”删除 m 到 n 行;“D”
5、删除当前光标到行末的全部内容。(7).文本插入,I,i,A,a 分别为在光标行开始处,光标前,光标行行尾,光标后放置所输入的新文本,“o”和“O”分别为在当前行下一行和当前行上一行插入新行开始输入。(8).“Esc u”可以取消最后一次编辑,再输入一次 “u”又恢复最后一次操作, “ ”为重复上一次操作。“”np”将第 n 号缓冲区中的内容放到文件中,所以“”1pu.u.u.u.u.u.u.u.”可以恢复前 9 次删除的任意一次,直到满意为止。(9).“:w filename”将当前编辑的文件写入文件 filename 中,如果 filename 已经存在,需要用“: w!filename”覆
6、盖。“ : r filename”将文件 filename 读入到当前文件。 当编辑多个文件时,可以用“ :n”来切换到下一个文件,想要切换到第 n 个文件则用“:nn” (第二个 n 表示数字第 n 个)。(10).当编辑文件想取消本次所有编辑而不退出 vi,则使用“:e!”即可;如果想不退出 vi 而查看 UNIX 系统的有关信息,输入“:shell ”即可进入 vi 以前的 shell 环境,“exit”退回到 vi 编辑状态。(11).如果想粘贴一行,则先在非编辑状态(按过 Ese 键以后)光标移到该行处输入 “yy”,再将光标移到需要拷贝的位置的前一行,用“p”即可完成一行的拷贝;如
7、果想拷贝多行则用 “:y n”则拷贝当前行包括当前行在内的 n 行,再将光标移到相应的位置,输入“p” 即可完成 n 行的拷贝。3. 梁山英雄的见证人 Sortsort 可以根据不同的列将文件中的内容排序,对灵活处理文件非常有帮助。(1),sort file 将文件按照第一列的字母顺序排序。(2),将排序好的结果输出到文件sort o fileb filea 将文件 filea 排序输出到 fileb;也可以用 sort filea fileb 重定向的方法。sort o filea filea 将文件 filea 排序且覆盖原来的文件(3),-r 为按降序排序, -n 按数字的小大排序,+n
8、(n 为 0 和正整数)按第 n+1 个字段排序。 Sort nr +3 filea 即是将 filea 文件按照第 4 个字段的数字大小排序,假设 filea 第 4 个字段为数字,并且每个字段之间用空格或 Tab 键分开。(4),-t 选项为定义文件字段之间分界的符号,-n(n 为 0 或正整数)表示不按第 n+1 个字段排序。所以 sort+1 2 +0 -3 -t: filea 将文件 filea 分别按第 2 个,不按第 3 个,按第 1 个,不按第 4 个字段排序,其中每个字段之间用“:” 分开。(5),与 uniq 命令结合可以删除 余的行 sort filea |uniq 将文
9、件 filea 删除所有完全相同的行后输出。4. 裁缝世家 cut&paste(1),从一个文件中剪贴字段,字段之间按照特定的符号隔开(默认为空格)。cut f2,3,5 d:filea将文件 filea 的第 2,3,5 个字段剪贴出来输出到屏幕,其中每个字段之间用:分开,如果不带-d 则每个字段之间按空格分开。(2),-c 选项可以剪贴文件中的数据列。cut -c 1-15,20,22-30 filea 可以剪贴文件 filea 从第一列开始的第 1-15 个字符,第 20 个字符,和第 22-30 个字符,并输出。(3),paste 可以将多个文件按列方式合并,与 cut 相结合可以重组
10、文件格式。Cut d: -f2,5 filea tmp1Cut d: -f 4,3 fileb tmp2Cut d: -f 11,12,13 filec tmp3Paste tmp1 tmp2 tmp3 filed则分别将文件 filea 的第 2 和第 5 个字段,fileb 的第 4 个和第 3 个字段,filec 的第 11,12,13 个字段合成为一个新文件 filed。(最好 filea,fileb,filec 具有相同的行,不然将会将行多的文件的行贴到最后,前面的照样匹配。5. 偷梁换柱的高手 tr.tr(translate)完成文件种批编辑的替换功能,用来将标准输入中的字符转换成
11、标准输出中的其他制定字符:(1). tr A B fileb 将文件 filea 中的所有 A 全部替换成 B 然后输出到文件 fileb(2). tr 也支持范围替换:tr “a-z” “A-Z” fileb 则将 filea 中的连续出现的空格以一个空格替换然后输出到文件 fileb。(4). d 选项可以删除指定的字符,-cd 选项可以删除列出的字符以外的所有字符:tr d a-z fileb 将文件 filea 中的所有小写字符全部删除然后输出到 fileb.tr cd a-z filea 将文件 filea 中除小写字符 a-z 外的的内容全部删除。6. “find ,grep & strings” 织成一张无边无际的网,几乎可以网住所有需要查找的目标,但也难免有漏网之鱼。find 在目录中查找文件: find / -name filea print grep 在文本文件中搜索模式: grep aaaaa fileastrings 在文本文件或二进制文件中找出可打印字符:strings filea还有很多小成员,象 sed,awk,perl,expect 等。