UNIX家庭小点滴

【UNIX家庭小点滴】
Unix家庭小点滴

强大的UNIX,方便的UNIX,永远的UNIX , 让人越学越喜欢 。这里的UNIX家庭小点滴 , 希望和大家分享 。
1. 让人放心的邮差ftp:
(1).在UNIX下 , 当建立文件传输对话后 , 可以通过Ctrl z来先停止ftp进程 , 再用bg来将此进程放到后台执行 , 这样可以在你回家睡觉的时间里得到想要下载的文件 , 可以省却很多不必要的等待 。再也不会有为下载文件到微机上而怕断线的担心了 。
(2).建立传输对话后 , 可以用hash命令来监视文件的下装情况 , 每出现一个#提示为8192字节数据块(某些系统是4096字节);当用mput或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;当然回到行尾你可以用“ $ ”键(shift 4);回到文本末可以用“G”;“:n”可以定位光标到第n行行首 , 相应地 , 如果想回到文本开头 , 可以用“:1”;“H”将光标移到屏幕左上角 , “L”为屏幕最后一行 , “M”为屏幕中间;至于句,节,段的始(末)端分别是“( , )”“[ , ]”和“{ , }” , 这个一般比较少用 。
(4).输入“/匹配字符串”可以定位到光标当前位置的下一个的匹配字符串处 , 用做查找功能 。某些特殊字符用“特殊字符”来输入才能有效 。“n”为查找下一个 , “N”为查找上一个 。
(5).替换编辑 , “:1 , $ s/string1/string2/g”为将全部文本中出现的string1用string2替换;其中1和$可以用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,n d”删除m到n行;“D”删除当前光标到行末的全部内容 。
(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”覆盖 。“: r filename”将文件filename 读入到当前文件 。当编辑多个文件时 , 可以用“:n”来切换到下一个文件 , 想要切换到第n个文件则用“:nn”(第二个n表示数字第n 个) 。
(10).当编辑文件想取消本次所有编辑而不退出vi , 则使用“:e!”即可;如果想不退出vi而查看UNIX系统的有关信息 , 输入“:shell ”即可进入vi以前的shell环境 , “exit”退回到vi编辑状态 。
(11).如果想粘贴一行 , 则先在非编辑状态(按过Ese键以后)光标移到该行处输入“yy” , 再将光标移到需要拷贝的位置的前一行 , 用“p”即可完成一行的拷贝;如果想拷贝多行则用“:y n”则拷贝当前行包括当前行在内的n行 , 再将光标移到相应的位置 , 输入“p”即可完成n行的拷贝 。
3. 梁山英雄的见证人Sort
sort可以根据不同的列将文件中的内容排序,对灵活处理文件非常有帮助 。
(1),sort file 将文件按照第一列的字母顺序排序 。
(2),将排序好的结果输出到文件
sort –o fileb filea 将文件filea排序输出到fileb;也可以用sort filea >fileb重定向的方法 。
sort –o filea filea 将文件filea排序且覆盖原来的文件
(3),-r 为按降序排序 , -n按数字的小大排序 , n(n为0和正整数)按第n 1个字段排序 。
Sort –nr3 filea 即是将filea文件按照第4个字段的数字大小排序 , 假设filea第4个字段为数字 ,
并且每个字段之间用空格或Tab键分开 。
(4),-t选项为定义文件字段之间分界的符号 , -n(n为0或正整数)表示不按第n 1个字段排序 。所以 sort1 –20 -3 -t: filea将文件filea分别按第2个 , 不按第3个 , 按第1个 , 不按第4个字段排序 , 其中每个字段之间用“:”分开 。
(5),与uniq命令结合可以删除 余的行 sort filea |uniq 将文件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相结合可以重组文件格式 。
Cut –d: -f2,5 filea >tmp1
Cut –d: -f 4,3 fileb >tmp2
Cut –d: -f 11,12,13 filec >tMP3
Paste tmp1 tmp2 tmp3 >filed
则分别将文件filea的第2和第5个字段 , fileb的第4个和第3个字段 , filec的第11 , 12 , 13个字段合成为一个新文件filed 。(最好filea,fileb,filec具有相同的行 , 不然将会将行多的文件的行贴到最后 , 前面的照样匹配 。
5. 偷梁换柱的高手tr.
tr(translate)完成文件种批编辑的替换功能 , 用来将标准输入中的字符转换成标准输出中的其他制定字符:
(1). tr A B fileb 将文件filea中的所有A全部替换成B然后输出到文件fileb
(2). tr 也支持范围替换:
tr “[a-z]” “[A-Z]” tr -s ‘[A-Z]" ‘[!*]" (3). 可以利用tr 删除一个字符的连续出现: tr –s ″ ″ fileb 则将filea中的连续出现的空格以一个空格替换然后输出到文件fileb 。
(4). –d 选项可以删除指定的字符 , -cd 选项可以删除列出的字符以外的所有字符:
tr –d ″[a-z]″ fileb 将文件filea 中的所有小写字符全部删除然后输出到fileb.
tr –cd ″[a-z]″ 6. “find ,grep & strings” 织成一张无边无际的网 , 几乎可以网住所有需要查找的目标 , 但也难免有漏网之鱼 。
find 在目录中查找文件: find / -name filea –print
grep 在文本文件中搜索模式: grep aaaaa filea
strings 在文本文件或二进制文件中找出可打印字符:strings filea
还有很多小成员 , 象sed,awk,perl,expect等 , 等我们混熟了 , 再介绍给大家 。