Linux 文件后缀命名规则总结
核心规律:有 d = 服务端守护进程,无 d = 客户端
| 后缀类型 | 含义 | 典型示例 |
|---|
xxxd | 守护进程(Daemon) 服务端程序,后台持续运行 | sshd、httpd、mysqld、crond、nfsd、vsftpd、dhcpd |
xxx(无后缀) | 客户端程序 用户主动执行的命令工具 | ssh、mysql、ftp、ping、curl、wget |
配置文件相关后缀
| 后缀 |
含义 |
典型示例 |
xxx_config |
配置文件(明确命名) |
ssh_config(客户端)、sshd_config(服务端) |
xxx.conf |
配置文件(传统风格) |
httpd.conf、nginx.conf、resolv.conf、yum.conf |
.xxxrc |
运行命令配置(Run Command) |
.bashrc、.vimrc、.zshrc |
xxx.ini |
初始化配置文件 |
php.ini、my.ini(Windows 风格) |
系统运行时文件后缀
| 后缀 |
含义 |
典型示例 |
xxx.pid |
进程 ID 文件(记录进程号) |
/var/run/sshd.pid、/var/run/nginx.pid |
xxx.lock |
锁文件(防止重复运行) |
/var/run/yum.pid、/var/lock/subsys/ |
xxx.sock |
套接字文件(进程间通信) |
/var/run/docker.sock、/tmp/mysql.sock |
xxx.log |
日志文件 |
/var/log/messages、/var/log/secure |
编程相关文件后缀
| 后缀 |
含义 |
典型示例 |
.sh |
Shell 脚本 |
install.sh、start.sh |
.py |
Python 脚本 |
app.py、manage.py |
.pl |
Perl 脚本 |
script.pl |
.rb |
Ruby 脚本 |
app.rb |
.js |
JavaScript 文件 |
app.js |
.json |
JSON数据文件 |
package.json、config.json |
.yaml/.yml |
YAML 配置文件 |
docker-compose.yml、k8s-deploy.yaml |
.xml |
XML 配置文件 |
web.xml、pom.xml |
.toml |
TOML配置文件 |
Cargo.toml、pyproject.toml |
压缩包/归档文件后缀
| 后缀 |
含义 |
常用命令 |
.tar |
归档文件(未压缩) |
tar -cf |
.tar.gz/.tgz |
tar + gzip 压缩 |
tar -zxf |
.tar.bz2 |
tar +bzip2 压缩 |
tar -jxf |
.tar.xz |
tar + xz 压缩 |
tar -Jxf |
.zip |
ZIP 压缩包 |
unzip |
.gz |
gzip 压缩文件 |
gunzip |
.bz2 |
bzip2压缩文件 |
bunzip2 |
.xz |
xz 压缩文件 |
unxz |
软件包后缀(不同发行版)
| 后缀 |
含义 |
对应发行版 |
.rpm |
Red Hat 包管理器 |
RHEL、CentOS、Rocky、Fedora |
.deb |
Debian包管理器 |
Debian、Ubuntu、Linux Mint |
.apk |
Alpine 包管理器 |
Alpine Linux |
.pkg |
通用安装包 |
macOS、Solaris 等 |
设备/特殊文件(不重要)
| 后缀 |
含义 |
典型示例 |
.ko |
内核模块(Kernel Object) |
/lib/modules/*.ko |
.so |
动态链接库(Shared Object) |
libc.so.6、libssl.so |
.a |
静态库(Archive) |
libc.a |
.o |
目标文件(Object file) |
main.o(编译中间产物) |
记忆口诀
text
有 d 是服务端,没 d 是客户端
conf 是配置,rc 是运行
pid 记进程,lock 防重入
sock 管通信,log 记日志
压缩看后缀,包看发行版
特别注意: Linux 文件的后缀名对系统本身没有强制意义(不同于 Windows),它更多是给人看的约定,方便识别文件类型。系统实际通过 file 命令读取文件头来判断类型。