当前位置:首页 » 操作系统 » linuxstdin

linuxstdin

发布时间: 2022-09-05 21:23:41

A. linux中echo $password| passwd $username ––stdin什么意

stdin,标准输入,通过前一个管道的数据,作为口令输入,一般用在 shell script 中。

B. 在linux下,是不是只要某个文件的文件描述符时0,这个文件就可以作为stdin

Linux的本质就是一切皆文件,输入输出设备也是以文件形式存在和管理的。
内核启动的时候默认打开这三个I/O设备文件:标准输入文件stdin,标准输出文件stdout,标准错误输出文件stderr,分别得到文件描述符 0, 1, 2。
你只是以自定义的文件代替了系统默认的设备文件,实现了输入输出的重定向。

C. Linux中,标准输入输出设备文件有个,文件名分别是

Linux中有以下三个标准设备:
标准输入(stdin)、标准输出(stdout)、标准错误输出(stderr)
对应的文件描述符分别为:0、1、2

D. linux里面标准输入输出是什么

linux shell下常用输入输出操作符是:
1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ; /dev/stdin -> /proc/self/fd/0 0代表:/dev/stdin
2. 标准输出 (stdout):代码为 1 ,使用 > 或 >> ; /dev/stdout -> /proc/self/fd/1 1代表:/dev/stdout
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ; /dev/stderr -> /proc/self/fd/2 2代表:/dev/stderr

E. linux标准输入输出流有什么用

Unix/Linux/BSD 都有三个特别文件,分别
1)标准输入 即 STDIN , 在 /dev/stdin ,
一般指键盘输入, shell里代号是 0
2) 标准输出 STDOUT, 在 /dev/stdout,
一般指终端(terminal), 就是显示器, shell里代号是 1
3) 标准错误 STDERR, 在 /dev/stderr
也是指终端(terminal), 不同的是, 错误信息送到这里
shell里代号是 2
2, 3用些例子再表达一下
User@User-PC ~
$ ls /dev/stdin
/dev/stdin@
User@User-PC ~
$ ls -l /dev/std*
lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stdout -> /proc/self/fd/1
就是这些东西了,呵呵
User@User-PC ~
$ ls 1> log1.txt
User@User-PC ~
$ cat log1.txt
Mail/
News/
a.txt
aa*
awkscr
b.txt
bb*
bin/
cc
cgitest.rex*
dd*
irc-sh*
junk
lib/
log1.txt
lynx.cfg
matrix/
perlscr*
pp*
rexx_script/
rrr
testawk
tmp/
trash
将标准输出导向到文件, 缩写就是 ls > log1.txt
User@User-PC ~
$ ls llll 1> log2.txt
ls: 无法存取 llll: No such file or directory
再次执行,但这次没有这个文件llll, 出现错误讯息
User@User-PC ~
$ cat log2.txt
User@User-PC ~
$ file log2.txt
log2.txt: empty
输出没有导向到文件,文件是空文件
User@User-PC ~
$ ls llll 2> log2.txt
User@User-PC ~
$ cat log2.txt
ls: 无法存取 llll: No such file or directory
User@User-PC ~
$
再次执行刚才的命令,只是将 1> log2.txt 改为 2> log2.txt
这次就成功把错误讯息导向至文件了,呵呵,
就是这样
所以,将标准输出和标准错误 一同导向到一个文件里,就得这样表达
命令 2>&1 > 档案, 如
User@User-PC ~
$ echo 123 | if grep -E '[0-9]+' 2>&1 > /dev/null ; then echo "This is number."; fi
This is number.
grep 标准输出和标准错误 都导向到系统‘黑洞’,不会再屏幕上显示什么
, 明白了吧? 呵呵

F. linux操作系统的标准输入/出文件有哪些

Linux中有以下三个标准设备: 标准输入(stdin)、标准输出(stdout)、标准错误输出(stderr) 对应的文件描述符分别为:0、1、2

G. Linux标准输入输出与重定向详解|果断收藏

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 用户密码

H. Linux 的 stdin stdout 怎样实现,我用 Node 怎样模拟

Abstract:
1) Linux Shell 命令的标准输入、标准输出、标准错误,及其重定位;2)Linux Shell 操作自定义文件描述符;
文件描述符是与文件相关联的一些整数,他们保持与已打开文件的关联。众所周知的文件描述符是标准输入stdin、标准输出stdout、标准错误stderr,我们可以重定位这些文件描述符关联文件的内容到另外一个文件文件描述符。
1. Linux Shell 命令的标准输入、标准输出、标准错误
当我们在编写 shell 脚本时,我们会非常频繁地操作执行命令的标准输入stdin、标准输出stdout、标准错误stderr。过滤 shell 脚本或者执行命令的输出信息并且把它们重定位到特定的地方,成了我们分析脚本执行情况的必要工作。当我们执行脚本文件或者执行一个 shell 命令的时候,单从终端输出我们很难区分哪些是标准输出,哪些是标准错误。然而,我们把这些信息重定向特定的地方,以便于我们分析脚本文件及 shell 命令的执行情况。

文件描述符是与打开文件或者数据流相关联的整数,0、1、2 是系统保留的三个文件描述符,分别对应标准输入、标准输出、标准错误。
Linux Shell 使用 " > " ">>" 进行对文件描述符进行重定位。
">" 与 ">>" 的作用是不一样的,前者使用本次输出内容替换原有文件的内容,后者则是把本次输出追加到原文件的后面。

在对文件描述符进行详细分析之前,先执行以下命令,为后面的实验操作准备一些必要的文件:

echo -e "\e[42;31m --- Prepare resource file ---\e[0m";

echo "This is example text 1." > temp.txt;

echo "This is example text 2." >> temp.txt;

cat temp.txt;

echo "a1" > a1;

echo "a2" > a2;

echo "a3" > a3;

sudo chmod 000 a3;

ls -alF a*;

I. Linux安装Stdin:not a typewriter.

你是不是用U盘安装的,换个U盘试试,我以前遇到过,当时是卡在系统启动画面的地方,切换到文本界面显示的信息跟你一样。我找到问题是因为U盘本身的配置不一样导致BIOS识别不同,我两个U盘,一个插上后,启动项的地方显示的是USB HDD,但另一个却是USB Flash Driver,用前一个就总是卡在那,后一个就没问题。不知道你的是不是也是这个原因。

J. linux下编程函数实参为stdin什么意思啊

stdin 是标准输入 ,编程函数实参为stdin表示参数里的内容为键盘输入内容

热点内容
压缩先生个性 发布:2024-05-11 02:00:24 浏览:317
c语言进程编程 发布:2024-05-11 01:58:38 浏览:436
24寸密码箱能装多少东西 发布:2024-05-11 01:13:07 浏览:326
怎么看自己的电脑配置的参数 发布:2024-05-11 01:08:45 浏览:811
python查找子字符串 发布:2024-05-11 01:04:24 浏览:85
易语言充值源码 发布:2024-05-11 00:59:51 浏览:959
私人服务器怎么登录ip地址 发布:2024-05-11 00:45:29 浏览:668
淘宝客返利源码 发布:2024-05-11 00:25:46 浏览:577
生鲜仓库视频拍摄脚本 发布:2024-05-11 00:23:40 浏览:701
成功人生教育密码是什么 发布:2024-05-11 00:19:18 浏览:279