第四节课 管道符、重定向、环境变量

输入输出重定向

  • 输入重定向

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

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

管道命令符

  • “命令 A | 命令 B | 命令 C”

命令行的通配符

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

常用的转义字符

符号 作用
反斜杠(\) 使反斜杠后面的一个变量变为单纯的字符串。
单引号(’’) 转义其中所有的变量为单纯的字符串。
双引号("") 保留其中的变量属性,不进行转义处理。
反引号(``) 把其中的命令执行后返回结果。

重要的环境变量

  • 第 1 步:判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话则直接执行。
  • 第 2 步:Linux 系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用 alias 命令来创建一个属于自己的命令别名,格式为“alias 别名=命令”。若要取消一个命令别名,则是用 unalias 命令,格式为“unalias 别名”。我们之前在使用 rm 命令删除文件时,Linux 系统都会要求我们再确认是否执行删除操作,其实这就是 Linux 系统为了防止用户误删除文件而特意设置的 rm 别名命令。
  • 第 3 步:Bash 解释器判断用户输入的是内部命令还是外部命令。内部命令是解释器内部的指令,会被直接执行;而用户在绝大部分时间输入的是外部命令,这些命令交由步骤 4 继续处理。可以使用“type 命令名称”来判断用户输入的命令是内部命令还是外部命令。
  • 第 4 步:系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫作 PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉 Bash 解释器待执行的命令可能存放的位置,然后 Bash 解释器就会乖乖地在这些位置中逐个查找。PATH 是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到 Bash 解释器对 Linux 命令的查找。
变量名称 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的 Shell 解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash 解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器

vim 文本编辑器

  • 三种模式

    • 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
    • 输入模式:正常的文本录入。
    • 末行模式:保存或退出文档,以及设置编辑环境。
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
      2020-10-10 Linux第四课
  • 命令模式下常用命令

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

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

拍照

2020-10-10 Linux第四课

相关文章:

猜你喜欢
  • 2021-12-04
  • 2021-04-14
  • 2022-01-15
相关资源
相似解决方案