一.vim命令
底线命令模式中,基本的命令有::w(保存)、:q(退出)、:q!(不保存退出) 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。、:wq(保存并退出)、:w!:若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!、wq!(强制存储后离开)
若想要编辑文本:启动Vim,进入了命令模式,只要按下 i, o, a 等字符就可以进入输入模式了!按下 ESC 按钮回到一般模式。
- vim filename:打开或新建文件,并将光标置于第一行首
- vim +n filename: 打开文件,并将光标置于第n行首
- vim + filename :打开文件,并将光标置于最后一行首
- vim +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
- vim -r filename:在上次正用vi编辑时发生系统崩溃,恢复filename
- vim filename....filename :打开多个文件,依次进行编辑
二.cat命令
- cat filename:一次显示整个文件
- cat > filename:从键盘创建一个文件,只能创建新文件,不能编辑已有文件.
- cat file1 file2 > file:将几个文件合并为一个文件。
三:tail命令
- tail -f filename:用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件,会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。一般用来抓取log
- tail +20 notes.log:从第 20 行至文件末尾
- tail -c 10 notes.log:显示文件 notes.log 的最后 10 个字符
- tail -n 100 filename:显示最后100行数据
- tail -n -100 filename:除了前99行不显示外,显示第100行到末尾行
四:egrep命令
- egrep [范本模式] [文件或目录] :用于在文件内查找指定的字符串 [范本模式] :查找的字符串规则。 [文件或目录] :查找的目标文件或目录。
- egrep Linux *:查找当前目录下所有文件中包含字符串"Linux"的文件
五:ls命令
- ls [-alrtAFR] [name...]
- a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
- l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
- r 将文件以相反次序显示(原定依英文字母次序)
- t 将文件依建立时间之先后次序列出
- A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
- F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
- R 若目录下有文件,则以下之文件亦皆依序列出
- ls -al:输出所有的目录、包含只读文件
六:nl命令
- nl [filename]:将指定的文件添加行号标注后写到标准输出
七:sed命令
- sed [-hnV][-e][-f][文本文件]:利用脚本来处理文本文件
参数说明:
- e或--expression=script 以选项中指定的script来处理输入的文本文件。
- f或--file=script文件 以选项中指定的script文件来处理输入的文本文件。
- h或--help 显示帮助。
- n或--quiet或--silent 仅显示script处理后的结果。
- V或--version 显示版本信息。
动作说明:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
- sed -e '2a\222333' -e '1i\00000000' [filename]:可以连续写多个-e,-e表示多点编辑, 在第二行后面添加222333,在第一行前面添加00000000;
- nl [filename] | sed '2,5d': 将 [filename] 的内容列出并且列印行号,同时,请将第 2~5 行删除!
- nl [filename] | sed '2d': 将 [filename] 的内容列出并且列印行号,同时,只删除第二行!
- nl [filename] | sed '3,$d': 将 [filename] 的内容列出并且列印行号,同时,删除第 3 到最后一行!
- nl [filename] | sed '2a Drink tea or
drink beer':添加两行字,每一行之间都必须要以反斜杠『 \ 』来进行新行的添加喔 - nl [filename] | sed '2,3c xxxxx': 把2-3行的内容取代为『xxxxx』!
- nl [filename] | sed -n '5,7p': 仅列出 [filename] 文件内的第 5-7 行
- nl [filename] | sed -n '/111/p':搜索[filename]里有111关键字的行
- nl [filename] | sed '/111/d':删除[filename]里有111关键字的行,其它行输出
- sed 's/要被取代的字串/新的字串/g':数据的搜寻并替换
- sed -i [命令] [filename]: 直接修改文件内容(危险动作),如果是mac系统,-i后面要添加空格:sed -i '' xxx [filename];sed 的 -i 选项可以直接修改文件内容;
- sed -i '$a # This is a test' [filename]: 直接在 文件最后一行加入 # This is a test: