当前位置: 首页 > article >正文

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


http://www.kler.cn/a/298700.html

相关文章:

  • HTML5 开关(Toggle Switch)详细讲解
  • STM32 高级 WIFi案例1:测试AT指令
  • 云手机:小红书矩阵搭建方案
  • Unity WebGL 部署IIS
  • 联邦协作训练大模型的一些研究进展
  • CAD学习 day11
  • 【区块链 + 人才服务】CERX- 基于联盟链的研学资源交换网络 | FISCO BCOS应用案例
  • Mysql链接异常 | [08001] Public Key Retrieval is not allowed
  • RK3399 android7.1 话柄电话功能
  • llms 文本分类的微调
  • 《论多源数据集成及应用》写作框架,软考高级系统架构设计师
  • 【Android】NestedScrollView的简单用法与滚动冲突、滑动冲突
  • 聚观早报 | 红魔电竞平板新品发布;台积电8月份营收
  • LabVIEW步进电机控制方式
  • node.js入门基础
  • Learn OpenGL In Qt之着色器
  • 【C++】 Vector
  • mysql mgr 集群部署 单主模式和多主模式
  • [论文笔记] t-SNE数据可视化
  • Java笔试面试题AI答之JDBC(3)
  • framebuffer
  • Android13修改Setting实现电量低于30%的话不可执行Rest操作
  • ubuntu配置tftp、nfs
  • 【编程基础知识】Spring过滤器、拦截器、AOP区别
  • 《JavaScript 中数据类型判断、转换技巧及应用实例》
  • GitHub每日最火火火项目(9.10)