Chinaunix首页 | 论坛 | 博客
  • 博客访问: 383887
  • 博文数量: 114
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1219
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-07 21:23
文章分类

全部博文(114)

文章存档

2018年(1)

2017年(5)

2016年(87)

2015年(21)

我的朋友

分类: 系统运维

2017-10-13 14:29:34


  1. cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
  2. 一、Linux cat命令语法格式
  3. cat [选项] [文件]...
  4. 命令参数:
  5. -A, --show-all 等价于 -vET
  6. -b, --number-nonblank 对非空输出行编号
  7. -e 等价于 -vE
  8. -E, --show-ends 在每行结束处显示 $
  9. -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
  10. -s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
  11. -t 与 -vT 等价
  12. -T, --show-tabs 将跳格字符显示为 ^I
  13. -u (被忽略)
  14. -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

  15. 二、Linux cat命令使用实例
  16. 1)显示文件内容
  17. cat file
  18. This is the beginning.
  19. This is the end.
  20. line

  21. 2)把file内容加上行号输入到file1中
  22. cat -n file >file1
  23. cat file1
  24.      1    This is the beginning.
  25.      2    This is the end.
  26.      3    line

  27. 这里注意>>>的使用
  28. cat file >> file1 这样就把file 的内容追加到file1了。
  29. 如果是cat file > file1就把file1内容清空再写入file的内容


  30. 3)清空file1内容
  31. cat /dev/null >file1
  32. cat file1

  33. 4)Linux tac命令
  34. tac就是cat反过来,功能也与cat正好相反,用来将文件从后向前输出。
  35. 以下是两个命令的区别

  36. cat file
  37. This is the beginning.
  38. This is the end.
  39. line
  40. tac file
  41. line
  42. This is the end.
  43. This is the beginning.

  44. 5)使用 cat 的 -n 选项;可以在各行前面附加行号, -b 选项可以禁止对空白行编号:
  45. cat -nb file
  46.      1    This is the beginning.
  47.      2    This is the end.

  48.      3    line


  49. 6)在文件开头插入文本
  50. 通过使用连字符 (-) 指定标准输入并写到一个新文件,您可以使用 cat 在文件开头插入文本:
  51. cat - file > newfile
  52. sisishishi:
  53. cat newfile
  54. sisishishi:
  55. This is the beginning.
  56. This is the end.

  57. line

  58. 显示非打印字符
  59. cat 具有若干个有用的选项。其中一些选项控制它输出非打印字符的方式,例如制表符和控制字符、如果某个文件具有尾随空格,您就可以使用这些选项:
  60. cat -vet file
  61. This is the beginning.$
  62. This is the end.$
  63. $
  64. line$
  65. $
  66. $


  67. 7)Here Document用转向输入的方式交给该命令去处理,常用于shell脚本中配置文件
  68. cat >> /file <<EOF
  69. 111
  70. 222
  71. 333
  72. EOF

  73. 配置文件有变量比如Nginx的配置文件有变量这样直接导入会发生错误
  74. 1.加\反斜杠
  75. \$proxy_add_x_forwarded_for;

  76. 2.表示这个Here Document拥有和双引号一样的特性,即支持变量替换的功能,加上''单引号表明以下凡是变量定义用到了'',将会使变量呈现所见即所得的形式,也即关闭变量替换
  77. cat >> /file <<"EOF"



  78. 这里要注意几点

  79. EOF 只是一个标识而已,可以替换成任意的合法字符
  80. 作为结尾的EOF一定要顶格写,前面不能有任何字符
  81. 作为结尾的EOF后面也不能有任何的字符(包括空格)
  82. 作为起始的EOF前后的空格会被省略掉


阅读(860) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~