Linux编程之Linux proc文件体系仓酷云
学习python,无论你是打算拿他当主要开发语言,还是当辅助开发语言,你都应该学习他,因为有些时间我们耗不起。Linuxproc文件体系简介
/proc文件体系是一个伪文件体系,它以文件体系的体例为用户会见体系内核数据供应接口。用户和使用程序能够经由过程/proc文件体系失掉体系的信息,并能够经由过程/proc文件体系改动内核的某些信息。与一般文件分歧的是,/proc的内容都是静态创立的,它只存在于内存傍边。
最后开辟/proc文件体系是为了供应有干系统中历程的信息。可是因为这个文件体系十分有效,因而内核中的良多元素也入手下手利用它来呈报信息,或启用静态运转时设置。
/proc文件体系分为三年夜类:体系信息、历程相干、子体系。
开机主动加载Linuxproc文件体系
在/etc/fstab文件中到场以下一利用体系在启动时主动加载/proc文件体系(尽多半Linux刊行版默许云云):
proc/procprocdefaults00
固然你也能够手动加载:mount-tprocproc/proc
使用Linuxproc文件体系来读取体系信息
良多读取体系信息的程序都依附于/proc文件体系,假如/proc文件体系不存在,它们将不成用或完整,比方:lscpu、lsusb、lspci……ps。
有些命令的输入的信息,能够经由过程间接读取/proc文件体系来猎取。比方:Linux检察硬件信息
体系信息
在/proc根目次下,这里的文件是只读的。
文件描述cmdline内核启动参数cpuinfocpu信息iomemio设备的内存利用信息interrupts显现被占用的中止信息和占用者的信息ioportsI/O端口的利用kcore体系物理内存映像,不成读取loadavg体系均匀负载meminfo物理内存和互换分区利用信息modules加载模块列表mounts挂载的文件体系partitions体系辨认的分区表swaps互换空间的使用情形version内核版本信息uptime体系运转工夫
历程相干
在/proc目次下以数字为名的子目次都是存储和历程相干的信息,这些数字就是相干历程的历程ID,这里的文件也是只读的。
另有一个特别的/proc/self目次,它是指向以后实行历程的标记毗连。比方你实行:cat/proc/self/cmdline,将前往命令自己,但会疏忽空格。
文件描述cmdline历程启动参数environ情况变量limits历程限定信息status历程形态maps历程利用的静态链接库文件
内核子体系的参数
如调剂内核文件限定,开启IP数据包转发……这些文件都在/proc/sys/目次下,有的能够改动,有的是只读。
文件体系参数fs/file-max能够分派的文件句柄的最年夜数量fs/file-nr已分派文件句柄的数量、已利用文件句柄的数量、文件句柄的最年夜数量。只读fs/inode-*与索引节点相干的内核相干kernel/ctrl-alt-del把持体系在吸收到ctrl+alt+delete按键组应时怎样反响。kernel/domainname您设置收集域名kernel/hostname您设置收集主机名kernel/msgmax该文件指定了从一个历程发送到另外一个历程的动静的最年夜长度。kernel/msgmnb该文件指定在一个动静行列中最年夜的字节数。kernel/msgmni该文件指定动静行列标识的最年夜数量。kernel/threads-max该文件指定内核所能利用的线程的最年夜数量。收集子体系net/core/message_burst写新的告诫动静所需的工夫,以1/10秒为单元,在这个工夫内所吸收到的告诫动静会被抛弃。net/core/netdev_max_backlog该文件指定了,在接口吸收数据包的速度比内核处置这些包的速度快时,同意送到行列的数据包的最年夜数量。net/core/optmem_max该文件指定了每一个套接字所同意的最年夜缓冲区的巨细。net/core/rmem_default该文件指定了吸收套接字缓冲区巨细的缺省值(以字节为单元)。net/core/rmem_max该文件指定了吸收套接字缓冲区巨细的最年夜值(以字节为单元)。net/core/wmem_default该文件指定了发送套接字缓冲区巨细的缺省值(以字节为单元)。net/core/wmem_max该文件指定了发送套接字缓冲区巨细的最年夜值(以字节为单元)。net/ipv4/*IPv4相干,参阅文件/usr/src/linux/Documentation/networking/ip-sysctl.txtnet/ipv6/*IPv6相干net/ipv4/ip_forward转发IPv4数据包net/ipv4/ip_default_ttl修正IPv4默许的TTL值net/ipv4/ip_no_pmtu_disc封闭IPv4路径MTU探测,默许值为FALS/ipv4/tcp_syn_retries关于一个新建毗连,IPv4子体系要发送几个SYN毗连哀求才决意保持。net/ipv4/tcp_synack_retries关于远真个毗连哀求SYN,IPv4子体系会发送SYN+ACK数据报,以确认收到上一个SYN毗连哀求包。这里决意内核在保持毗连之前所送出的SYN+ACK数量。sys/net/ipv4/tcp_syncookies设置IPv4子体系是不是翻开SYNCookie功效,该功效能够避免部分SYN打击。sys/net/ipv4/ipfrag_high_thresh设置IPv4分片会聚的最年夜内存用量。sys/net/ipv4/ipfrag_time设置IPv4分片在内存保留工夫。sys/net/ipv4/icmp_echo_ignore_all设置为0则IPv4子体系将疏忽一切发送给本人的ICMPecho哀求。
sysctl命令和/etc/sysctl.conf
sysctl命令是用来读取和修正内核子体系的。
语法:sysctldir1.dir2.file,暗示操纵/proc/sys/dir1/dir2/file文件。
实例:
#sysctl-a读取一切设置
#sysctlnet.ipv4读取/proc/sys/net/ipv4/目次下的设置
#sysctlnet.ipv4.ip_forward读取ip_forward设置
#sysctlnet.ipv4.ip_forward=1修正ip_forward设置为1
sysctl命令的设置只能一时修正,要永世失效还要把这些设置到场/etc/sysctl.conf文件。
实例:
#vimsysctl.conf
net.ipv4.ip_forward=1
如许才永世失效。
#sysctl-p让/etc/sysctl.conf文件的设置当即失效。
由于在linux中,用户权限很大,做任何事情都很自由,所以,你往往需要知道你做的每一步在干什么。 为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。 让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。? 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。 你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。 Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。 了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。 说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。? 可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。 Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
页:
[1]