Linux 基础(4)

file    标准输入输出以及输出重定向 >     tr     |管道      mail

1.file

file [options] <filename>… 确定文件内容,是根据文件的头部信息来判断
hexdump -C -n 100 文件名 查询头部信息(查询二进制信息,-n 100前100行,头部信息)
      -b  列出文件辨识结果时,不显示文件名称
      -f   filelist 列出文件filelist中文件名的文件类型
      -F  使用指定分隔符号替换输出文件名后默认的”:”分隔符
      -L  查看对应软链接对应文件的文件类型

Linux 基础(4)

2.标准输入和输出
打开的文件都有一个fd: file descriptor ( 文件描述符)
Linux 给程序提供三种I/O 设备
   标准输入(STDIN )-0 默认接受来自键盘的输入
   标准输出(STDOUT )-1 默认输出到终端窗口
   标准错误(STDERR )-2 默认输出到终端窗口

Linux 基础(4)

输出重定向 >
   > 把正确内容重定向到文件,文件不存在创建一个文件,存在覆盖
   2> 把错误提示重定向到文件
   >    最后加上1>&2 把所有输出重定向到文件(旧的)                &> (新的)
   >    最后加上2>&1 把正确的变成错误的

  &> /dev/null 全部导入null设备中 “黑洞”
   set -C: 禁止将内容覆盖已有文件, 但可追加

   >| file :临时强制覆盖
   set +C: 允许覆盖
   ( cal 2007 ; cal 2008 ) > all.txt () :合并多个程序的STDOUT

Linux 基础(4)

3.tr    转换和删除字符     必须跟标准输入
使用< 来重定向标准输入;某些命令能够接受从文件中导入的STDIN
     tr ‘a-z’ ‘A-Z’< /etc/issue该命令会把/etc/issue的内容小写变大写
         -d –delete :删除所有属于第一字符集的字符        
         -s –squeeze-repeats :把连续重复的字符以单独一个字符表示

         -t –truncate-set1 :将第一个字符集对应字符转化为第二字符集,强制对应    

             例: echo aaabbbcccdddd |tr -t ‘abcd’ ‘efg’ eeefffgggdddd

         -c 补集              df -h |tr -c [a-zA-Z] ‘\n’|tr -s [:space:]

         -dc ‘ ’  除‘ ’的删除其他所有           -sc ‘ ‘ 除‘ ‘其他的连续重复的字符以单独一个字符表示

                          [:alnum:]字母和数字 [:alpha:]字母 [:cntrl:] 控制(非打印符)字符 [:digit:]数字
                          [:graph:]图形字符 [:lower:]小写字母 [:print:]可打印字符 [:punct:]标点符号
                          [:space:]空白符 [:upper:]大写字母 [:xdigit:]十六进制 字符
         cat > file “<< 终止词”命令
             从键盘把多行重导向给STDIN,直到终止词位置的所有文本都发送给STDIN

Linux 基础(4)

Linux 基础(4)

4.| 管道    减少垃圾文件
      | 将正确结果重定向给下一条命令
      2>&1 | 或 |& 全部结果重定向
            例: 获取boot目录所在分区的可用空间

Linux 基础(4)

5.tee
   命令1 | tee 文件名 | 命令2 同时查看和记录输出
   -a    把命令1 的STDOUT 保存在文件中,做为命令2 的输入-a追加

Linux 基础(4)

6.mail    (利用< |)

   mail 邮件
   mail -s “主题” 收信人 < 文件内容  发邮件
   cat 文件 | mail -s “主题” 收信人    发邮件
   mail 查询邮件 & n 选择第几封打开

Linux 基础(4)

Linux 基础(4)

                                                                   有 什 么 错 误 请 大 家 指 教!

原创文章,作者:along,如若转载,请注明出处:http://www.178linux.com/81874

(0)
alongalong
上一篇 2017-07-20
下一篇 2017-07-20

相关推荐

  • N25_第三周作业_leon

    N25_第三周作业_leon 1.       列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who 全部 jj       tty1  …

    Linux干货 2017-01-06
  • 用户管理命令之NBA版

    用户管理命令之NBA版 本文纯属扯淡,如有不严谨之处,还请海涵。 1 groupadd 作用:创建一个属组 格式:groupadd [选项] 属组名 选项: -:选项为空 创建新属组 -g:指定组GID,默认是GID+1 实例 1.1 添加属组team,指定组ID为1111      groupadd -g …

    Linux干货 2017-03-27
  • Linux基础知识(一)-linux哲学思想,基础命令,FHS

    1.描述计算机的组成及其功能 2.按系列罗列Linux 的发行版,并描述不通发行版之间的联系和区别. 3.描述Linux的哲学思想,并按照自己的理解对其进行解释 4.说明Linux系统命令的使用格式,详细介绍ifconfig,echo,tty,startx,export.pwd,history,shutdown,poweroff,reboot,hwclock…

    Linux干货 2016-09-22
  • Linux用户与组之权限管理

    权限(rwx、sst、umask) chown chmod ACL(见下篇) 试验环境:CentOS 7.2 与CentOS 6.8,具体会在应用场景明确指出 权限 Linux系统对用户与组的管理,其具体操作手段就是对于权限的分配,而常见的权限分配工具有 rwx, sst, umask, ACL. 跟用户与组有uid和gid一样,权限也有…

    Linux干货 2016-08-07
  • M22 使用非对称密钥实现ssh自动登陆

    一 实验目的 一般在用户使用ssh客户端登陆ssh服务器时需要使用用户名和密码,本实验使用非对称加密的方式实现了无密码登陆ssh服务器。 二 实验流程  、 1 在客户端生成非对称密钥对 2 将非对称密钥中的公钥发送给ssh服务器端相应的帐号 3 当客户端通过ssh协议与服务器端发起连接时,客户端将私钥加密过的签名发送给服务器端,服务器端使用客户端…

    2017-04-13
  • DNS

    简介     DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号5…

    Linux干货 2016-11-15