Linux笔记——输入输出重定向、描述符等

重定向输出和输入

输出:1> 1>> 等价于 > >> 输出重定向。相对于输入重定向来说,输出重定向更常用,输出重定向使用户能把一个命令的输出重定向到一个文件里,而不是显示在屏幕上,这种功能使用于多种情况,例如,如果某个命令的输出很多,在屏幕上不能完全显示,即可把他重定向到一个文件中,稍后在用文本编辑器来打开这个文件为输入、输出和错误重定向,通常情况下重定向到一个文件。

正确输出

将正确输出打印到文件中,将错误输出打印到屏幕(错误输出相反)

Linux笔记——输入输出重定向、描述符等

Linux笔记——输入输出重定向、描述符等

追加

Linux笔记——输入输出重定向、描述符等

错误输出

Linux笔记——输入输出重定向、描述符等

输入< 实现输入重定向

实例练习

#/dev/null------它是空设备,也称为位桶(bit bucket,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。

Linux笔记——输入输出重定向、描述符等

#/dev/zero,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的

要多的多。他可以用于向设备或文件写入字符串0

Linux笔记——输入输出重定向、描述符等  什么是文件描文件描述符:

        文件描述符是非负整数。内存

        内核利用文件描述符来访问文件。

        打开现存文件或新建文件时,内核会返回一个文件描述符。

        读写文件也需要使用文件描述符来指定待读写的文件。

系统级别

        [[email protected] ~]# cat  /proc/sys/fs/file-max

     95095

用户级别

        [[email protected] ~]# ulimit -n

     1024

[[email protected] ~]# vim /etc/security/limits.conf

#<domain>      <type>  <item>         <value>

#

#*                 soft    core            0

#*                 hard    rss             10000

#@student         hard    nproc           20

#@faculty           soft    nproc           20

#@faculty          hard    nproc           50

#ftp               hard    nproc           0

#@student         -       maxlogins       4

第一列表示用户和用户组(@开头用户组)

第二列表示软限制还是硬限制。

hard和soft的区别: soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错,一般情况下都是设为同一个值。

第三列表示限制的资源类型。

core是内核文件,nfile是文件描述符,nproc是进程,一般情况下只限制文件描述符数和进程数就够了

第四列表示限制的最大值。

 

查看系统当前打开的文件描述符数量

[[email protected] ~]# cat /proc/sys/fs/file-nr

1280       0     95095

第一个数表示当前系统分配后已使用的文件描述符数,

第二个数表示分配后未使用的(内核2.6版本中这个值总是为0,这并不是一个错误,它意味着已经分配的文件描述符总会被使用),

第三个数等于最大值file-max。

查看某个进程打开的文件描述符数量

yum install lsof -y #安装lsof

[[email protected] ~]# lsof -p 7919 |wc -l

命令拼接

; 不存逻辑判断,即使前一个命令执行失败,后面的命令依然执行

[[email protected] ~]# ls -T;echo "123"

&&  存在逻辑判断,前一个命令执行成功,后一个命令才会执行

Linux笔记——输入输出重定向、描述符等

||  存在逻辑判断,前一个命令执行不成功,后一个命令也会执行

``: 解析shell命令

'': 强引用,所见即所得

"": 弱引用,会解析变量

Linux笔记——输入输出重定向、描述符等

{}:做扩展

Linux笔记——输入输出重定向、描述符等

* : 匹配任意长度的任意字符