linux常见命令

632 阅读4分钟

一.vim命令

底线命令模式中,基本的命令有::w(保存)、:q(退出)、:q!(不保存退出) 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。、:wq(保存并退出)、:w!:若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!、wq!(强制存储后离开)

若想要编辑文本:启动Vim,进入了命令模式,只要按下 i, o, a 等字符就可以进入输入模式了!按下 ESC 按钮回到一般模式。

  1. vim filename:打开或新建文件,并将光标置于第一行首
  2. vim +n filename: 打开文件,并将光标置于第n行首
  3. vim + filename :打开文件,并将光标置于最后一行首
  4. vim +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
  5. vim -r filename:在上次正用vi编辑时发生系统崩溃,恢复filename
  6. vim filename....filename :打开多个文件,依次进行编辑

二.cat命令

  1. cat filename:一次显示整个文件
  2. cat > filename:从键盘创建一个文件,只能创建新文件,不能编辑已有文件.
  3. cat file1 file2 > file:将几个文件合并为一个文件。

三:tail命令

  1. tail -f filename:用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件,会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。一般用来抓取log
  2. tail +20 notes.log:从第 20 行至文件末尾
  3. tail -c 10 notes.log:显示文件 notes.log 的最后 10 个字符
  4. tail -n 100 filename:显示最后100行数据
  5. tail -n -100 filename:除了前99行不显示外,显示第100行到末尾行

四:egrep命令

  1. egrep [范本模式] [文件或目录] :用于在文件内查找指定的字符串 [范本模式] :查找的字符串规则。 [文件或目录] :查找的目标文件或目录。
  2. egrep Linux *:查找当前目录下所有文件中包含字符串"Linux"的文件

五:ls命令

  1. ls [-alrtAFR] [name...]
  • a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
  • l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • r 将文件以相反次序显示(原定依英文字母次序)
  • t 将文件依建立时间之先后次序列出
  • A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  • R 若目录下有文件,则以下之文件亦皆依序列出
  1. ls -al:输出所有的目录、包含只读文件

六:nl命令

  1. nl [filename]:将指定的文件添加行号标注后写到标准输出

七:sed命令

  1. 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 就是啦!
  1. sed -e '2a\222333' -e '1i\00000000' [filename]:可以连续写多个-e,-e表示多点编辑, 在第二行后面添加222333,在第一行前面添加00000000;
  2. nl [filename] | sed '2,5d': 将 [filename] 的内容列出并且列印行号,同时,请将第 2~5 行删除!
  3. nl [filename] | sed '2d': 将 [filename] 的内容列出并且列印行号,同时,只删除第二行!
  4. nl [filename] | sed '3,$d': 将 [filename] 的内容列出并且列印行号,同时,删除第 3 到最后一行!
  5. nl [filename] | sed '2a Drink tea or
    drink beer':添加两行字,每一行之间都必须要以反斜杠『 \ 』来进行新行的添加喔
  6. nl [filename] | sed '2,3c xxxxx': 把2-3行的内容取代为『xxxxx』!
  7. nl [filename] | sed -n '5,7p': 仅列出 [filename] 文件内的第 5-7 行
  8. nl [filename] | sed -n '/111/p':搜索[filename]里有111关键字的行
  9. nl [filename] | sed '/111/d':删除[filename]里有111关键字的行,其它行输出
  10. sed 's/要被取代的字串/新的字串/g':数据的搜寻并替换
  11. sed -i [命令] [filename]: 直接修改文件内容(危险动作),如果是mac系统,-i后面要添加空格:sed -i '' xxx [filename];sed 的 -i 选项可以直接修改文件内容;
  12. sed -i '$a # This is a test' [filename]: 直接在 文件最后一行加入 # This is a test: