4Linux标准输入输出及管道符问题和练习

本文详细介绍了Linux系统中的标准输入、输出和错误输出的文件描述符,以及重定向符号>>、>>的区别。通过实例展示了如何使用重定向将命令输出保存到文件,以及如何利用管道将命令结果传递给其他命令。还讲解了如何使用tr命令进行字符转换和过滤,以及如何处理文件中的特殊字符。最后,通过实际操作演示了如何在Linux环境中实现特定的文件处理和计算任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Linux 系统中标准输入,标准输出,标准错误输出的文件描述符是什么?

    • 标准输入 <
    • 标准输出 >
    • 标准错误 2>
  2. Linux 系统中重定向符号 > 和 >> 的区别是什么?

    • 覆盖 >>在末尾追加

  3. 请说出以下几个重定向符号的含义
    在这里插入图片描述

    • 1> 或 > 表示标准输出重定向
    • 2> 表示标准错误重定向
    • &> 表示将标准错误输出给标准输出 然后同时重定向
    • >& 表示将标准输出输出给标准错误 然后同时重定向
  4. Linux 系统中管道的作用是什么?

    将上一条命令执行的结果作为下一条命令的标准输入

  5. 将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
    cat /etc/issue | tr ‘a-z’ ‘A-Z’ > /tmp/issue.out

    [root@C6-56 ~]# cat /etc/issue
    CentOS release 6.10 (Final)
    Kernel \r on an \m
    
    [root@C6-56 ~]# cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out;cat /tmp/issue.out
    CENTOS RELEASE 6.10 (FINAL)
    KERNEL \R ON AN \M
    
  6. 将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中

     w | tr 'a-z' 'A-Z' > /tmp/who.out
    
  7. 一个 Linux 用户给 root 发邮件,要求邮件标题为 hello ,邮件正文格式模板如下:
    Hello, I am 用户名,The system version is here,please help me to check it ,thanks!
    操作系统版本信息

    [root@C6-56 ~]# mail -s hello root 
    Hello,i am `whoami`,The system version is here,please help me to check it,thanks!
    
    `uname -a`
    .
    EOT
    
  8. 将 / 下文件列表,显示成一行,文件名之间使用一个空格隔开

    ls / |tr '\n' ' '
    
  9. 请写出使用 bc 计算器计算 1 到 100 中所有数字的总和是多少?

    echo {1..100}|tr -s ' ' '+'|bc
    seq -s+ 100|bc
    
  10. 在 window 系统中创建的文本文件中,换行符显示为 ^M, 请问如何将其删除?

     cat windows.file |tr -d '^M' > windows.file
    
  11. 处理字符串 “xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格

    [root@C6-56 ~]# echo  '"xt.,l 1 jr#' 'mn 2 c*/fe 3 uz 4"'| tr -cd '[[:digit:][:space:]]'
    1   2  3  4
    
  12. 将PATH变量每个目录显示在独立的一行

    [root@C6-56 ~]# echo $PATH | tr ':' '\n'|cat -n
     1	/usr/local/sbin
     2	/usr/local/bin
     3	/sbin
     4	/bin
     5	/usr/sbin
     6	/usr/bin
     7	/root/bin
    
  13. 将文本 test.txt 中的字符按照映射关系转换,0 到 9 一共十个数字分别对于转换为 a 到 j

    [root@C6-56 ~]# echo {0..9} | tr -t [0-9] [a-j]|tee test.txt
    a b c d e f g h i j
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值