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)
的仅存在于内存中的文件系统, 存储了系统运行时的内核状态统计信息。大多数检测系统运行指标的工具(如 top
、vmstat
等)都是从此接口中读取统计数据。
其中的大多数内容都是 只读 的,是进程在内核中的相关数据结构的映射和统计数据。部分是 可写 的,用于控制进程状态或者是内核的行为(如 sysctl
)。
/proc/
中包括的内容取决于具体的内核版本。关于 /proc/
的帮助文档,请查看 man 5 proc
。
以下内容为全局(System Wide)范围的统计数据接口
文件路径 | 说明 | 示例 |
---|---|---|
/proc/cmdline |
全局统计数据。存储了系统启动时使用的内核及选项(参数)BOOT_IMAGE 是系统加载的内核镜像root 是 root 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 的次数,包括 voluntary 和 nonvoluntary 类型的 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 | 显示当前操作系统的版本日期 |