/dev/console,/dev/null,/dev/tty
UNIX和Linux中比较重要的三个设备文件是:/dev/console,/dev/tty和/dev/null。
0 : /dev/console
这个设备代表的是系统控制台,错误信息和诊断信息通常会被发送到这个设备。
每个UNIX系统都会有一个指定的终端或显示屏用来接收控制台信息。
1 : /dev/tty
如果一个进程有控制终端的话,那么 /dev/tty就是这个控制终端的别名。
像cron这样的进程是没有控制终端的,因此它也就无法打开/dev/tty。
tty 这个词源于Teletypes,最早是源于电传打印机。
如果你登录了一个shell,那么/dev/tty就是你当前使用的终端。你也可以用tty命令查看/dev/tty设备实际链接到的设备是哪个。
/dev/tty其实就是类似于“符号链接”一样的东西。像我的 tty输出就是:
[root@wupengchong dev]# tty
/dev/pts/0
2 : /dev/null
这是个空设备,也称为“位桶bit bucket”。所有写向这个设备的输出都将被丢弃,而如果你读/dev/null,则会立即得到一个文件尾标志而返回。
在cp命令里,可以用/dev/null来作为拷贝空文件的源文件。
在shell中,通常将不需要的东西重定向到/dev/null中。
这里要提一下/dev/zero,它和null是有区别的。通俗的讲,/dev/null是一个饭桶,你可以无穷无尽的往里塞垃圾,它不会埋怨,而写进去的东西也就像掉进了黑洞。而/dev /zero是一个输入设备,它给你无穷无尽的提供0(就是null),它可以用于向文件或设备写入无穷无尽的0.
/dev/zero和 /dev/null的用法比较:
$dd if=/dev/zero of=mydoc.txt bs=1k count=1
$find . -name “*.c” 2>/dev/nul 重定向到/dev/null
/dev/console,/dev/null,/dev/tty的更多相关文章
- centos单用户 救援 运行级别 yum,单用户模式,救援模式,inittab :启动级别 e2fsck wetty mingetty 物理终端 /dev/console 虚拟终端 /dev/tty(0,6) 模拟终端 /dev/pts/# grub-md5-crypt 给grub加密码 initrd 第二节课
centos单用户 救援 运行级别 yum,单用户模式,救援模式,inittab :启动级别 e2fsck wetty mingetty 物理终端 /dev/console 虚拟终端 /d ...
- Difference between 2>&-, 2>/dev/null, |&, &>/dev/null and >/dev/null 2>&1
Reference link: http://unix.stackexchange.com/questions/70963/difference-between-2-2-dev-null-dev-nu ...
- centos 阶段复习 2015-4-6 dd命令 hosts.allow和hosts.deny 啊铭的myssh脚本 清空history命令历史 /dev/zero 零发生器 /dev/null 黑洞 /dev/random 生成随机数 第十一节课
centos 阶段复习 2015-4-6 dd命令 hosts.allow和hosts.deny 啊铭的myssh脚本 清空history命令历史 /dev/zero 零发生器 /dev/nul ...
- 启动Ubuntu时出现 /dev/sda2 clean 和 /dev/sda2 recovering journal 现象的解决办法
最近在Ubuntu 18.4上安装Nvidia显卡后,显卡似乎总是不能完全兼容. 第一次出现问题时,是登录账号后,发现系统采用了默认显卡驱动,而已装过的显卡驱动则有损坏导致无法使用. 第二次出现问题时 ...
- 如何读取Linux键值,输入子系统,key,dev/input/event,dev/event,C语言键盘【转】
转自:https://blog.csdn.net/lanmanck/article/details/8423669 相信各位使用嵌入式的都希望直接读取键值,特别是芯片厂家已经提供input驱动的情况下 ...
- laravel npm run dev 错误 npm run dev error [npm ERR! code ELIFECYCLE]
出现此问题是node_modules出现错误,需要执行: 1 rm -rf node_modules 2 rm package-lock.json 3 npm cache clear --force ...
- Linux TTY介绍
1. TTY介绍 TTY(TeleType)指Linux中的一类终端(Terminal)设备, 是一种字符设备 在Linux中, tty可分为如下几类- 串行端口终端(serial port term ...
- (从终端看linux-1)linux tty pty pts 概念 区别
基本概念: 1> tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东 ...
- Linux中tty、pty、pts的概念区别
转自Linux中tty.pty.pts的概念区别 基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过 ...
随机推荐
- 【转载】MongoDB中的MapReduce 高级操作介绍
转载自残缺的孤独 1.概述 MongoDB中的MapReduce相当于关系数据库中的group by.使用MapReduce要实现两个函数Map和Reduce函数.Map函数调用emit(key,va ...
- c#中override重写和new隐藏
最近学习c#,昨晚看书看到多态.由于个人本身是从事java开发,于是拿来做对比便是自然的. 进入主题吧. c#中,子类要重写基类的方法,必须要基类声明中带有virtual关键字方法或者带有abstra ...
- Javascript-数据类型、类型转换
typeof 判断数据类型: var n = 1; var t = "echo"; var fn = function() {} var arr = [1,2,3]; typeof ...
- Goldbach's Conjecture(哥德巴赫猜想)
Goldbach's Conjecture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- mysql隔离级别的设置和检索
001.设置方式: 001.在/etc/my.cnf配置文件中设置,这个格式一定要记清楚呀! transaction-isolation=READ-COMMITTED 这里要写在“-”号不是“_&qu ...
- Nand flash 的发展和eMMC
讨论到eMMC的发展历程,必须要从介绍Flash的历史开始 Flash分为两种规格:NOR Flash和NAND Flash,两者均为非易失性闪存模块. 1988年,Intel首次发出NOR flas ...
- delphi 操作 TWebBrowser 实现自动填表(JQuery脚本与 OleVariant 方法)
版本:DELPHI XE8 操作交通银行信用卡申请表单(2016-03-23),网址如下: https://creditcardapp.bankcomm.com/applynew/front/appl ...
- tomcat优化-有改protocol 和 缓存 集群方案
tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...
- idea编译工程时出现Error:java: 无效的目标发行版: 1.8
见图,从上述可以看出工程用的jdk1.7,而idea编译时采用的是1.8版本(应该idea新版本内置的jre是1.8吧,默认编译采用1.8) 修改:如下图 http://blog.csdn.ne ...
- C语言的本质(25)——C标准库之内存管理
程序中需要动态分配一块内存时怎么办呢?我们可以定义一个缓冲区数组,但是这种方法不够灵活,C89要求定义的数组是固定长度的,而程序往往在运行时才知道要动态分配多大的内存,例如: void foo(cha ...