Linux 标准输入输出、重定向、管道、文件权限、后台启动进程命令-

Linux 标准输入输出、重定向、管道、文件权限、后台启动进程命令-,第1张

IO 重定向是为了改变默认输入、输出的位置,如默认情况下标准输出(STDOUT),标准错误输出(STDERR)都是输出到显示终端,如对标准输出、标准错误输出改变其默认输出位置,可重定向输出到指定的文件中(实际工作中经常这么使用),要重定向就要配合一些语法符号。

文件或目录的访问权限分为只读、只写、可执行三种。

修改文件权限命令:chmod、chgrp、chown。

搞懂「文件所属者更改及权限的赋予」,涉及关于 chown、chmod、chgrp 命令,结合用例零基础理解和掌握使用。

重定向输出

$ls

-l

>

lsoutput.txt

这条命令把ls命令的输出保存到文件lsoutput.txt中。

$ps

>>

lsoutput.txt

使用>> *** 作符将输出内容附加到一个文件中。这条命令将ps命令的输出附加到指定文件的尾部。

如果想对标准错误输出进行重定向,需要把准备重定向的文件描述符编号加在> *** 作符的前面。因为标准错误输出的文件描述符编号为2,所以我们使用2> *** 作符。当需要丢弃错误信息并阻止它显示在屏幕上时,这个方法很有用。

下面的命令将把标准输出和标准错误输出分别重定向到不同的文件中:

$kill

-HUP

1234

>killout.txt

2>killerr.txt

如果想把两组输出都重定向到一个文件中,可以用>& *** 作符来结合两个输出。如下所示:

$kill

-l

1234

>killouterr.txt

2>&1

管道

通常把一个进程的输出通过管道连接到另外一个进程的输入。

cmd1

|

cmd2

shell负责两个命令的标准输入和标准输出。

cmd1的标准输入来自终端键盘

cmd1的标准输出传递给cmd2,作为它的标准输入

cmd2的标准输出连接到终端屏幕。

shell所做的工作从效果来看是对标准输入和标准输出流进行了重新连接,使数据流从键盘输入通过两个命令最终输出到屏幕上。

linux中的>、>>、<、<<、2>、2>>、2>&1、&>、&<,总归要面对的

为了更好的理解这个问题,我们需要追本溯源。

执行一个shell命令行时通常会自动打开三个标准文件

(1) 、标准输入文件(stdin)

通常对应终端的键盘。

(2)、标准输出文件(stdout)。

(3)、标准错误输出文件(stderr)。

(2)和(3)这两个文件都对应终端的屏幕。

进程将从标准输入文件中得到输入数据。

将正常输出数据输出到标准输出文件[显示器]。

将错误信息送到标准错误文件中[显示器]。

下图所示:

0、1、2表示一个文件描述符

但是,有时候我们不想把一些进程处理后信息输出到显示器。

这时我们就引出了重定向。

改变标准输入/输出的方向

三种重定向:

1、重定向标准输出,包括两种。

(1)、>(覆盖),等价1>

将命令执行的结果输出到指定文件,非显示器。

(2) 、>>(追加),等价1>>

将命令执行的结果追加到指定文件,非显示器。

2、 重定向标准输入,包括两种。

(1) 、<

将命令中接收的输入途径,由键盘改为指定文件。

(2) 、<<[Here Document]

命令序列传递到一个交互程序或者命令中。

3、 重定向标准错误,包括两种。

(1) 、2>(覆盖)

将命令执行的结果输出到指定文件。

(2) 、2>>(追加)

将命令执行的结果追加到指定文件。

1、重定向标准输出和重定向标准错误到同一个文件中

有以下的几种方式

(1) 、2>&1

(2) 、>&

(3) 、&>

2、 两个特殊文件

(1) 、/dev/nul

过滤标准错误信息

意思就是不想显示结果就输出到这里面。

(2) 、/dev/zero

创建指定长度的文件

案例1:

测试>and >>

案例2:

测试<and <<

测试<

测试<<

案例3:

测试2>and 2>>

案例4:

测试重定向标准输出和重定向标准错误到同一个文件中

(1)、>&

(2)、&>

与上面的案例类似,不做解释

(3) 、2>&1

案例5:

使用/dev/nul文件

有时候我们使用命令,不想将输出的信息显示到界面

这时我们可以使用 &>/dev/nul[常用]

简单测试修改demo 用户密码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8319090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存