内容简介

本篇博文的主要内容是通过/proc文件,对Linux系统管理有一个初步的认识。

在Linux中,proc文件系统提供了一套在用户态检查内核状态和系统特征的机制。proc文件系统将进程的地址空间、系统的硬件信息、系统相关机制(中断、I/O)等内容全部设置为虚拟的Linux文件,为访问系统内核数据的操作提供接口。

关于proc

Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。 Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。

除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。

一些实践

以root登录系统,退两层文件夹。发现并进入/proc目录。键入ls命令,查看/proc下的内容,同时查看每个文件的读写权限。

图1:进入proc并查看文件权限

使用下面的命令获得CPU信息。

cat cpuinfo | grep name | cut -f2 -d: | uniq -c

图2:查看CPU类型和型号

使用下面的命令可以获得当前Linux的版本

cat version

图3:查看当前Linux版本

使用下面的命令获得从启动到当前时刻所经过的时间

cat uptime

图4:从启动到当前时刻所经过的时间

使用下面的命令获得当前内存状态

cat buddyinfo

图5:当前内存状态

观察内核linux行为,Linux 学习:基于proc观察Linux行为相关推荐

  1. Linux内核源码分析:基于最新的Linux 4.0内核(学习路线总结)

    今天给大家分享的是基于最新的Linux 4.0内核学习路线总结,本文由8个专题组成,文末附上学习路线思维导图. 一.进程管理专题 1.进程原理 1.1 进程生命周期 1.2 task_struct结构 ...

  2. u-boot的linux内核映像加载,基于U_Boot的Linux内核映像加载与引导功能实现.pdf

    基于U_Boot的Linux内核映像加载与引导功能实现 20 10 8 ( ) Aug . 2010 10 4 Journal of Langfang T eachers College( N atu ...

  3. linux lddbus设备,Linux设备驱动程序学习(14)-Linux设备模型(各环节的整合)

    Linux设备驱动程序学习(14) -Linux设备模型(各环节的整合) 通过一个设备在内核中生命周期的各个阶段,可以更好地理解Linux设备模型.我将通过分析lddbus和sculld的源码来了解L ...

  4. linux设备驱动程序架构的研究,Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介)...

    Linux设备驱动程序学习(12) -Linux设备模型(底层原理简介) 以<LDD3>的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的.但是我个人认 ...

  5. linux门禁软件,基于ARM9与Linux的门禁监控系统软件设计

    4.5 后台服务 门禁控制器启动后,通过持续检测读卡器是否有信号以验证是否需要进行大门的开启,当检测到读卡器有刷卡消息时,通过读取卡内信息,调用相应数据库进行匹配,若匹配成功,则一方面摄录此刻图像,保 ...

  6. tipi 深入理解php内核 pdf_大牛的学习笔记-深入理解Linux内核(完整版)

    第一章.绪论 1.Unix文件可以是下列类型之一: a.正规文件(regular file) b.目录(directroy) c.符号链(symbolic link) d.块设备文件(block-or ...

  7. linux内核 sp什么意思,浅析基于ARM的Linux下的系统调用的实现

    12:  tbl    .req    r8        @ syscall table pointer 13:  why    .req    r8        @ Linux syscall ...

  8. linux设备驱动程序jd,Linux设备驱动程序学习(基于2440的GPIO字符设备驱动)

    基于2440的GPIO字符设备驱动及应用程序是针对2440型号的底板的驱动及测试应用程序,详细情况请见底板的PCB图. S3C2440提供130 路复用的IO口线,分为如下端口进行管理: - Port ...

  9. linux防火墙测试,构建基于ipchains的Linux防火墙

    众所周知,Linux可以作为一个优秀的防火墙软件使用.无论是结合Web或FTP网站使用,还是作为内部LAN的前端 ipchains内建于Linux内核,它是一个在系统之间拒绝.接受.路由数据包的基本防 ...

最新文章

  1. Ret2Libc(1) (有system、/bin/sh)绕过NX、ASLR
  2. 深度解析ASP.NET2.0中的Callback机制
  3. 敏捷有效执行的关键软技能
  4. linux关闭内核命令,Linux内核关闭IPv6协议的方式
  5. 5 FI配置-财务会计-给公司代码分配总账科目表
  6. LabelImg 影像標註工具使用教學,製作深度學習用的資料集
  7. 游戏英雄联盟高清壁纸,人物角色都包括
  8. nodejs cluster_NodeJS下好用的Redis客户端ioredis,再推荐一个Redis可视化工具
  9. ffmpeg mp4 html5,FFMPEG mkv to mp4 conversion lacks audio in HTML5 player
  10. CDMA,GSM,WCDMA,TD-SCDMA,CDMA2000,3G的区别
  11. JAVA项目案例详解带代码
  12. VC编程实现运行Excel宏 Run
  13. JDBC案例-用java操作数据库增删改查
  14. 百度收录静态html吗,百度收录越多,网站排名就越高吗?
  15. Unity - Timeline 自定义剪辑,轨道,混合轨道,Inspector属性显示(使用Default Playables辅助工具)
  16. uniapp框架如何实现仿微信相册 | 图视频过滤、相册选择功能
  17. KNOWN_HOSTS处理
  18. P2197 nim博弈
  19. 树芯计划-ASIC数字IC设计讲解(1)连载中......
  20. 汽车的一些简写名词(后续会继续更新)

热门文章

  1. 征途linux mysql_MySql征途之mysql常用命令
  2. python tcp不用循环监听_网络编程: TCP
  3. 微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
  4. iOS 中 load 和 initialize的实现顺序
  5. 大数据推荐(个性化推荐)
  6. 循环获取结构体中的健名与值的实现
  7. SQL Server 2012 OFFSET/FETCH NEXT分页示例
  8. 公钥与私钥,HTTPS详解
  9. python socket编程
  10. 基于python的一个运维自动化的项目(进度更新)【已开源】