管道符、重定向与环境变量&vim编辑器


 输入输出重定向

标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。

标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。

错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。

输入重定向中用到的符号及其作用

符号 作用
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
命令 < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件2

输出重定向中用到的符号及其作用

符号 作用
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1 

命令 &>> 文件
将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

管道命令符

其执行格式为“命令A | 命令B”。管道命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入”。

命令行的通配符

星号(*)代表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。

常用的转义字符

4个最常用的转义字符如下所示:

反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。

单引号(''):转义其中所有的变量为单纯的字符串。

双引号(""):保留其中的变量属性,不进行转义处理。

反引号(``):把其中的命令执行后返回结果。

重要的环境变量

Linux系统中最重要的10个环境变量

变量名称 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的Shell解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器

Vim文本编辑器

命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式:正常的文本录入。

末行模式:保存或退出文档,以及设置编辑环境。

Vim中常用的命令

命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式中可用的命令

命令 作用
:w 保存
:q 退出
:q! 强制退出(放弃对文档的修改内容)
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到该行
:s/one/two 将当前光标所在行的第一个one替换成two
:s/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

最新文章

  1. Linux下介绍一款不错的HTML编辑器
  2. mysql5.7中文乱码问题的解决,将编码统一改成utf8的方法
  3. Servlet+JSP+JavaBean开发模式(MVC)介绍
  4. POJ 2486-Apple Tree(树状背包)
  5. 登陆用户怎样获取验证码和保存用户到cookie中
  6. SQL server 如何修改登录名和密码
  7. 【转】 Xcode基本操作
  8. SSH端口修改
  9. 【渗透课程】第四篇-Web安全之信息探测
  10. 退出psql时,报psql_history的错
  11. LVS+nginx负载均衡知识点1
  12. 【noip模拟赛8】魔术棋子
  13. shell 基本命令
  14. JavaScript 深入了解对象中的属性
  15. oracle下导出某用户所有表的方法
  16. 如何批量删除SQL注释?
  17. Appium录制脚本520-2
  18. Service生命周期以及应用
  19. LANMPS 一键PHP环境安装包(转)
  20. C# 调节图片亮度

热门文章

  1. 7.使用dom4j实现增删改查
  2. JavaSE---锁
  3. centos 6.5 查看发行版本
  4. Xcode7.1环境下上架iOS App到AppStore 流程②
  5. 支付宝证书签名 PHP SDK
  6. CF1111C Creative Snap 线段树
  7. Linux系统重要文件(三)
  8. 网络体系之TCP/IP模型
  9. [CF852H]Bob and stages
  10. 【2019 Multi-University Training Contest 3】