# fck
**Repository Path**: MM-Q/fck
## Basic Information
- **Project Name**: fck
- **Description**: 一个强大、高效、现代化的文件系统操作工具集
- **Primary Language**: Go
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-05-19
- **Last Updated**: 2025-12-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Go语言
## README
# 🚀 FCK - 文件系统命令行工具集
[](https://deepwiki.com/QiaoMuDe/fck)
[](https://golang.org)
[](LICENSE)
**一个强大、高效、现代化的文件系统操作工具集**
[功能特性](#-功能特性) • [快速开始](#-快速开始) • [命令详解](#-命令详解) • [使用示例](#-使用示例) • [贡献指南](#-贡献指南)
---
## ✨ 功能特性
### 🔐 文件校验 (hash)
- **多算法支持**: MD5、SHA1、SHA256、SHA512
- **批量处理**: 支持通配符和递归扫描
- **完整性验证**: 生成和验证校验文件
- **高性能**: 并发计算,显著提升处理速度
### 📊 智能统计 (size)
- **精确计算**: 文件和目录大小统计
- **人性化显示**: 自动选择最佳单位 (B/KB/MB/GB/TB)
- **进度显示**: 大目录扫描时显示实时进度
- **隐藏文件**: 可选择包含或排除隐藏文件
### 🔍 高级查找 (find)
- **多条件筛选**: 按名称、大小、时间、类型等组合查找
- **正则支持**: 强大的正则表达式匹配
- **并发搜索**: 多线程并行处理,提升搜索效率
- **批量操作**: 支持删除、移动、执行命令等批量操作
### 📋 目录列表 (list)
- **多种排序**: 按名称、大小、时间排序
- **彩色显示**: 根据文件类型智能着色
- **表格样式**: 20+种表格样式可选
- **详细信息**: 显示权限、用户组、修改时间等
### ✅ 文件校验 (check)
- **完整性验证**: 根据哈希文件验证文件完整性
- **多算法支持**: 支持MD5、SHA1、SHA256、SHA512
- **并发校验**: 多线程并行处理,提升验证速度
- **详细报告**: 显示校验通过、失败和错误统计
### 📦 文件打包 (pack)
- **多格式支持**: 支持多种压缩格式的文件打包
- **智能过滤**: 支持包含/排除模式、文件大小过滤
- **压缩级别**: 可调节压缩级别,平衡压缩率和速度
- **进度显示**: 实时显示打包进度和状态
### 📂 文件解包 (unpack)
- **格式自动识别**: 自动识别压缩包格式并解压
- **选择性解压**: 支持过滤器,选择性解压文件
- **覆盖控制**: 可选择是否覆盖已存在的文件
- **进度跟踪**: 显示解压进度和详细信息
### 👁️ 压缩包预览 (preview)
- **内容预览**: 无需解压即可查看压缩包内容
- **详细信息**: 显示压缩包统计信息和文件列表
- **限制输出**: 支持限制显示文件数量
- **多种模式**: 简洁模式和详细模式可选
### ⏱️ 命令监控 (watch)
- **周期性执行**: 按指定间隔重复执行命令并显示结果
- **灵活控制**: 支持执行次数限制、超时设置、错误处理
- **多种模式**: 正常模式、轻度静默、完全静默三种显示模式
- **清屏功能**: 可配置清屏行数,保持界面整洁
- **Shell支持**: 支持多种Shell环境执行命令
---
## 🚀 快速开始
### 环境要求
- Go 1.24.4+
- 支持 Windows、Linux、macOS
### 安装方式
#### 方式一:源码编译
```bash
# 克隆仓库
git clone https://gitee.com/MM-Q/fck.git
cd fck
# 开发版本(生成到 output 目录)
python3 build.py
# 正式版本(安装到 $GOPATH/bin)
python3 build.py -s -ai -f
# 发布版本(压缩包)
python3 build.py -batch -z
```
#### 方式二:直接运行
```bash
go run main.go [命令] [选项]
```
---
## 📖 命令详解
### 🔐 hash - 文件哈希计算
计算文件或目录的哈希值,支持完整性验证和校验文件生成。支持MD5、SHA1、SHA256、SHA512算法。
### 📊 size - 文件大小统计
统计文件或目录的磁盘占用空间,支持人性化显示和进度条。
### 🔍 find - 高级文件查找
强大的文件搜索工具,支持多条件组合查找、正则表达式、并发搜索和批量操作。
### 📋 list - 目录内容列表
增强版的目录列表工具,提供丰富的显示选项、多种排序方式和表格样式。
### ✅ check - 文件完整性校验
根据哈希文件验证文件完整性,支持多种哈希算法和并发校验。
### 📦 pack - 文件打包压缩
将文件或目录打包成压缩文件,支持多种压缩格式、智能过滤和进度显示。
### 📂 unpack - 文件解包解压
解压缩文件到指定目录,支持格式自动识别、选择性解压和覆盖控制。
### 👁️ preview - 压缩包预览
预览压缩包内容和信息,无需解压即可查看文件列表和统计数据。
### ⏱️ watch - 命令监控
周期性执行指定命令并显示输出结果,支持间隔设置、次数限制、多种静默模式和Shell环境选择。
---
## 🎨 表格样式
FCK 支持 20+ 种表格样式,让输出更美观:
| 样式代码 | 说明 | 样式代码 | 说明 |
|---------|------|---------|------|
| `def` | 默认样式 | `l` | 浅色样式 |
| `r` | 圆角样式 | `bd` | 粗体样式 |
| `cb` | 彩色亮色样式 | `cd` | 彩色暗色样式 |
| `db` | 双线样式 | `none` | 禁用样式 |
| `cbb` | 黑色背景蓝色字体样式 | `cbc` | 青色背景蓝色字体样式 |
| `cbg` | 绿色背景蓝色字体样式 | `cbm` | 紫色背景蓝色字体样式 |
| `cby` | 黄色背景蓝色字体样式 | `cbr` | 红色背景蓝色字体样式 |
| `cwb` | 蓝色背景白色字体样式 | `ccw` | 青色背景白色字体样式 |
| `cgw` | 绿色背景白色字体样式 | `cmw` | 紫色背景白色字体样式 |
| `crw` | 红色背景白色字体样式 | `cyw` | 黄色背景白色字体样式 |
---
## 🔧 高级配置
### 性能优化
- 使用 `-x` 选项启用并发处理
- 大目录操作时合理设置缓冲区大小
- 根据系统资源调整并发数量
### 安全考虑
- 路径遍历保护:自动检测和阻止危险路径
- 权限检查:操作前验证文件访问权限
- 输入验证:严格验证所有用户输入
---
## 🤝 贡献指南
我们欢迎所有形式的贡献!
### 如何贡献
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
### 开发环境
```bash
# 克隆仓库
git clone https://gitee.com/MM-Q/fck.git
cd fck
# 安装依赖
go mod tidy
# 运行测试
go test ./...
# 构建开发版本
python3 build.py
```
### 代码规范
- 遵循 Go 官方代码规范
- 添加必要的单元测试
- 更新相关文档
---
## 📄 许可证
本项目采用 [GNU General Public License v3.0](LICENSE) 许可证。
---
## 🙏 致谢
感谢所有贡献者和使用者的支持!
---
**如果这个项目对你有帮助,请给个 ⭐ Star!**
[报告问题](https://gitee.com/MM-Q/fck/issues) • [功能建议](https://gitee.com/MM-Q/fck/issues) • [讨论交流](https://gitee.com/MM-Q/fck/discussions)