Linux管道符、重定向和环境变量学习

来源:互联网 发布:当前数据连接不可用 编辑:程序博客网 时间:2024/06/06 05:37

Linux命令与文件读写操作有关的重定向技术

  • 标准覆盖输出重定向
  • 标准追加输出重定向
  • 错误覆盖输出重定向
  • 错误追加输出重定向
  • 输入重定向

输入输出重定向

  • 输入重定向:能够把文件导入到命令中
  • 输出重定向:能够把原本要输出到屏幕的数据信息是写入到指定文件中

输入重定向

  • 命令 < 文件 将文件作为命令输入
  • 命令<< 分界符 从标准输入中读入,知道遇见分界符才停止
  • 命令<文件1<文件2 降文件1作为命令的标准输入并将标准输出到文件2

输出重定向

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

管道命令符

  • 执行格式 命令A|命令B
  • 把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入

命令行的通配符

  • 通配符:顾名思义就是通用的匹配信息的符号
    • 代表匹配 零个或多个字符
  • ? 代表匹配 单个字符
  • [0-9]代表匹配单个阿拉伯数字
  • [abc]则是代表匹配单个指定的英文字母
  • 所有在/dev目录中且以sda开头的文件 : ls -l /dev/sda*
  • 如果只需要看sda后面一定要有个字符的文件相关信息呢: ls -l /dev/sda?
  • [135] 仅匹配这三个指定

常用的转移字符

  • \ : 转义后面的一个变量变成单纯的字符串
  • ” : 转义其中所有的变量位单纯的字符串
  • “” : 保留其中的变量属性不转义
  • “ :则是把其中的命令执行后返回一个结果

环境变量

  • 变量 :是计算机系统中用于保存可变值的数据类型

系统执行命令的步骤

  • 判断是否是绝对路径
  • 判断用户输入的是否为“别名命令”
    • alias lb = 命令 alias rm = ‘rm -i’ unalias是取消别名命令
  • 有Bash解释器来判断用户输入的是个内部命令还是外部命令
    • type 命令名称 来手工判断是否是内部命令还是外部命令
  • 系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫做PATH
  • 查看所有的环境变量 env

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

设置环境变量

局部的环境变量

    mkdir /home/workdir    WORKDIR = /home/workdir    cd $WORKDIR

全局环境变量

export WORKDIR  将路径设置位全局路径

习题

1.把ls命令正常输出信息追加写入到error.txt文件中的命令是?    ls > error.txt2.现在您能简述下管道符的作用吗?    将第一个命令输出的内容作为第二个命令的输入3.请问bash解释器通配符中星号(*)代表几个字符?    0或多个4.PATH变量的作用是?    让Bash解释器找到用户输入命令的命令文件。搜索执行命令的路径5.请问什么命令能够把名称为LINUX的一般变量转换成全局变量?    export LINUX6.若想要把整个字符串中所有的字符都转义成纯文字数据,不允许变量生效的话怎么实现?    需要使用转义符中的单引号,把整个字符串信息括起来。

Linux 设置 Java环境变量

  • 查看java的安装路径 find / -name java
  • 查看java的执行路径 watch java
  • 配置java环境变量
    vi /etc/profile
    export JAVA_HOME = /usr/share/jdk1.6.0_20
    exprot PATH = JAVAHOME/binPATH
    exprot CLASSPATH = .;JAVAHOME/lib/dt.jar;JAVA_HOME/lib/tools.jar
  • 查看安装路径 : whereis java
  • 环境变量修改后执行source命令使得配置生效:source /etc/profile
原创粉丝点击