精华内容
下载资源
问答
  • 2021-05-17 13:26:09

    Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作。

    Linux默认输入是键盘,输出是显示器。你可以用重定向来改变这些设置。比如用wc命令的时候本来是要手动输入一篇文字来计算字符数的,用了重定向后可以直接把一个已经写好的文件用‘

    STDIN 0 键盘输入

    STDOUT 1 输出信息到提示符窗口

    STDERR 2 输出错误信息到提示符窗口

    默认的 < 重定向输入操作符是 0,而默认的 > 重定向输出操作符是 1。键入 < 或 > 操作符之后,必须指定数据的读写位置,可以是文件名或其他现有的句柄。

    要指定重定向到现有句柄,请使用与 & 字符,后面接要重定向的句柄号(即 &句柄号)。

    例如,下面的命令可以将句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):2>&1

    下表列出了可用于重定向输入和输出数据流的操作符:

    Linux重定向操作符 功能描述

    > 将命令输出写入文件或设备,而不是命令提示符或句柄

    < 从文件而不是从键盘或句柄读入命令输入

    >> 将命令输出添加到文件末尾而不删除文件中已有的信息

    >& 将一个句柄的输出写入到另一个句柄的输入中

    | 从一个命令中读取输出并将其写入另一个命令的输入中;也称为管道操作符

    现在我们回过头来看看上面的那条语句mysh > mylog.txt 2>&1就可明白:

    > mylog.txt意思是将标准输出重定向到mylog.txt,等价于mysh 1> mylog.txt;

    2 >& 1 意思是将错误输出重定向到句柄1标准输出;综合起来就是mysh命令执行过程中产生的标准输出和错误输出都会被重定向到mylog.txt中;

    重定向的功能十分强大,有兴趣的可以去尝试各种不同的组合,看看前后位置变下会有什么结果?

    某些时候我们可能并不希望记录什么标准输出或者是错误输出,那可以用mysh >null 2>null或者mysh >/dev/null 2>/dev/null;

    I/O重定向详解

    1、 基本概念(这是理解后面的知识的前提,请务必理解)

    a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;

    b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关;

    c、 用 < 来改变读进的数据信道(stdin),使之从指定的档案读进;

    d、 用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;

    e、 0 是 < 的默认值,因此 < 与 0 与 1> 是一样的;

    f、 在IO重定向 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料;

    g、 管道“|”(pipe line):上一个命令的 stdout 接到下一个命令的 stdin;

    h、 tee 命令是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;

    i、 bash(ksh)执行命令的过程:分析命令-变量求值-命令替代(``和$( ))-重定向-通配符展开-确定路径-执行命令;

    j、 ( ) 将 command group 置于 sub-shell 去执行,也称 nested sub-shell,它有一点非常重要的特性是:继承父shell的Standard input, output, and error plus any other open file descriptors。

    k、 exec 命令:常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除。exec 在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的 shell 环境。

    2、 基本IO

    cmd > file 把 stdout 重定向到 file 文件中;

    cmd >> file 把 stdout 重定向到 file 文件中(追加);

    cmd 1> fiel 把 stdout 重定向到 file 文件中;

    cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;

    cmd 2> file 把 stderr 重定向到 file 文件中;

    cmd 2>> file 把 stderr 重定向到 file 文件中(追加);

    cmd >> file 2>&1 把 stderr 和 stderr 一起重定向到 file 文件中(追加);

    cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout;

    cat <>file 以读写的方式打开 file;

    cmd < file cmd 命令以 file 文件作为 stdin;

    cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。

    3、 进阶IO

    >&n 使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出;

    >&- 关闭标准输出;

    n

    n>&- 表示将 n 号输出关闭;

    上述所有形式都可以前导一个数字,此时建立的文件描述符由这个数字指定而不是缺省的 0 或 1。如:

    ... 2>file 运行一个命令并把错误输出(文件描述符 2)定向到 file。

    ... 2>&1 运行一个命令并把它的标准输出和输出合并。(严格的说是通过复制文件描述符 1 来建立文件描述符 2 ,但效果通常是合并了两个流。)

    我们对 2>&1详细说明一下 :2>&1 也就是 FD2=FD1 ,这里并不是说FD2 的值 等于FD1的值,因为 > 是改变送出的数据信道,也就是说把 FD2 的 “数据输出通道” 改为 FD1 的 “数据输出通道”。如果仅仅这样,这个改变好像没有什么作用,因为 FD2 的默认输出和 FD1的默认输出本来都是 monitor,一样的!但是,当 FD1 是其他文件,甚至是其他 FD 时,这个就具有特殊的用途了。请大家务必理解这一点。

    exec 0exec 1>outfilename # 打开文件outfilename作为stdout。

    exec 2>errfilename # 打开文件 errfilename作为 stderr。

    exec 0

    exec 1>&- # 关闭 FD1。

    exec 5>&- # 关闭 FD5。

    这样就完成了Linux重定向的学习。

    【编辑推荐】

    【责任编辑:仲衡 TEL:(010)68476606】

    点赞 0

    更多相关内容
  • 详解Linux重定向用法

    2021-01-09 02:19:57
    相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,...学会使用重定向,不仅可以让你与计算机更好地交互,还可以提高你的工作效率,因此,请让良许为你讲解 Linux 系统中重定向的常见用法: Linu
  • Linux重定向命令

    2021-05-11 08:41:10
    Linux重定向命令文件标识符是从0开始到9结束的整数,指明了与进程相关的特定数据流的源。默认情况下始终有3个“文件描述符”处于打开状态,0、1、2分别为stdin、stdout、stderr。重定向描述符有以下用法:: >...

    Linux重定向命令

    文件标识符是从0开始到9结束的整数,指明了与进程相关的特定数据流的源。默认情况下始终有3个“文件描述符”处于打开状态,0、1、2分别为stdin、stdout、stderr。

    重定向描述符有以下用法:

    : >filename 把文件filename截断为0长度;如果文件不存在则创建长度为0的文件。

    command 1 > fielname 把标准输出重定向到文件fielname

    command 2 > filename 把标准错误重定向到文件fielname

    command > filename 2>&1(等价于command & > filename)把标准输出和标准错误一起重定向到文件filename

    command >&m 把标准输出重定向到文件描述符m

    command

    n

    n>&- 关闭FD为n的输出

    n

    n <> filename 为了读写filename,把文件filename打开并且分配文件描述符n给它,如果文件filename不存在则创建它。

    备注:猜测&字符所起到的作用是取址,0~9标志了一个文件描述符数组,&m表示取数组下表为m的文件描述符,单独一个&字符表示stdout和stderr。当然这些都只是猜测,是为了更容易理解和记忆重定向的用法。

    时间:2012-12-31 17:00 / 作者:百科全说

    Linux常用命令全集 http://www./linux/ 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/inter

    ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux 进行ftp操作将会非常容易。 Linux ftp命令的一般格式如下: $ ftp 主机名/IP 其中“主机名/IP”是所要连接的远程机的主机名或IP地址。在命令行中,主机名属于选项,如果指定主机名,ftp将试图与远程机的ftp服务程序进行连接;如果没有指定主机名,ftp将给出提示符,等待用户输入命令: $

    Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧。 1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirName 3. 常用范例 3.1 例一:进入系统根目录 命令: cd / 输出: [root@localhost ~]# cd / 说明:进入系统根目录,上面命令执行完后拿ls命令看一下,当前目录已经到系统根目录了 命令: cd .

    它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 1.命令格式: iostat[参数][时间][次数] 2.命令功能: 通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。 3.命令参数: -C 显示CPU使用情况 -d 显示磁盘使用

    Linux Cat命令的一般用法这里我就不在提了,在baidu就可以直接收到相关资料,这里就不说了。下面谈谈Linux Cat命令修改cat delimiter的方法。 如果想修改cat delimiter(就是cat 一直从标准的输入读,直到你设定的分界符时就停止读,把读的内容输出到指定的文件或者终端) $cat >>test <this is test sample >OVER 然后就生成一个test的文件,打开后文件的内容“this is

    5a63401d8fa2306cf372be578c407841.gif

    linux解析命令行选项getopt_long用法 在程序中难免需要使用命令行选项,可以选择自己解析命令行选项,但是有现成的,何必再造轮子。 下面介绍使用getopt_long解析命令行选项。 程序中主要使用: 短选项 长选项 是否需要参数 备注 -v --version 否 查询版本号 -n --name 是(用户名) 指定使用者 -d --debug 否 是否已测试 1、函数出处 复制代码 代码如下: [cpp] #include //getopt_long

    除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易。 本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令。 首先,在你的home目录下面创建下面的空文件,来测试下面的find命令示例。 复制代码 代码如下: # vim create_sample_files.sh touch MybashProgram.sh touch mycprogram.c touch MyCProgram.c touch Program.c

    在linux操作系统中,find命令非常强大,在文件与目录的查找方面可谓无所不至其极,如果能结合xargs命令使得,更是强大无比。 以下来看看find命令忽略目录查找的用法吧。 例1,根据文件属性查找: 复制代码 代码如下: find . -type f -name "*config*" ! -path "./tmp/*" ! -path "./scripts/*" ! -path "./node_modules/*" Explanation: find . - Start find from

    linux su 命令 建议大家切换用户的时候 使用 su - root 这样,否则可能发现某些命令执行不了 关于su 、su - 及 sudo的区别 请往下看 1.命令作用 su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。 2.使用方式 su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 3.参数说明 -f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于c

    展开全文
  • LInux重定向命令

    2022-01-28 19:25:58
    1. 重定向命令的介绍 重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。 2. 重定向命令的使用 命令 说明 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式 如果文件存在会追加写入...

    1. 重定向命令的介绍

    重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。

    2. 重定向命令的使用

    命令 说明

    如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式

    如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式
    重定向命令效果图:

    重定向命令
    在这里插入图片描述

    说明:

    只要在终端能显示信息的命令都可以使用重定向,比如: tree

    3. 小结

    终端内容保存到文件使用重定向有两种方式: > 和 >>

    表示每次只写入最新的数据,原有数据不保留。

    表示每次在原有数据的基础上进行追加,原有数据会保留。

    展开全文
  • Linux重定向和管道

    2022-02-24 12:13:43
    Linux重定向和管道基础知识


    一、重定向

    linux启动后,会默认打开3个文件描述符,分别是:

    • 标准输入:standard input 0
    • 正确输出:standard output 1
    • 错误输出:error output 2

    命令执行完成:成功了,会把成功结果输出到屏幕:standard output默认是屏幕
    命令执行有错误:会把错误也输出到屏幕上面:standard error默认也是指的屏幕

    所用命令指令

    • echo: echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
    • cat:后面不接其他命令时,默认从标准输入读取

    1.1 输出重定向

    1.1.2 重定向

    使用>可以将本来出现在屏幕的标准输出信息重定向到一个文件中。

    格式: command-line [1-n] > file或文件操作符或设备

    上面命令意思是:将一条命令执行结果(标准输出,或者错误输出,本来都要打印到屏幕上面的) 重定向其它输出设备(文件,打开文件操作符,或打印机等等)1,2分别是标准输出,错误输出。

    在这里插入图片描述
    上面的1可以省略
    注意:输出重定向是清除文件原有内容再写入的。
    在这里插入图片描述

    1.1.2 追加重定向

    • 用>>可以在实现重定向时不覆盖原有内容,而是在文件末尾追加内容.

    在这里插入图片描述

    1.2 输入重定向

    格式: command-line <file或文件描述符&设备

    命令默认从键盘获得的输入,改成从文件,或者其它打开文件以及设备输入。执行这个命令,将标准输入0,与文件或设备绑定。将由它进行输入。

    在这里插入图片描述

    二、管道

    将一个程序的标准输出写到一个文件中去,再将这个文件作为另一个程序的输入。管道要解决的就是不需要临时文件就能将两条命令结合在一起。

    Linux提供|操作符,该操作符可以将一个命令的输出作为另一个命令的输入,这样通过多个命令的协作来完成一些比较复杂的内容。
    在这里插入图片描述

    在这里插入图片描述


    展开全文
  • linux重定向管道

    2021-01-09 12:48:52
    重定向 输出重定向综合案例 输出重定向分为正常输出和错误输出 正常输出 1>等价于> 1>> 等价于>> 错误输出 2>> 2> 案例一,输出重定向 date 1> date.txt date >> date.txt 案例二:错误输出重定向 ls /home/ 2> ...
  • Linux重定向几种方法

    2021-04-24 13:48:30
    方法一:>>或>号 示例1:行尾追加内容 echo "test" >> 1.txt 示例2:文本添加内容(会覆盖文本内容) echo "test" > 1.txt 方法二:tee命令 示例1:行尾追加内容 ...awk.
  • 一、Linux重定向种类 在Linux中,为了方便用户更方便、高效的使用系统,除了提供了丰富的Linux Bash命令之外,还提供了重定向来帮助用户将命令组合在一起,使得更灵活更方便的控制系统。 在Linux系统中,可以把...
  • 假设执行命令:$ echo 12000 > /proc/sys/vm/dirty_writeback_centisecs不用问,你一定得到了“permission denied”的提示。然后你尝试使用 $ sudo echo...其实主要是因为sudo得到的权限并不随重定向符号输出,所...
  • linux重定向带时间戳的log
  • 而本节所要介绍的输入、输出重定向,彻底能够从字面意思去理解,也就是:linux输入重定向:指的是从新指定设备来代替键盘做为新的输入设备;输出重定向:指的是从新指定设备来代替显示器做为新的输出设备。一般是用...
  • LINUX 重定向命令

    千次阅读 2021-05-17 13:14:08
    常用的3个FD标准输入 描述符: 0标准输出 描述符: 1标准错误 描述符: 2重定向命令命令:" > " ">> " "< " "<&" "< >"">" 将命令输出写入文件或设备,而不是命令提示符或句柄cmd > ...
  • 1.重定向符: 实现输入重定向:< 实现“覆盖式”输出重定向:> 实现“追加式”输出重定向:>> 1.输入重定向导致一个程序的标准输入来自某个文件。 2.输出重定向是将一个程序的标准输出写到一个文件中...
  • 这里说Linux重定向的原因主要还是为了详细了解一下Linux中的反弹shell目录0x01 文件描述符0x02 重定向0x03 反弹shell0x04 交互重定向0x05 命令变形0x01 文件描述符Linux的文件描述符有以下三种标准输入:0标准输出:...
  • 项目3 Linux磁盘文件管理 第三讲 主要内容 Linux操作命令 Linux目录管理 Linux文件管理 拓展:管道和重定向 Linux文件系统 系统及其他命令 vi编辑器 磁盘分区管理 拓展:重定向 输出重定向 功能:将一个命令的输出...
  • Linux重定向与管道符

    2021-07-26 09:56:53
    在日常的使用中,我们使用输出重定向频率更高,所以又将输出重定向分为了标准输出重定向和错误输出重定向两种不同的技术,以及清空写入与追加的写入的两种模式。 标准输入重定向(STDIN, standard input), 文件描述...
  • Linux 中标准的输入设备默认指的是键盘,标准的输出设备默认指的是显示器。 2. 文件描述符 数据流又可分为 标准输入流 、标准输出流和标准标准错误流。 这三种流向对应着相关的文件描述符, 默认描述符范围是:0-2。...
  • Linux重定向符 >

    2022-03-22 08:49:11
    1、terminal内直接在命令后加如下命令将终端打印输出到指定文件 ls > debug.log
  • 本篇算是整理学习一下Linux重定向操作符。 常用的是 > 重定向符, 把前面输出的内容重定向到后边指定的位置。例如win系统中: 或者 >> 重定向追加内容到后边的位置,例如: Linux Shel...
  • 首先,因为Linux系统的版本不一样,重定向规则也稍有不同。所以这里只以Fedora13版的Linux系统来说明。下文以Linux自称。Linux从启动到启动完成的所有输出均复制到Com口上,一共需要修改3个文件。在此之前还要确认/...
  • Linux重定向输出日志

    万次阅读 2019-02-22 09:43:15
    Linux重定向输出日志 重定向类型 0:标准输入。 1:标准输出。 2:错误信息输出。 2&gt;&amp;1:将错误信息重定向到标准输出。 重定向格式 1,./spark-submit.sh 2&gt;spark.log,将./spark-submit.sh...
  • Linux重定向失败

    千次阅读 2019-01-19 20:02:56
     Linux系统有一个重定向功能,可以将命令的输出重定向输出至文件中。重定向符号有 &gt; 和 &gt;&gt;。&gt;会将目标文件清空,再写入结果;&gt;&gt; 则是追加到文件末尾。  看一个例子:...
  • strcmp(argv[1], "on")) { /* 重定向console到当前tty */ tty = open(tty_name, O_RDONLY | O_WRONLY); ioctl(tty, TIOCCONS); perror("ioctl TIOCCONS"); } else if(!strcmp(argv[1], "off")) { /* 恢复console */ ...
  • Linux 重定向

    2020-02-21 11:01:31
    重定向 即为将输入或者输出流进行目的地的转义变换 标准与法 1>file 或是 2>file 重定向: /dev/null 即为计算机系统当中的黑洞 -只接受 不做反馈
  • linux重定向、管道符 一、输入、输出重定向 输入重定向中用到的符号及作用 输出重定向中用到的符号及作用 二、管道符 三、通配符 四、转义字符 五、环境变量 alias unalias type env export 一、输入、输出重定向 ...
  • 1.重定向: 1.输出重定向:使用户将一个命令的执行结果输出重定向到一个文件中,而不是显示到屏幕上:1>:覆盖 1>>:追加 2.错误重定向: 2> 2>>1 3.正确和错误都重定向到同一个位置:2>&1 ; &> 2.命令...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 164,941
精华内容 65,976
关键字:

linux重定向

友情链接: Galerkin代码.rar