`
cztu25cztu
  • 浏览: 10448 次
社区版块
存档分类
最新评论

linux常用命令

 
阅读更多

  一、 vi使用场景&常用命令 命令 含义  vi 进入 
  vi file1 打开文件 
  Vi命令模式:
  进入vi之后默认的就是命令模式,此时可以执行一些常用的编辑命令,如: 命令 含义 命令 含义 
  a 在光标后输入(进入输入模式) A 行尾插入(进入输入模式) 
  i 在光标前输入(进入输入模式) I 从光标所在列的第一个非空白字元前面开始插入(进入输入模式) 
  o 光标所在行下面新加一行(进入输入模式) O 光标所在行上面新加一行(进入输入模式) 
  y 复制选择部分 yw 复制单词 
  yy 复制行 p 粘贴 
  d 删除选择部分 dd 删除行 
  数字n+dd 删除n行 gg 到文件头 
  GG 到文件尾 h 后退一个字符 
  l 前进一个字符 j 前进一行 
  k 后退一行 n 找到下一个匹配字符 
  N 找到上一个匹配字符 0 到行首 
  $ 到行尾 r 替换 
  u 撤销上一次操作 v 进入选择模式 
  x 删除一个字符 shift+v 进入行选择模式 
  ctrl+v 进入列选择模式 ctrl+f 向下翻屏 
  ctrl+b 向上翻屏 ctrl+u 向上翻半屏 
  ctrl+d 向下翻半屏 
  vi行末模式
  esc + ":" 进入行末模式
  此时可以执行行末模式的命令和系统shell命令
  Vi输入模式:
  进入vi之后,可以像在windows记事本中一样进行文本编辑 命令 含义 命令 含义 
  esc 重新进入命令模式 esc + ":" 进入vi行末模式 
  q 退出 q! 强制退出 
  wq 保存并退出 w 保存 
  ls 执行系统命令 
  vi编辑多个文件 命令 含义 
  vi file1 file2 同时打开多个文件 
  vi file1 先打开一个文件再打开另一个文件 
  Vi file1+行末模式+new file2 在打开一个文件后,打开另一个文件(过程见系列图1) 
  系列图1:
  Step1 :打开file1 vi file1 
  File1内容:
  Step2 :按esc,shift+: 进入行末模式,输入new file2
  执行结果:
  上半部分是file2内容,下半部分是file1内容
  Step3 :可以通过 ctrl+w 在两个文件中间进行切换(图省略)
  Step4 :跳到file1中第一行执行复制命令yy
  Step5 :跳到file2中最后一行执行粘贴命令p
  Step6 :到行末模式下执行wq保存文件并退出,每执行一次关闭一个文件
  二、 vi正则表达式:
  表示内容的元字符 模式 含义 
  . 匹配任意字符 
  [abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字。 
  [^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符之外的任意字符。 
  \d 匹配阿拉伯数字,等同于[0-9]。 
  \D 匹配阿拉伯数字之外的任意字符,等同于[^0-9]。 
  \x 匹配十六进制数字,等同于[0-9A-Fa-f]。 
  \X 匹配十六进制数字,等同于[^0-9A-Fa-f]。 
  \w 匹配单词字母,等同于[0-9A-Za-z_]。 
  \W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]。 
  \t 匹配字符。 
  \s 匹配空白字符,等同于[ \t]。 
  \S 匹配非空白字符,等同于[^ \t]。 
  \a 所有的字母字符. 等同于[a-zA-Z] 
  \l 小写字母 [a-z] 
  \L 非小写字母 [^a-z] 
  \u 大写字母 [A-Z] 
  \U 非大写字母 [^A-Z] 
  表示数量的元字符 模式 含义 
  * 匹配0-任意个 
  \+ 匹配1-任意个 
  \? 匹配0-1个 
  \{n,m} 匹配n-m个 
  \{n} 匹配n个 
  \{n,} 匹配n-任意个 
  \{,m} 匹配0-m个 
  \_. 匹配包含换行在内的所有字符 
  \{-} 表示前一个字符可出现零次或多次,但在整个正则表达式可以匹配成功的前提下,匹配的字符数越少越好 
  \= 匹配一个可有可无的项 
  \_s 匹配空格或断行 
  表示转义和位置的元字符 模式 含义 模式 含义 
  \* 匹配 * 字符 $ 匹配行尾 
  \. 匹配 . 字符 ^ 匹配行首 
  \/ 匹配 / 字符 \ 匹配单词词尾 
  \[ 匹配 [ 字符 
  替换变量
  在正规表达式中使用 \( 和 \) 符号括起正规表达式,即可在后面使用\1、\2等变量来访问 \( 和 \) 中的内容。
  懒惰模式
  \{-n,m} 与\{n,m}一样,尽可能少次数地重复
  \{-} 匹配它前面的项一次或0次, 尽可能地少
  \| "或"操作符
  \& 并列
  三、 vi查找替换
  首先进入行末模式
  查找: 模式 含义 
  /abc 查找含有abc的行 
  /^abc 查找开头是abc的行 
  /abc$ 查找结尾是abc的行 
  /a[ab]c 查找aac或者abc 
  /a[^b]c 查找除abc之外的所有a*c 
  /a.*c 查找含有a*c的行,.*是最长匹配 
  /a[0-9]c 查找含有 "a任一数字c" 的行 
  /a[0-9a-z]c 查找含有 "a任一数字或者小写字母c" 的行 
  替换:(abc和def可以为正则表达式) 模式 含义 
  s/abc/def/ 将所在行的第一个abc替换成def 
  s/abc/def/g 将所在行的所有abc替换成def 
  %s/abc/def/g 将所有的abc替换成def 
  start,end s/abc/def/g 将start和end行之间的abc替换成def 
  只要熟悉了正则表达式,就可以很容易的实现想要的查找功能
  四、 Grep使用场景及常用命令
  Grep是要在一个文件中过滤出需要的行或者单词
  Grep "abc" file 在file中查找abc,过滤出所有包含abc的行
  Grep 常用的命令选项: 选项 含义 
  -e 正则表达式 
  -i 忽略大小写 
  -o 只输出匹配到的字符串 
  -v 输出未匹配到的行 
  -c 输出匹配到的行数量 
  -l 输出匹配到的文件,文件名可以是正则表达式 
  五、 Awk使用场景及常用命令
  Awk是一个行编辑工具,可以轻松地实现查找、替换、输出定制等功能
  awk 用法:awk ' pattern {action} '
  变量名&含义 变量名 含义 变量名 含义 
  FILENAME 当前输入文件名 NR 当前文件中的记录号 
  FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 
  NF 当前记录里域个数 NR 到目前为止记录数 
  OFS 输出域分隔符 ORS 输出记录分隔符 
  命令&含义 命令 含义 
  Awk '/abc/' file 输出包含abc的行 
  Awk '/abc/,/def/ 'file 输出包含abc和def的行 
  Awk '{FS="\t"} {print $0}' file 文件以tab分隔,输出整行 
  Awk '{FS="\t"} {print $1}' file 文件以tab分隔,输出第一列 
  Awk '{FS="\t"} {print $1"\t"$2}' file 文件以tab分隔,输出第一列第二列,输出以\t分隔 
  Awk '{FS="\t"} if($1>10){print $0}' file 文件以tab分隔,输出第一个列大于10的行 
  Awk '{FS="\t"} if($1>$2){print $0}' file 文件以tab分隔,输出第一列大于第二列的行 
  Awk '{FS="\t"} if($1%5==0){print $0}' file 文件以tab分隔,输出第一列与5取模为0的行 
  Awk '$2>5 && $2正则表达式 
  Sed  i "s/abc/def/g" file 将abc替换成def,不输出,-i表示直接对文件进行操作 
  Sed  e "s/abc/def/g; s/aaa/bbb/g" 进行多处替换,将abc替换成def,将aaa替换成bbb 
  Sed  e "/abc/d" file 将匹配abc的行删除 
  Sed  e "1d" 删除第一行 
  Sed  e "1,10d" file 将第1行至第10行进行删除 
  Sed  e "1,$d" file 将第1行至最后一行进行删除 
  七、 Cat使用场景及常用命令
  将文件打印到屏幕上,当要输出而不是编辑文件的时候建议使用改命令
  Cat file1 >> file2 将file1的内容追加到file2尾部
  Cat file1 file2 > file3 将文件file1和file2合成为file3
  Cat file1 file2 根据次序显示file1和file2的内容
  八、 Man
  查看linux命令的帮助文档,如:
  Man ls
  Man cd
  九、 Mv
  用户可以使用mv命令为文件或目录改名或将文件由一个目录移至另一个目录。
  Mv file1 file2 文件file1命名为file2
  Mv file1 dir1/ 文件file1移到文件夹file2
  Mv dir1 dir2/ 如果不存在目录dir2,目录dir1命名为dir2,否则会移到dir2下面
  十、 Cp
  拷贝文件
  Cp file1 file2 将file1拷贝为file2
  Cp  r dir1 dir2 将目录dir1拷贝为dir2
  十一、 Ps
  查看当前进程
  Ps xf 以进程目录树的形式查看目前用户下的进程
  Ps aux 查看所有的进程
  十二、 Curl
  Curl可以模拟多种协议的请求,如:
  FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP
  一般我们使用http请求
  Curl  s http://www.taobao.com
  十三、 Ssh
  远程链接,链接的时候需要指定用户名和密码,如:
  Ssh admin@192.168.1.1
  也可以Ssh到远程机器上执行命令
  Ssh admin@192.168.1.1  "ls"
  十四、 Scp
  远程传输工具,和ssh类似
  Scp admin@192.168.1.1:~/file  file
  将远程机器上的file文件传输到本地
  也可以
  Ssh file admin@192.168.1.1 :~/file
  将本地的file文件传输到远程机器
  Linux常用命令集锦: 命令 含义 
  ls  ltr * 按照修改时间来显示文件 
  find .  type f 当前目录下查找普通文件 
  find .  name "file" | xargs  n1 grep "abc" 当前目录下按照名字查找文件file并从中查找字符串abc 
  du  sh * 查看文件大小 
  df  h 查看磁盘空间 
  top 查看机器运行状况 
  historydiff file1 file2 查看历史命令查看两个文件的差异 
  vimdiff file1 file2 比较并编辑两个文件 
  head  n file 查看一个文件的前n行 
  tail  n file 查看一个文件的后n行 
  tail  f file 一直查看文件的变化(当文件的内容一直发生变化是,该命令能一直显示最新的内容) 
  sort file 按照字母进行排序 
  sort  n file 按照数字进行排序 
  sort  n  r file 按照数字逆序排序 
  sort  u file 按照字母排序并对结果进行uniq操作 
  sort  n  u file 按照数字排序并对结果进行uniq操作 
  转载务必注明出处Taobao QA Team ,原文地址:http://qa.taobao.com/?p=7389
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics