Linux 系统文件解析,系统解除上限,数>重定向原理

stvenyin · · 709 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

cmd:ls-al 1.普通文件(regular file) 第一个字符为[-] 纯文本档[ASCll] 二进制文件 [binary] 数据格式文件[data] 系统登入登出 last文件读取 2.目录文件 第一个手写字符为[d] 3.链接文件 第一个 属性为[l] 软链接,快捷方式 4.设备文件 第一个属性为[b] 块设备,硬盘或者软盘,随机的硬盘不同块读写,成组设备 第一个属性为[c] 串口或者设备文件,键盘,鼠标等 5.数据接口文件sockets 网络数据承接,第一个属性为[s] man socket man fifo 6.数据传送文件 解决多个程序同时读取一个文件造成的错误,第一个字符为[p 7.linux黑洞设备 dev/null,什么信息输出给这个设备都会被吃掉 二,解除限制 其中ulimit -n用于限制进程能够打开的文件描述符的最大数目。因为任何设备在linux下都是文件,通信的接口也有专门的接口文件负责,所以linux下进程tcp链接的最大并发量也受限于该值。 其中 "open files (-n) 1024 "是Linux操作系统对一个进程打开的文件句柄数量的限制(也包含打开的SOCKET数量,可影响MySQL的并发连接数目)。 这个值可用ulimit 命令来修改,但ulimit命令修改的数值只对当前登录用户的目前使用环境有效,系统重启或者用户退出后就会失效. ![image.png](https://static.studygolang.com/181222/48fada8cdd69e8903d7577056a9fb2c6.png) 3种终端输出 shell是多线程的,里面是fork进程,参考unix高级环境编程 这些默认的输出,输入都是linux系统内定的,我们在使用过程中,有时候并不希望执行结果输出到屏幕。我想输出到文件或其它设备。这个时候我们就需要进行输出重定向了。 重定向多项规则: 1、shell遇到”>”操作符,会判断右边文件是否存在,如果存在就先删除,并且创建新文件。不存在直接创建。 无论左边命令执行是否成功。右边文件都会变为空。 2、“>>”操作符,判断右边文件,如果不存在,先创建。以添加方式打开文件,会分配一个文件描述符[不特别指定,默认为1,2]然后,与左边的标准输出(1)或错误输出(2) 绑定。 3、当命令:执行完,绑定文件的描述符也自动失效。0,1,2又会空闲。 4、一条命令启动,命令的输入,正确输出,错误输出,默认分别绑定0,1,2文件描述符。 5、一条命令在执行前,先会检查输出是否正确,如果输出设备错误,将不会进行命令执行 每条shell执行都会有返回值,0代表失败,1代表成功,echo ?#查询

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

709 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传