Shell

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Shell >

(原创)shell中自定义文件描述符的方法介绍

来源:网络整理  作者:wy  发布时间:2020-12-23 11:30
文件描述符是用于访问文件的一个抽象指针。存取文件离不开被称为“文件描述符”告的特殊数字。0、1和2分别是s...

文件描述符是用于访问文件的一个抽象指针。存取文件离不开被称为“文件描述符”告的特殊数字。0、1和2分别是stdin、stdout和stderr的预留描述符。
我们可以使用exec命令创建自定义的描述符。如果你对其他编程语言进行文件编程非常熟悉,你可能已经注意到了文件打开模式。通常来说,会使用3种模式。
只读模式。
截断模式。
追加模式。

<操作符用于从文件中读取至stdin 。>操作符用于截断模式的文件写入(数据在目标文件内容被截断之后写入)。>>操作符用于追加模式的文件写入(数据被追加到文件的现有内容中,而且该目标文件中原有的内容不会丢失)。文件描述符可以用以上三种模式中的任意一种来创建。

为读取文件创建一个文件描述符:
$ exec 3<input .txt # 使用文件描述符3打开并读取文件

我们可以这样使用它:
 

复制代码 代码如下:

$ echo this is a test line > input.txt
$ exec3 <input.txt

现在你就可以在命令中使用文件描述符3了。例如:
 

复制代码 代码如下:

$ cat <&3
this is a test line

如果要再次读取,我们就不能再继续使用文件描述符3了,而是需要用exec重新分配文件描述符3以便用于读取。
创建一个文件描述符用于写入( 截断模式):
$ exec 4>input .txt # 打开文件用于写入

例如:
 

复制代码 代码如下:

$ exec 4>input .txt
$ echo newline >&4
$ cat output.txt
newline

创建一个文件描述符用于写入(追加模式):
$ exec 5 >>input .txt

例如:
 

复制代码 代码如下:

$ exec 5 >>input .txt
$ echo appended line >&5
$ cat input.txt
newline
appended line

相关热词: shell 方法

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/shell/8160.shtml

相关文章
最新文章
PHP生成奖状 PHP生成奖状

时间:2021-01-06

python实现输入五个数并求 python实现输入五个数并求

时间:2021-01-06

php检测网站是否正常打开 php检测网站是否正常打开

时间:2021-01-05

python怎么右对齐 python怎么右对齐

时间:2021-01-05

Python3爬虫入门之Python3的安 Python3爬虫入门之Python3的安

时间:2021-01-05

如何用PHP接收http请求头信 如何用PHP接收http请求头信

时间:2021-01-05

数据库怎么连接用php写的 数据库怎么连接用php写的

时间:2021-01-05

php后缀怎么打开 php后缀怎么打开

时间:2021-01-05

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

(原创)shell中自定义文件描述符的方法介绍

2020-12-23 编辑:wy

文件描述符是用于访问文件的一个抽象指针。存取文件离不开被称为“文件描述符”告的特殊数字。0、1和2分别是stdin、stdout和stderr的预留描述符。
我们可以使用exec命令创建自定义的描述符。如果你对其他编程语言进行文件编程非常熟悉,你可能已经注意到了文件打开模式。通常来说,会使用3种模式。
只读模式。
截断模式。
追加模式。

<操作符用于从文件中读取至stdin 。>操作符用于截断模式的文件写入(数据在目标文件内容被截断之后写入)。>>操作符用于追加模式的文件写入(数据被追加到文件的现有内容中,而且该目标文件中原有的内容不会丢失)。文件描述符可以用以上三种模式中的任意一种来创建。

为读取文件创建一个文件描述符:
$ exec 3<input .txt # 使用文件描述符3打开并读取文件

我们可以这样使用它:
 

复制代码 代码如下:

$ echo this is a test line > input.txt
$ exec3 <input.txt

现在你就可以在命令中使用文件描述符3了。例如:
 

复制代码 代码如下:

$ cat <&3
this is a test line

如果要再次读取,我们就不能再继续使用文件描述符3了,而是需要用exec重新分配文件描述符3以便用于读取。
创建一个文件描述符用于写入( 截断模式):
$ exec 4>input .txt # 打开文件用于写入

例如:
 

复制代码 代码如下:

$ exec 4>input .txt
$ echo newline >&4
$ cat output.txt
newline

创建一个文件描述符用于写入(追加模式):
$ exec 5 >>input .txt

例如:
 

复制代码 代码如下:

$ exec 5 >>input .txt
$ echo appended line >&5
$ cat input.txt
newline
appended line

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/shell/8160.shtml

相关文章

风云图片

推荐阅读

返回Shell频道首页