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.txt
2.现在您能简述下管道符的作用吗?
将第一个命令输出的内容作为第二个命令的输入
3.请问bash解释器通配符中星号(*)代表几个字符?
0或多个
4.PATH变量的作用是?
让Bash解释器找到用户输入命令的命令文件。搜索执行命令的路径
5.请问什么命令能够把名称为LINUX的一般变量转换成全局变量?
export LINUX
6.若想要把整个字符串中所有的字符都转义成纯文字数据,不允许变量生效的话怎么实现?
需要使用转义符中的单引号,把整个字符串信息括起来。
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/bin PATH
exprot CLASSPATH = .; JAVAHOME/lib/dt.jar; JAVA_HOME/lib/tools.jar - 查看安装路径 : whereis java
- 环境变量修改后执行source命令使得配置生效:source /etc/profile