Linux:特殊字符整理

嗯,不是其它内容,而是用Linux开发时,初期在各种指令和shell脚本中挣扎过。 其中让我精神崩溃的不是别的,而是"特殊字符"。这些特殊字符,各自都有固有的命令,所以现在想整理一下。

1. 标准输出

表示标准输出的特殊字符是">",如果使用该特殊字符,可以下达以下命令。

# '>' 标准输出 (new)
$ ls > test.txt # 将标准输出写入文件 。

通过ls指令输出的内容记录在 test.txt 文件中。但是,test.txt 文件不是更新而是会重新制作,所以要注意。除此之外,如果连续两次使用标准输出,将像下面一样使用。

# '>>' 标准输出 (append)
$ ls >> test.txt # 将标准输出附加到文件末尾。

通过ls指令输出的内容附加到 test.txt 文件中进行记录。

2. 标准输入

表示标准输入的特殊字符是"<",使用该特殊字符,可以下达以下命令。

# '<' 标准输入
$ cat < test.txt # 从文件读取为标准输入。

test.txt 的内容用cat指令读出来后显示在画面上。

3. 通配符

这些是命令语中可以多种组合的特殊字符。*,?两者的区别在于匹配的字符数量。* 特殊字符是与所有字符一致的通配符特殊字符,? 字符是与一个字符匹配的特殊字符。指令可以表示如下。

# '*' 匹配全部字符的通配符
$ ls tes* # test.txt, tes/123.txt 等匹配的所有文件/目录(内部)都会打印出来。
# '?' 匹配一个字符的通配符
$ ls test.tx? # test.txt, test.txx 等打印一个匹配的文件。

4. 路径相关

~     用户的家目录,超级用户为/root,普通用户为/home
-      代表上一次(相对于当前路径)用户所在的路径 $OLDPWD控制
.      代表当前目录(点号还有很多其它含义,暂且不表)
..     代表上一级目录

5. 管道字符

将某一过程的标准输出发送到另一过程的标准输入的字符|。主要被称为管道字符。

# 管道字符示例
# 通过ps指令的标准输出作为标准输入插入程序,以找出程序信息中包含"tomcat"的程序。
$ ps -ef | grep tomcat

6. 命令字符

本部分主要涉及命令(Command)的字符。

; # 显示命令的结尾
|| # 先前命令失败后执行的条件字符
&& # 先前命令成功后运行的条件字符
& # 在后台执行命令
$ # 可访问变量的字符

除此之外,如果使用"#"字符,还可以进行注释处理。

7. 变量访问字符

利用上述特殊字符,可以进一步应用Shell Command。在此之前,有可以变量访问字符,如下。

0 # stdin (标准输入)
1 # stdout (标准输出)
2 # stderr (错误输出)

如果将上述字符和变量访问字符结合起来,&1 和&2 等命令也是可能的。也可以进行以下命令。

# 标准错误重定向( 只输出 stderr)
$ ./test.sh >> ./test.log 2>&1

如上所述,在运行 test.sh 时出现的标准错误也可以附加到 test.log 文件中。但是,如果不需要log文件,也可以按照下列方式使用。

# 不需要标准输出。
$ ./test.sh >> /dev/null 2>&1

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AnyaPapa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值