《Linux就该这么学》第三章
条评论管道符、重定向与环境变量
输入、输出重定向
输入重定向是文件导入命令
输出重定向是原本输出到屏幕的命令结果写入到指定文件中
重定向符号
>
和<
输入重定向用到的符号和作用
序号 符号 作用 1 命令 < 文件 将文件作为命令的标准输出 2 命令 << 分界符 从标准输入中读入,直到遇见分界符停止 3 命令 < 文件1 > 文件2 文件1作为命令的标准输入并标准输出到文件2 输出重定向用到的符号和作用
符号 作用 模式 1 命令 > 文件 将标准输出重定向到一个文件中 清空 2 命令 2> 文件 将错误输出重定向到一个文件中 清空 3 命令 >> 文件 将标准输出重定向到一个文件中 追加 4 命令 2>> 文件 将错误输出重定向到一个文件中 追加 5 命令 >> 文件 2>&1 将标准、错误输出共同重定向到一个文件中 追加 6 命令 &>> 文件 将标准、错误输出共同重定向到一个文件中 追加
案例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52#----------------------------------------------------
#----------- CASE#1 命令 > 文件
# 将 clear 的帮助文档输出到 a.txt
man clear > a.txt
# 打印 a.txt 的内容
# clear(1) clear(1)
# NAME
# clear - clear the terminal screen
#
# SYNOPSIS
# clear
#
# DESCRIPTION
# clear clears your screen if this is possible. It looks in the environ-
# ment for the terminal type and then in the terminfo database to figure
# out how to clear the screen.
cat a.txt
#----------------------------------------------------
#----------- CASE#2 > 和 >>
echo "Test Redirection Symbol >" > a.txt
# Test Redirection Symbol >
cat a.txt
echo "Test Redirection Symbol >" > a.txt
# Test Redirection Symbol >
cat a.txt
echo "Test Redirection Symbol >>" >> a.txt
# Test Redirection Symbol >>
cat a.txt
echo "Test Redirection Symbol >>" >> a.txt
# Test Redirection Symbol >>
# Test Redirection Symbol >>
cat a.txt
#----------------------------------------------------
#----------- CASE#3 > 和 2>
# 设定:目录 a 存在,目录 b 不存在
ls -l a > res.txt
ls -l b > res.txt
# total 22104
# -rw-r--r--@ 1 root * 5310310 6 6 16:30 a.png
# -rw-r--r--@ 1 root * 58375 11 10 2017 b.jpg
cat res.txt
#----------------------------------------------------
#----------- CASE#4 输入重定向 <
# a
cat a.txt
# 1
wc -c < a.txt
管道命令符
- 格式:
命令 A | 命令 B | …… | 命令 N
- 作用:把前一个命令原本要输出到屏幕的标准正常数据当做是下一个命令的标准输入
命令行的通配符(略)
1 | #-r-sr-xr-x 1 root wheel 83664 7 4 19:02 /usr/bin/at |
常用的转义字符
最常用的四个转义字符
\
:反斜杠,转义特殊变量为普通字符串'
:单引号,转义其中所有变量为普通字符串"
:保留其中变量属性,不做转义处理
案例
1
2
3
4
5
6
7PRICE=5
echo "$PRICE"
echo "$$PRICE"
echo "\$$PRICE"
echo \$$PRICE'
echo `uname -a`
重要的环境变量
命令在 Linux 中的执行步骤:
判断输入的命令是绝对路径还是相对路径,若是,则直接执行
判断输入的命令是否为“别名命令”
Bash 解释器判断用户输入的是内部命令还是外部命令
- 内部命令,解释器内部的命令,输入后直接执行
- 外部命令,参照步骤 4
系统将在多个路径中查找用户输入的命令文件
定义这些路径的变量名为
PATH
作用是告诉 Bash 解释器哪些地方可能存放命令文件
1
2# /usr/bin:/bin:/usr/sbin:/sbin
echo $PATH
常用的系统变量
序号 变量 名称 1 HOME 用户的主目录(home 路径) 2 SHELL 用户使用的 shell 解释器名称 3 HISTSIZE 输出的历史命令记录数 4 HISTFILESIZE 保存的历史命令记录数 5 MAIL 邮件保存路劲 6 LANG 系统语言、语系名称 7 RANDOM 生成一个随机数 8 PS1 Bash 解释器的提示符 9 PATH 定义解释器搜索用户执行命令的路径 10 EDITOR 用户默认的文本编辑器
写在最后
版本 | 内容 | 时间 |
---|---|---|
v1.0.0 | 1. 创建文档 2. 第三章阅读笔记草稿 | 2018-09-09 19:18:53 |
v1.0.1 | 1. 结束 3.1 章节 2. 增加 3.2 管道命令符 3. 增加 3.4 常用的转义字符 | 2018-09-10 22:59:35 |
v1.0.2 | 1. 结束 3.5 章节 | 2018-09-18 21:54:44 |
本文标题:《Linux就该这么学》第三章
文章作者:LeerGo
发布时间:2018-09-09
最后更新:2020-05-29
原始链接:https://blog.bugfix.fun/2018/09/09/7305.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!