| name | filesystem |
| description | Advanced filesystem operations for listing files, searching content, batch processing, and directory analysis. Supports recursive search, file type filtering, size analysis, and batch operations like copy/move/delete. Use when you need to: list directory contents, search for files by name or content, analyze directory structures, perform batch file operations, or analyze file sizes and distribution. |
Filesystem Operations
文件系统操作工具,提供目录列表、内容搜索、批量处理和目录分析功能。
快速开始
列出目录
ls -la
find . -type f -name "*.md" | head -20
find . -type f \( -name "*.md" -o -name "*.txt" \)
搜索文件
find . -name "*keyword*"
grep -r "keyword" . --include="*.md"
grep -ri "keyword" . --include="*.md"
分析目录
find . -type f -name "*.md" | wc -l
du -sh .
find . -type f -exec ls -lh {} \; | sort -k5 -h | head -10
核心功能
1. 目录列表
基础列表:
ls -la
ls -lh
ls -lt
ls -R
高级列表:
find . -type f -name "*.md"
find . -maxdepth 2 -type f
find . -type f -not -path "*/node_modules/*"
2. 文件搜索
按名称搜索:
find . -name "filename.md"
find . -name "*pattern*"
find . -iname "*pattern*"
按内容搜索:
grep -r "keyword" .
grep -rn "keyword" .
grep -r "keyword" . --include="*.md"
grep -r "keyword" . --exclude-dir=node_modules
正则表达式搜索:
grep -r "^## " . --include="*.md"
grep -r "key1\|key2" .
grep -r "^关键词" .
grep -r "关键词$" .
3. 批量操作
批量复制:
find . -name "*.md" -exec cp {} backup/ \;
for file in *.md; do cp "$file" dir1/ && cp "$file" dir2/; done
批量移动:
find . -name "*.log" -exec mv {} logs/ \;
find . -type f -size +1M -exec mv {} large/ \;
批量删除:
find . -name "*.tmp" -delete
find . -type d -empty -delete
find . -type f -mtime +30 -delete
批量重命名:
rename 's/old/new/' *.md
for file in *.md; do mv "$file" "prefix_$file"; done
4. 目录分析
大小分析:
du -sh .
du -h --max-depth=1 . | sort -hr
find . -type f -exec ls -lh {} \; | sort -k5 -hr | head -10
文件类型统计:
find . -type f -name "*.md" | wc -l
find . -type f -name "*.*" | sed 's/.*\.//' | sort | uniq -c
目录结构分析:
tree -L 2
find . -type d | wc -l
find . -type f | cut -d/ -f1-2 | sort | uniq -c
5. 文件信息查询
文件详情:
stat filename
ls -lh filename
ls -lt filename
文件内容预览:
head -20 filename
tail -20 filename
shuf -n 10 filename
wc -c filename
wc -l filename
实用工具
tree 命令
brew install tree
tree -L 2 -I 'node_modules|__pycache__'
fd 命令(快速查找)
brew install fd
fd "pattern" /path
fd -e md .
fd -t f .
ripgrep 命令(快速搜索)
brew install ripgrep
rg "keyword" .
rg -t md "keyword" .
rg -i "keyword" .
rg --type md "pattern" .
最佳实践
1. 搜索优化
- 使用
fd 或 ripgrep 替代 find 和 grep(更快)
- 先缩小搜索范围,再进行深度搜索
- 使用文件类型过滤减少搜索时间
2. 批量操作安全
- 操作前先用
--dry-run 查看会发生什么
- 批量删除前先列出文件确认
- 重要操作前先备份
3. 目录分析
- 使用
-max-depth 限制递归深度
- 使用
-size 过滤大文件
- 使用
-mtime 按时间筛选
常见任务
查找并处理 Markdown 文件
find . -name "*.md" -type f
find . -name "*.md" | wc -l
find . -name "*.md" -exec ls -lh {} \; | sort -k5 -hr | head -5
搜索并替换内容
grep -rn "old_text" . --include="*.md"
find . -name "*.md" -exec sed -i '' 's/old_text/new_text/g' {} \;
清理临时文件
find . -name "*.tmp" -delete
find . -type d -empty -delete
find . -name "*.log" -mtime +30 -delete
安全提醒
⚠️ 批量操作前先确认:
- 列出要操作的文件
- 确认不会误删重要文件
- 考虑先备份
⚠️ 删除操作不可逆:
rm 删除后无法恢复
- 大批量删除前仔细检查
- 考虑使用
rm -i 交互式删除
⚠️ 权限注意:
- 某些操作可能需要 sudo
- 系统目录操作要谨慎
- 考虑文件权限问题