linux 常用目录和文件说明

环境信息

  • Centos 7

常用目录和文件说明

etc 目录常用文件说明

文件路径 说明 示例
/etc/motd 登录成功后的欢迎信息,ssh 登录和 console 登录成功后都会显示
/etc/issue 在登录系统输入用户名之前显示的信息,远程 ssh 连接的时候并不会显示此信息 说明示例
/etc/services 记录网络服务名和它们对应使用的端口号及协议
/etc/protocols 该文件是网络协议定义文件,里面记录了 TCP/IP 协议族的所有协议类型。文件中的每一行对应一个协议类型,它有3个字段,分别表示 协议名称协议号协议别名
/etc/vimrc
~/.vimrc
vim 启动时会读取 /etc/vimrc(全局配置) 和 ~/.vimrc (用户配置) vim
/etc/passwd
/etc/shadow
/etc/group
用户数据库,其中记录了 用户名id用户家目录shell
用户密码文件
组信息
/etc/fstab 系统启动时需要自动挂载的文件系统列表
/etc/mtab 当前系统已挂载的文件系统,并由 mount 命令自动更新。当需要当前挂载的文件系统的列表时使用(例如df命令)
/etc/shells 系统可使用的 shell
/etc/filesystems 系统可使用的 文件系统
/etc/hostname 存放这主机名
/etc/hosts 主机名查询静态表,域名和 ip 本地静态表
/etc/nsswitch.conf 它规定通过哪些途径以及按照什么顺序以及通过这些途径来查找特定类型的信息,还可以指定某个方法奏效或失效时系统将采取什么动作 hosts: files dns myhostname
此配置设定:在查找域名解析的时候,先查找本地 /etc/hosts,再发送给 DNS 服务器查询
/etc/rsyslog.conf rsyslog 服务的配置文件,用来托管其他服务的日志 linux rsyslog 服务
/etc/logrotate.conf linux 日志切割工具 linux logrotate 服务
/etc/rsyncd.conf rsync 服务的配置文件 rsyncd 服务
/etc/sysctl.conf
/etc/sysctl.d/
内核的运行参数配置文件,sysctl 命令对内核参数的修改仅在当前生效,重启系统后参数丢失,如果希望参数永久生效可以修改此配置文件 Linux 常用内核参数说明

/usr/src/

/usr/src/ 目录下面一般会放置 Linux 发行版所使用的 内核源代码,具体路径可能类似 /usr/src/kernels/3.10.0-1160.11.1.el7.x86_64

/proc/ 目录

/proc/ 目录是一个 虚假的(pseudo) 的仅存在于内存中的文件系统, 存储了系统运行时的内核状态统计信息。大多数检测系统运行指标的工具(如 topvmstat 等)都是从此接口中读取统计数据。

其中的大多数内容都是 只读 的,是进程在内核中的相关数据结构的映射和统计数据。部分是 可写 的,用于控制进程状态或者是内核的行为(如 sysctl)。

/proc/ 中包括的内容取决于具体的内核版本。关于 /proc/ 的帮助文档,请查看 man 5 proc

以下内容为全局(System Wide)范围的统计数据接口

文件路径 说明 示例
/proc/cmdline 全局统计数据。存储了系统启动时使用的内核及选项(参数)
BOOT_IMAGE 是系统加载的内核镜像
rootroot file system 的 UID
# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.8.9-1.el7.elrepo.x86_64 root=UUID=44a6a613-4e21-478b-a909-ab653c9d39df ro console=tty0 crashkernel=auto net.ifnames=0 console=ttyS0
/proc/cpuinfo 物理 CPU 处理器信息(Physical Processors),包括 Virtual CPU、Model Name、Clock Speed、Cache Sizes 等 lscpu
/proc/diskstatus 所有存储设备的 Disk I/O 统计信息
/proc/interrupts 每个 CPU 的中断计数器信息
/proc/loadavg 系统的负载信息
/proc/meminfo 系统内存使用统计
/proc/net/dev Network Interface 统计数据
/proc/net/netstat 网络统计数据
/proc/net/tcp
/proc/net/udp
Active TCP/UDP Socket 信息
/proc/pressure Pressure stall information (PSI) files
/proc/schedstat 全局范围的 CPU 调度统计
/proc/self 链接到当前 Process ID 目录
/proc/slabinfo 内核 Slab 分配器缓存(Slab Allocator Cache) 统计信息
/proc/stat 内核和系统资源的简略统计,包括: CPUs, Disks, Paging, Swap, Processes
/proc/zoneinfo 内存区域信息(Memory Zone Information)

以下是针对 Process 的统计数据接口

文件路径 说明 示例
/proc/<PID>/cmdline 存储了程启动时的命令行参数。ps 命令显示的 command 内容来自此处 # cat /proc/1/cmdline
/usr/lib/systemd/systemd --switched-root --system--deserialize 21
/proc/<PID>/comm 存储了进程的名称,一般为进程启动的 文件名,如 systemd
/proc/<PID>/status 进程的详细状态信息,包括进程的基本属性、内存使用情况、权限和调度策略等
/proc/<PID>/stat 进程的状态以及使用的 CPU 和 Memory 统计数据
/proc/<PID>/statm 进程使用的内存统计,基于 Pages 为单位
/proc/<PID>/task/ 进程的子任务(Per-task)相关的统计数据目录
/proc/<PID>/limits 进程使用的资源限制
/proc/<PID>/maps 映射的内存区域
/proc/<PID>/sched CPU 调度统计数据
/proc/<PID>/schedstat CPU 运行时(Runtime) 、延迟(Latency)和时间分片(Time Slices)数据
/proc/<PID>/smaps 映射的内存区域(Mapped Memroy Regions)以及使用的内存统计
/proc/<PID>/fd/
/proc/<PID>/fdinfo/
包含文件描述符的目录
/proc/<PID>/cgroup Cgroup 信息

/proc/<PID>/status 记录内容

记录字段 说明 示例
voluntary_ctxt_switches
nonvoluntary_ctxt_switches
Context Switch 的次数,包括 voluntarynonvoluntary 类型的 Context Switch

说明示例

/etc/issue

文件内容可使用的各个变量说明如下

变量 说明
\d 显示当前日期
\l 显示虚拟控制台号
\m 显示机器类型,即 CPU 架构,如 i386 或 x86_64 等(相当于 uname -m)
\n 显示主机的网络名(相当于 uname -n)
\o 显示域名
\r 显示 Kernel 内核版本号(相当于 uname -r)
\t 显示当前时间
\s 显示当前操作系统名称
\u 显示当前登录用户的编号
\U 显示当前登录用户的编号和用户
\v 显示当前操作系统的版本日期