编辑
2023-03-08
Linux学习
00
请注意,本文编写于 561 天前,最后修改于 558 天前,其中某些信息可能已经过时。

目录

输入重定向中用到的符号及作用
输出重定向中用到的符号及作用
管道命令符
命令行的通配符
常用的转义字符
Linux系统中最重要的十个环境变量

输入重定向中用到的符号及作用

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

输出重定向中用到的符号及作用

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

注: 对于重定向中的标准输出模式,可以省略文件描述符 1 不写,而错误输出模式的文件描述符 2 是必须要写的。

例:

[root@linuxprobe ~]# echo "Welcome to LinuxProbe.Com" > readme.txt [root@linuxprobe ~]# echo "Quality linux learning materials" >> readme.txt

管道命令符

符号为“ | ”,其执行格式为 “命令 A | 命令 B”

命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输 入”。

命令行的通配符

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

[root@linuxprobe ~]# ls -l /dev/sda* brw-rw----. 1 root disk 8, 0 May 4 15:55 /dev/sda brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2

如果只想查看文件名为 sda 开头,但是后面还紧跟其他某一个字符的文件的相关信息,这时就需要用到问号来进行通配了。

[root@linuxprobe ~]# ls -l /dev/sda? brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2

除了使用[0-9]来匹配 0~9 之间的单个数字,也可以用[135]这样的方式仅匹配这三个指定数字中的一个,若没有匹配到,则不会显示出来:

[root@linuxprobe ~]# ls -l /dev/sda[0-9] brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1 brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2 [root@linuxprobe ~]# ls -l /dev/sda[135] brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1

常用的转义字符

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

Linux系统中最重要的十个环境变量

变量名称作用
HOME用户的主目录(即家目录)
SHELL用户在使用的 Shell 解释器名称
HISTSIZE输出的历史命令记录条数
HISTFILESIZE保存的历史命令记录条数
MAIL邮件保存路径
LANG系统语言、语系名称
RANDOM生成一个随机数字
PS1Bash 解释器的提示符
PATH定义解释器搜索用户执行命令的路径
EDITOR用户默认的文本编辑器
[root@linuxprobe ~]# echo $HOME /root [root@linuxprobe ~]# su - linuxprobe Last login: Fri Feb 27 19:49:57 CST 2017 on pts/0 [linuxprobe@linuxprobe ~]$ echo $HOME /home/linuxprobe

自行创建变量

[root@linuxprobe ~]# mkdir /home/workdir [root@linuxprobe ~]# WORKDIR=/home/workdir [root@linuxprobe ~]# cd $WORKDIR [root@linuxprobe workdir]# pwd /home/workdir

自行创建的变量不具有全局性,作用范围也有限,默认情况下不能被其他用户使用。可用export 命令将其提升为全局变量。

[root@linuxprobe workdir]# su linuxprobe Last login: Fri Mar 20 20:52:10 CST 2017 on pts/0 [linuxprobe@linuxprobe ~]$ cd $WORKDIR [linuxprobe@linuxprobe ~]$ echo $WORKDIR [linuxprobe@linuxprobe ~]$ exit [root@linuxprobe ~]# export WORKDIR [root@linuxprobe workdir]# su linuxprobe Last login: Fri Mar 20 21:52:10 CST 2017 on pts/0 [linuxprobe@linuxprobe ~]$ cd $WORKDIR [linuxprobe@linuxprobe workdir]$pwd /home/workdir
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Gustav

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!