首页 > 其他分享 >I/O重定向与管道

I/O重定向与管道

时间:2023-11-28 22:56:37浏览次数:21  
标签:输出 重定向 文件 标准 管道 ls txt

1.I/O

”I/O”代表输入/输出

程序输出的两种类型:程序要实现的功能的结果、程序的执行状态(错误)

程序的运行结果会被输送到标准输出文件(stdout),程序的执行状态会被输送到标准错误文件(stderr),程序从标准输入(stdin) 设备得到输入。

重定向的作用在于更改程序的输出、输入。

 2.标准输出(>、>>)

标准输出一般是显示在屏幕上,可以通过>、>>来重定向标准输出在什么地方,">''表示覆盖,“>>"表示追加。

 

ls -l > /home/you/1.txt //通过>符号将本应该输出到屏幕的结果输出到指定路径下;

ls -l /etc > /home/you/1.txt //使用>符号时会文件会被从头开始重写;

ls -l /etc >> /home/you/1.txt //使用>>不会重写文件,而是添加到文件内容之后;

3.标准错误(2>、&>、2>&1)

shell 内部参考标准输入、输出、错误为文件描述符0,1和2

使用文件描述符来重定向文件,文件描述符”2”来执行重定向标准错误(stderr)

3.1标准输出(stdout) 和 标准错误(stderr) 可以同时重定向在同一个文件中

ls /you/home 2> 1.txt //选择一个不存在的目录正常情况下直接输出错误到屏幕,使用文件描述符“2”放在重定向操作符之前来重定向标准错误;

ls /you/home > 1.txt 2>&1 //先重定向标准输出,再使用2>&1重定向标准输出和错误到同一个文件;

ls /you/home >> 1.txt 2>&1 //使用>>文件不会被从头开始重写;

3.2标准错误的重定向必须在标准输出重定向之后

ls /you/home &> 1.txt //使用更为精简的&>来重定向标准输出和错误到同一个文件;
ls /you/home &>> 1.txt //使用>>文件不会被从头开始重写;

3.3重定向输出结果到”/dev/null”文件(位存储桶)可以接受输入,不做任何处理。

ls /you/home > /dev/null //处理不需要的输出;

cat /dev/null > /home/you //配合cat和重定向可以清空文件;

4.标准输入(cat、<、tee)

cat > 1.txt //若该文件存在则从头开始重写,不存在则创建该文件,输入信息之后可以选择ctrl+d、ctrl+z退出并保存

 5.管道符

现在对于管道操作符有了更深的理解,一个命令的标准输出为另一个命令的标准输入

管道操作符经常配合一些命令来对数据完成复杂的操作,起到过滤器的作用

tee

tee命令会从标准输入(stdin) 读取数据,将其内容输出到标准输出(stdout) 和保存在文件中。

在管道符的应用中,tee允许输出数据向后传递,并将内容复制到一个或多个文件。

ls /etc | tee 1.txt | grep a //将结果保存到1.txt中,再进行相应的查找并进行标准输出;

ls /etc | grep a | tee 1.txt //先进行查找,再将查找的内容通过tee保存到1.txt;

ls /etc | tee -a 1.txt //tee命令中的-a参数可以在原有内容后添加而不是覆盖;

sort

sort命令用于排序文本文件的内容(以行为单位)

sort命令默认排序方式(文本文件第一列的 ASCII 码次序)

sort 1.txt -k 2 //-k参数的作用是选择指定的列进行排序,该参数在命令最后添加
sort -b 1.txt //-b参数的作用是忽略开头的空格,空格在ASCII码值为32
sort -d 1.txt //-d参数的作用是仅处理字母、数字、空格
sort -f 1.txt //忽略大小写(统一视为大写字母)
sort -n 1.txt //按照数值大小进行排序
sort -u 1.txt //排序结果去重输出(唯一)

