“品品Linux中的输入输出”

Linux中的输入输出

输入
stdin[标准输入流]
输入是指系统外接向系统传递的信息
系统外接向系统中传递数据的方式如下
1.键盘
2.鼠标
3.输入命令
输出

输出 standout[标准正确输入] stderr[标准错误输出]
在命令顺利执行完成后的字符串 在命令失败执行完成后产生的字符串
在linux中的输出信号为1 stderr在linux中的输出信号为2

字符设备
字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等
字符设备是内存中开启的虚拟设备并真实存在

重定向输出find /etc/ -name passwd

注意:必须在普通用户下

1> 2> &>
正确输出 错误输出 全部输出

小应用:>westos 清空文件

2 find /etc/ -name passwd 追加: 不覆盖原文件

find /etc/ -name passwd > westos.out 正确输出存放到westos.out


追加

追加正确/错误/所有






管道

管道定义:把输出变成最后一条命令的输入

符号 用途
2>&1 将编号为1的输出转换为2
lee 复制输出到指定位置
’ 管道符

例题:显示历史3~5行输出

[[email protected] Desktop]$ ls /bin | wc -l  ##统计/bin有多少文件
1612
[[email protected] Desktop]$ find /etc/ -name passwd | wc -l  ##默认只有正确输出可以通过管道
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
2
[[email protected] Desktop]$ find /etc/ -name passwd 2>&1 | wc -l    ##将错误输出定向到正确输出存放位置
16
[[email protected] Desktop]$ find /etc/ -name passwd | tee file | wc -l  #复制输出到file文件再通过管道统计
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/lvm/archive’: Permission-

**输入重定向

以修改密码为例


输入重定向符号


command << [输入标识]
内容
...
...
[输入标识]

比较方便,不用输入密码,直接在vim下编辑
1。vim下编辑westos.sh 文件。直接输入passwd,在修改密码时需要输入密码
2.用输入重定向符号,直接编辑较为方便

-

原文地址:https://blog.51cto.com/14653135/2463408

时间: 2024-12-22 22:23:52

“品品Linux中的输入输出”的相关文章

Linux中的标准输入输出

Linux中的标准输入输出标准输入0    从键盘获得输入 /proc/self/fd/0 标准输出1    输出到屏幕(即控制台) /proc/self/fd/1 错误输出2    输出到屏幕(即控制台) /proc/self/fd/2 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称"黑洞" 1.2>/dev/null意思就是把错误输出到"黑洞" 2.>/dev/null 2>&1默认情况是1,也

linux中Makefile文件相关内容

第一章.概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional(专业)的程序员,makefile还是要懂.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义.特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力.因为,makefile关系到了整个

linux中无 conio.h的解决办法

conio.h不是C标准库中的头文件,在ISO和POSIX标准中均没有定义.conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等.大部分DOS,Windows,Phar Lap,DOSX,OS/2等平台上的C编译器提供此文件,UNIX和Linux平台的C编译器本身通常不包含此头文件,但已经有其兼容包,可参考: http://conio.sourceforg

linux中VI编写C程序。。。

在linux中编写C程序时不像编写shell那样开头要#!/bin/bash,但是在C程序中要指定头文件(头文件是只输入输出,宏等,而且要首先声明,也是必须要开始就声明的) 写好C代码后要给C文件赋予可执行权限(chmod  755  xx.c) 然后用gcc编译(方法和shell类似,shell是bash xx.sh   ,    而C是gcc xx.c ,C的程序文件名都是以 .c 结尾 , shell是都是以 .sh 结尾) 以下上实例: [[email protected] ~]# vi

&lt;实训|第十一天&gt;学习一下linux中的进程,文件查找,文件压缩与IO重定向

[[email protected]~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就讲解一下关于运维工程师例行事务的知识!  开班第十一天: [[email protected]~]#今天的课程大纲 查看进程,中断进程,切换进程 内存与swap分区 linux中文件查找的基本方法 linux中是如何解压缩文件的 关于I/O重定向的知识点 远程scp配合管道 详细讲解: [[e

linux中shell编程

shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚本:方式1 :chmod 755 hello.sh ./hello.sh 方式2 :bash ./hello.sh(这种方式不需要给执行权限) 1 历史命令 history 直接回车就可以看到已经敲过得命令.-c清空缓存中和文件中的命令 -w将缓存中命令写入 家目录/.bash_history 这个命令可以帮

Linux中重定向、管道和grep命令总结

今天我们来讲下Linux中的重定向.管道和grep命令.由于重定向和管道知识点比较少,但是又比较重要所以和grep命令一起讲. 在将重定向我们先讲下系统的标准输入和输出.在Linux中标准输入(STDIN 0)对应设备:键盘:标准输出(STDOUT 1)和标准错误输出(STDERR 2)对应设备:显示器.重定向就是将标准输入输出重新定位到指定位置或者设备中(比如:文件). I/O重定向 set –C 禁止对已存在的文件进行覆盖重定向 强制覆盖>| set +C 关闭上述功能 输出重定向: >:

在linux中使用sar调优系统性能

在linux中使用sar调优系统性能 关键字: sar sar默认在linux下没有安装,需要我们手工安装,一般建议源码方式安装,下载类似sysstat-6.1.3.tar.gz 然后configure make make install即可使用. sar 命令行的常用格式: sar [options] [-A] [-o file] t [n] 在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果

《算法竞赛入门经典》学习笔记 2.4.4 C++中的输入输出

2.4.3 64位整数输入输出long long除了cin,cout,也可以借助于printf和scanf语句,但对应的占位符缺是和平台与编译器相关的:在Linux中,gcc很同意的用%lld:在Windows中,MinGW的gcc和VC6都需要用%I64d:但VS2008却是用%lld.2.4.4 C++中的输入输出问题是经典的“A+B”问题:输入若干对整数,输出每对之和.第1种方法: #include <cstdio> //功能和C中的stdio.h很接近,但有些许不同 using nam