草庐IT

STDIN_FILENO

全部标签

linux - 如何使 rsync 从 STDIN 读取 SRC?

我想转储我的MySQL数据库并使用rsync进行每日备份。我想到的第一种方法是mysqldump-ufoo-pbarbaz>/var/tmp/baz.sql&&rsync/var/tmp/baz.sql/backup/&&rm/var/tmp/baz.sql.然后我开始考虑是否可以不使用临时文件/var/tmp/baz.sql,而是直接将mysqldump的输出通过管道传输到rsync。更具体地说,我想要的非常类似于我们用来在Ubuntu中为apt更新GPGkey的命令行:gpg--export--armorCE49EC21|sudoapt-keyadd-,其中管道的接收者支持此“-”

linux - 如何使 rsync 从 STDIN 读取 SRC?

我想转储我的MySQL数据库并使用rsync进行每日备份。我想到的第一种方法是mysqldump-ufoo-pbarbaz>/var/tmp/baz.sql&&rsync/var/tmp/baz.sql/backup/&&rm/var/tmp/baz.sql.然后我开始考虑是否可以不使用临时文件/var/tmp/baz.sql,而是直接将mysqldump的输出通过管道传输到rsync。更具体地说,我想要的非常类似于我们用来在Ubuntu中为apt更新GPGkey的命令行:gpg--export--armorCE49EC21|sudoapt-keyadd-,其中管道的接收者支持此“-”

linux - 是否有可能 linux 文件描述符 0 1 2 不适用于 stdin、stdout 和 stderr?

当程序开始时,它是否默认为stdin、stdout和stderr使用文件描述符0、1和2?并且API调用(例如open(...)、socket(...)不会返回0、1和2,因为这些值已经被采用了吗?open(...)或socket(...)是否会返回0、1或2。而0、1和2与stdin、stdout和stderr无关。 最佳答案 在filedescriptorlevel,stdin定义为文件描述符0,stdout定义为文件描述符1;stderr被定义为文件描述符2。参见this.即使您的程序或shell更改(例如,使用dup2(2)

linux - 是否有可能 linux 文件描述符 0 1 2 不适用于 stdin、stdout 和 stderr?

当程序开始时,它是否默认为stdin、stdout和stderr使用文件描述符0、1和2?并且API调用(例如open(...)、socket(...)不会返回0、1和2,因为这些值已经被采用了吗?open(...)或socket(...)是否会返回0、1或2。而0、1和2与stdin、stdout和stderr无关。 最佳答案 在filedescriptorlevel,stdin定义为文件描述符0,stdout定义为文件描述符1;stderr被定义为文件描述符2。参见this.即使您的程序或shell更改(例如,使用dup2(2)

linux - 是否有用于从 stdin 读取的 fread 模拟?

我想在(R)脚本中使用fread,它会通过linux管道机制获取输入数据。以下是否有fread模拟?read.csv(file='stdin',...)我也满足于以其他方式读取stdin,然后使用fread来解析它,因为我主要希望它用于fread的高级分隔符和header逻辑。 最佳答案 结果很简单:fread('file:///dev/stdin')这是有效的,因为当前7个字符是“file://”或“http://”时,fread实际上会创建一个临时文件并使用download.file将数据复制到那里,然后害怕。更新截至versi

linux - 是否有用于从 stdin 读取的 fread 模拟?

我想在(R)脚本中使用fread,它会通过linux管道机制获取输入数据。以下是否有fread模拟?read.csv(file='stdin',...)我也满足于以其他方式读取stdin,然后使用fread来解析它,因为我主要希望它用于fread的高级分隔符和header逻辑。 最佳答案 结果很简单:fread('file:///dev/stdin')这是有效的,因为当前7个字符是“file://”或“http://”时,fread实际上会创建一个临时文件并使用download.file将数据复制到那里,然后害怕。更新截至versi

linux - Perl 加密 STDIN 密码

我正在制作一个Perl模块,它为第3方API提供OO接口(interface)。我想在将用户密码传输到第3方API之前以加密格式捕获和存储用户密码。该模块旨在仅在基于UNIX的系统上运行。我生成了以下执行捕获功能的脚本-从它仅以加密格式存储密码变量的意义上说,这是正确的吗?我担心密码可能在其他地方的内存中可用(例如,在$_下,尽管$_是undef)。注意。我使用STDIN而不是@ARGV,假设操作系统不会记录条目或在进程名称中包含密码。我正在使用替代正则表达式而不是chomp,这样输入就不必存储在临时的非加密变量中。我还假设在输入捕获软件仍然可以捕获用户输入的意义上不可能完全安全。提前

linux - Perl 加密 STDIN 密码

我正在制作一个Perl模块,它为第3方API提供OO接口(interface)。我想在将用户密码传输到第3方API之前以加密格式捕获和存储用户密码。该模块旨在仅在基于UNIX的系统上运行。我生成了以下执行捕获功能的脚本-从它仅以加密格式存储密码变量的意义上说,这是正确的吗?我担心密码可能在其他地方的内存中可用(例如,在$_下,尽管$_是undef)。注意。我使用STDIN而不是@ARGV,假设操作系统不会记录条目或在进程名称中包含密码。我正在使用替代正则表达式而不是chomp,这样输入就不必存储在临时的非加密变量中。我还假设在输入捕获软件仍然可以捕获用户输入的意义上不可能完全安全。提前

c - 在 C 中,如何在进行 execvp() 或类似调用时将 stdin/stdout/stderr 重定向到文件?

我有以下代码:pid_tpid=fork();if(pid==-1){//...}elseif(pid==0){stdin=someopenfile;stdout=someotherfile;stderr=somethirdopenfile;execvp(args[0],args);//handleerror...}else{//...}问题是,execvp()调用的输入/输出仍然是控制台,而不是文件。显然我做错了什么,正确的方法是什么? 最佳答案 正确的方法是使用dup2将文件描述符STDIN_FILENO、STDOUT_FILE

c - 在 C 中,如何在进行 execvp() 或类似调用时将 stdin/stdout/stderr 重定向到文件?

我有以下代码:pid_tpid=fork();if(pid==-1){//...}elseif(pid==0){stdin=someopenfile;stdout=someotherfile;stderr=somethirdopenfile;execvp(args[0],args);//handleerror...}else{//...}问题是,execvp()调用的输入/输出仍然是控制台,而不是文件。显然我做错了什么,正确的方法是什么? 最佳答案 正确的方法是使用dup2将文件描述符STDIN_FILENO、STDOUT_FILE