标签:输出,重定向,文件,标准,管道,ls,txt
From: https://www.cnblogs.com/lhcn/p/17863335.html

相关文章

  • 深入理解 Linux 中的 I/O 重定向与管道
    在Linux系统中,I/O重定向与管道是非常有用的功能,可以帮助我们更好地管理命令行下的输入和输出。本文将介绍I/O重定向和管道的基本概念以及在实际应用中的用法。1.I/O重定向I/O重定向是一种将命令的输入或输出重定向到指定位置的技术。在命令行中,我们可以使用以下符号来实......
  • I/O重定向与管道
    1.标准输入重定向(<)通过<符号,我们可以将文件内容作为命令的输入,而不是从键盘输入。command<input_file2.标准输出重定向(>)使用>符号,我们可以将命令的输出保存到文件中,而不是显示在终端上。command>output_file3.标准错误输出重定向(2>)有时错误信息可能比较多,我们可以将......
  • I/O重定向与管道
    1.输出重定向输出重定向是一种重要的功能,它允许我们将命令的输出重定向到文件或其他位置,而不是显示在终端上。1.1 基本概念:在Linux中,每个进程都有三个标准文件描述符:标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。标准输入(stdin)用于接收输入数据,默认情况下是键盘。标准输出(std......
  • I/O重定向与管道
     I/O重定向什么是I/O重定向?在Linux中,I/O重定向允许我们改变命令的标准输入、标准输出和标准错误输出的来源和目的地。这样可以将命令的输出保存到文件,或者从文件中读取输入,提供了更大的灵活性。基本用法输出重定向:command>output.txt这将命令的标准输出保存到outpu......
  • I/O的重定向与管道
    1.I/O重定向文件描述符:0表示标准输入;1表示标准输出,输出到终端;2表示标准错误,输出到终端;3及以上为常规文件的描述符。(1)输出重定向”>“表示覆盖,默认情况下,该重定向会覆盖已有文件,这个在有时候可能不经意间丢失重要数据。”>>“表示追加,可以避免覆盖文件。”2>“:表示错误输出覆......
  • 发掘Linux中输入输出重定向的妙用
        在Linux系统中,输入输出重定向是一项强大的功能,为用户提供了更灵活的命令行操作和文件处理方式。本文将深入研究Linux中输入输出重定向的功能,探讨其基本概念、常见用法以及如何在命令行环境中充分发挥其优势。1.输入输出重定向基础首先,让我们回顾一下输入输出重定向......
  • 管道
    管道管道实际上也是一种重定向,重定向字符控制输出到文件,管道控制输出到其他程序。管道的作用是把上一个进程的输出作为下一个进程的输入,利用管道可以把若干个命令连接在起。 管道有如下特征:1)一个管道是一个字节流,从管道读取数据的进程可以读取任意大小的数据块,并且读取字节......
  • Linux I/O重定向与管道
    在生产环境中,每天凌晨需要备份数据库,这时工作人员会编写一个简单的脚本创建计划任务,把脚本执行结果放到一个或几个文件中以便第二天查看,这个过程就叫重定向。在使用"psaux"命令时,为了快速找到所需要信息,经常使用grep命令进行过滤,此时就需要使用管道符。I/O重定向   I/O运......
  • I/O 重定向与管道
    1I/O重定向输出重定向:使用>将命令的输出重定向到文件。bashls-l>file_list.txt使用>>将命令的输出追加到文件末尾。bashecho"Newcontent">>file_list.txt输入重定向:使用<将文件内容作为命令的输入。bashcat<file_list.txt2管道......
  • i/o重定向学习心得
    学习LinuxI/O重定向是掌握命令行工具的关键技能之一。通过了解>、>>和<等符号,我学会了将命令的输入和输出重定向到不同的位置。使用>符号,我可以将命令的输出重定向到文件,创建新文件或覆盖已有文件。而>>符号则会将输出追加到文件末尾,保留文件原有内容。了解<符号的用法,我能够从......