/proc文件与/etc文件

/proc内容

/proc文件系统的容量依系统而不同(硬件配置、体系结构),主要包含以下几大类:
进程的特征数据
内存管理
文件系统
设备驱动程序
系统总线
电源管理
终端
系统控制参数

获取进程的数据

/proc的初衷就是来传递进程数据,因为linux下,一切皆是文件,我们运行起来的进程也可以看成文件

root@das:/$ ls /proc/1238/
attr             cwd       map_files   oom_adj        sessionid  timers
autogroup        environ   maps        oom_score      setgroups  timerslack_ns
auxv             exe       mem         oom_score_adj  smaps      uid_map
cgroup           fd        mountinfo   pagemap        stack      wchan
clear_refs       fdinfo    mounts      personality    stat
cmdline          gid_map   mountstats  projid_map     statm
comm             io        net         root           status
coredump_filter  limits    ns          sched          syscall
cpuset           loginuid  numa_maps   schedstat      task

这是进程pid号为1838的进程状态信息。具体信息cat查询即可。
environ:表示为该程序所设置的环境变量。
maps:列出了进程所使用的库,有点长。。
status:包含了进程状态一般信息(text格式)
stat和statm:以一连串数字的形式提供进程内存消耗的信息
fd:文件夹内有一连串数字文件,表示文件描述符,都是符号链接,链接到对应的文件,这个就代表这个进程中打开了哪些文件。
cwd:是个符号链接,对应到进程工作目录
exe:是个符号链接,对应到可执行二进制文件
root:指向当前进程根目录

测试
我们这里在打开一个程序来查看其进程的数据

# 开启一个程序
nc -l localhost 8080
# 查看其进程id
ps -ef|grep nc
# 打开进程对应的文件夹,这里的2380是我查询到的进程id
cd /proc/2380

/proc文件与/etc文件_第1张图片
fd文件夹:进程打开的所有文件的描述符
我们随便打开fd这个文件夹查看当前进程打开了哪些文件

cd fd
ls -al

在这里插入图片描述
前三个依次是标准输入,标准输出,错误输出。
第三个是一个socket文件,因为我们打开的是一个服务器程序,监听8080端口,所以这里会有对应的socket文件,这又再次看出来了linux下一切皆是文件,每一个socket连接,也是一个文件
task文件夹:当前进程开启的所有线程的信息

/etc内容

/etc目录
  包含很多文件.许多网络配置文件也在/etc 中。也可以将我们自己安装的一些软件的配置文件放置到该文件夹下面
  
/etc/rc or/etc/rc.d or/etc/rc.d*
  启动、或改变运行级时运行的scripts或scripts的目录.
/etc/passwd
  用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.

/etc/group
  类似/etc/passwd ,但说明的不是用户而是组
  
/etc/inittab
  init 的配置文件.

/etc/login.defs
  login 命令的配置文件.

/etc/profile
启动shell的时候要执行的初始化脚本

你可能感兴趣的:(linux)