前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux 管道符重定向

linux 管道符重定向

原创
作者头像
用户8006012
发布2022-10-23 16:26:19
3.3K0
发布2022-10-23 16:26:19
举报
文章被收录于专栏:DATABASE

输入重定向来讲,用到的符号及其作用如表3-1所示。

表3-1                                         输入重定向中用到的符号及其作用

符号

作用

命令 < 文件

将文件作为命令的标准输入

命令 << 分界符

从标准输入中读入,直到遇见分界符才停止

命令 < 文件1 > 文件2

将文件1作为命令的标准输入并将标准输出到文件2

对于输出重定向来讲,用到的符号及其作用如表3-2所示。

表3-2                                         输出重定向中用到的符号及其作用

符号

作用

命令 > 文件

将标准输出重定向到一个文件中(清空原有文件的数据)

命令 2> 文件

将错误输出重定向到一个文件中(清空原有文件的数据)

命令 >> 文件

将标准输出重定向到一个文件中(追加到原有内容的后面)

命令 2>> 文件

将错误输出重定向到一个文件中(追加到原有内容的后面)

命令 >> 文件 2>&1或命令 &>> 文件

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

代码语言:javascript
复制
[root@rhel ~]# mkdir /test

[root@rhel ~]# echo 123456789 >> /tmp/num.txt
[root@rhel ~]# cat /tmp/num.txt
123456789
[root@rhel ~]# mv /tmp/num.txt /test
[root@rhel ~]# cat /test/num.txt
123456789
[root@rhel ~]# man bash > readme.txt
[root@rhel ~]# mv readme.txt /test
[root@rhel ~]# cat /test/readme.txt
[root@rhel test]# echo "Welcome to LinuxProbe.Com" > readme.txt
[root@rhel test]# cat readme.txt
Welcome to LinuxProbe.Com
[root@rhel test]# echo "Quality linux learning materials" >> readme.txt
[root@rhel test]# cat readme.txt
Welcome to LinuxProbe.Com
Quality linux learning materials

  Linux系统中的通配符及含义

通配符

含义

*

任意字符

?

单个任意字符

[a-z]

单个小写字母

[A-Z]

单个大写字母

[a-Z]

单个字母

[0-9]

单个数字

[[:alpha:]]

任意字母

[[:upper:]]

任意大写字母

[[:lower:]]

任意小写字母

[[:digit:]]

所有数字

[[:alnum:]]

任意字母加数字

[[:punct:]]

标点符号

代码语言:javascript
复制
[root@rhel test]# ls -l /etc/*.conf              //------*/

[root@rhel test]# ls -l /dev/sda*
brw-rw----. 1 root disk 8, 0 Oct 23 09:29 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 23 09:29 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 23 09:29 /dev/sda2
[root@rhel test]# ls -l /dev/sda?
brw-rw----. 1 root disk 8, 1 Oct 23 09:29 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 23 09:29 /dev/sda2
[root@rhel test]# ls -l /dev/sda[0-9]
brw-rw----. 1 root disk 8, 1 Oct 23 09:29 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 23 09:29 /dev/sda2

通配符不仅可用于搜索文件或代替被通配的字符,还可以与创建文件的命令相结合,一口气创建出好多个文件。不过在创建多个文件时,需要使用大括号,并且字段之间用逗号间隔:

代码语言:javascript
复制
[root@rhel test]#  touch {AA,BB,CC}.conf
[root@rhel test]# ls
AA.conf  BB.conf  CC.conf  num.txt  readme.txt  stderr.txt
[root@rhel test]# echo file{1,2,3,4,5}
file1 file2 file3 file4 file5
[root@rhel test]# ll
total 8
-rw-r--r--. 1 root root  0 Oct 23 15:58 AA.conf
-rw-r--r--. 1 root root  0 Oct 23 15:58 BB.conf
-rw-r--r--. 1 root root  0 Oct 23 15:58 CC.conf
-rw-r--r--. 1 root root 10 Oct 23 15:23 num.txt
-rw-r--r--. 1 root root 59 Oct 23 15:29 readme.txt
-rw-r--r--. 1 root root  0 Oct 23 15:32 stderr.txt
常用的转义字符

为了能够更好地理解用户的表达,Shell解释器还提供了特别丰富的转义字符来处理输入的特殊数据。

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

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

代码语言:javascript
复制
[root@rhel test]# PRICE=5
[root@rhel test]# echo "Price is $PRICE"
Price is 5
[root@rhel test]# echo "Price is \$$PRICE"
Price is $5
[root@rhel test]# echo `uname -a`
Linux rhel 3.10.0-1160.el7.x86_64 #1 SMP Tue Aug 18 14:50:17 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@rhel test]# echo 'uname -a'
uname -a
3.5 重要的环境变量

变量是计算机系统用于保存可变值的数据类型。在Linux系统中,变量名称一般都是大写的,命令则都是小写的,这是一种约定俗成的规范。Linux系统中的环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录、邮件存放位置等。可以直接通过变量名称来提取到对应的变量值。

PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash解释器对Linux命令的查找。

代码语言:javascript
复制
[root@rhel test]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

表3-4                                       Linux系统中最重要的10个环境变量

变量名称

作用

HOME

用户的主目录(即家目录)

SHELL

用户在使用的Shell解释器名称

HISTSIZE

输出的历史命令记录条数

HISTFILESIZE

保存的历史命令记录条数

MAIL

邮件保存路径

LANG

系统语言、语系名称

RANDOM

生成一个随机数字

PS1

Bash解释器的提示符

PATH

定义解释器搜索用户执行命令的路径

EDITOR

用户默认的文本编辑器

Tips

直接在终端设置的变量能够立即生效,但在重启服务器后就会失效,因此我们需要将变量和变量值写入到.bashrc或者.bash_profile文件中

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用的转义字符
  • 3.5 重要的环境变量
  • Tips
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档