fselect 가이드: SQL로 하드 드라이브를 검색하세요, 파일 검색의 궁극적인 형태
fselect: 파일 검색에 SQL이 만나면 모든 것이 우아해집니다
한 줄 요약: “D 드라이브 프로젝트 폴더에서 100MB보다 크고 2024년 1월 이후 수정된 PDF 파일” 같은 복잡한 조건으로 파일을 찾아야 할 때, fselect는 단일 SQL 쿼리로 해결합니다.
Everything은 확실히 파일 검색에 빠릅니다. 하지만 쿼리 기능이 제한적입니다. 여러 조건을 조합하거나, 특정 방식으로 정렬하거나, 폴더 전체의 파일 정보를 집계해야 할 때 Everything은 한계를 보입니다.
이것이 fselect가 등장하는 이유입니다.
fselect란?
fselect는 명령줄 파일 검색 도구로, 가장 큰 특징은 SQL 문법을 사용하여 파일을 검색할 수 있다는 것입니다.
네, 맞게 읽으셨습니다. SELECT, WHERE, ORDER BY — 그 SQL 키워드들 — 로 하드 드라이브를 검색합니다.
fselect가 해결하는 핵심 문제:
- 복잡한 조건 조합 검색 → SQL로 유연하게 표현
- 파일 정보 집계 → count/avg/sum 직접 사용
- 조건 기반 일괄 작업 → 결과를 다른 명령어로 직접 파이프
- 일관된 크로스 플랫폼 경험 → Mac/Linux/Windows에서 동일한 문법
사용하는 맛이 어떤가요?
시나리오 1: 복잡한 조건 검색
Everything에서 “1GB보다 큰 비디오 파일”을 검색하려면 필터를 클릭해야 합니다. fselect로는 한 줄이면 됩니다.
fselect "name, size, path FROM files WHERE type = 'video' AND size > 1g ORDER BY size DESC"
결과가 크기 내림차순으로 직접 나열됩니다.
시나리오 2: 디스크 공간을 정리할 대용량 파일 찾기
디스크가 가득 찼는데 정리할 대용량 파일을 찾고 싶나요?
fselect "path, size FROM files WHERE size > 500m ORDER BY size DESC LIMIT 20"
드라이브에서 가장 큰 20개의 파일을 나열합니다. 하나도 놓치지 않습니다.
시나리오 3: 파일 개수 세기
fselect "COUNT(*), LOWER(extension) FROM /path/to/project WHERE type = 'image' GROUP BY LOWER(extension)"
한 명령으로 프로젝트에 각 형식의 이미지가 몇 개 있는지 셀 수 있습니다.
시나리오 4: 심층 검색
C:\Work\Projects에서 “report” 키워드를 포함하고 2024년 이후 생성된 모든 Excel 파일을 찾고 싶나요?
fselect "name, path, created FROM C:/Work/Projects WHERE name LIKE '%report%' AND extension = 'xlsx' AND created > '2024-01-01'"
Everything은 이 수준의 세부 검색을 할 수 없지만 fselect는 쉽게 처리합니다.
유사 도구와의 비교
| 항목 | fselect | Everything | 시스템 검색 |
|---|---|---|---|
| 쿼리 문법 | SQL | 키워드 | 키워드 |
| 복잡한 조건 조합 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| 검색 속도 | 빠름 (인덱싱) | 매우 빠름 (NTFS 인덱스) | 느림 |
| 통계 집계 | 지원 | 미지원 | 미지원 |
| 그래픽 인터페이스 | 없음 (순수 명령줄) | 예 | 예 |
| 학습 곡선 | 중간-높음 | 매우 낮음 | 낮음 |
fselect는 이런 분들을 위한 것입니다: 명령줄에 익숙하고, 특정 조건으로 파일을 자주 찾거나 파일 정보를 일괄 집계해야 하는 분.
사용자 피드백
- Hacker News: “드디어 누군가 내가 몇 년 동안 원했던 ‘SELECT * FROM files WHERE…’ 도구를 만들었네요.”
- Zhihu 프로그래머 @ByteFlow: “fselect로 파일을 처음 검색했을 때, 신의 시야를 가진 기분이었어요.”
- Reddit r/commandline: “fselect는 모든 개발자가 Windows 검색이 되길 바라는 바로 그 도구입니다.”
장단점 요약
장점
- SQL 표현이 매우 강력, 복잡한 쿼리도 쉬움
- 인덱스 최적화로 빠른 검색 속도
- 크로스 플랫폼 지원 (Windows/Mac/Linux)
- 다른 명령줄 도구와 파이프 연결 가능
- 집계, 그룹화, 정렬 등 고급 기능 지원
단점
- 순수 명령줄, 그래픽 인터페이스 없음
- SQL 문법 학습 필요 (기본 SQL이면 충분)
- 기본적으로 자동 인덱싱 안 함, 첫 검색이 약간 느림
- 일부 시나리오에서 한글 파일 이름 지원에 문제 있을 수 있음
- 그냥 파일 하나 빨리 찾고 싶은 일반 사용자에게는 부적합
다운로드 및 설치
Windows 설치
방법 1: Scoop 사용 (권장)
scoop install fselect
방법 2: Chocolatey 사용
choco install fselect
방법 3: GitHub에서 다운로드
- https://github.com/jhspetersson/fselect/releases
- 시스템에 맞는 바이너리 다운로드, 압축 풀고 PATH에 추가
참고: Scoop이나 Chocolatey로 설치하면 환경 변수가 자동으로 구성되어 수동 다운로드보다 훨씬 편리합니다.
빠른 시작
- 설치 후 터미널(CMD 또는 PowerShell) 열기
- 가장 간단한 검색 시도:
fselect "name FROM C:/Users" LIMIT 10 - 유형별 필터링:
fselect "name, path FROM C:/Downloads WHERE type = 'image'" - 크기별 필터링:
fselect "name, size FROM C:/ WHERE size > 100m" - 집계 시도:
fselect "COUNT(*), extension FROM D:/Documents GROUP BY extension"
일반적인 쿼리 템플릿
# 최근 수정된 대용량 파일 찾기
fselect "name, path, modified FROM C:/ WHERE size > 500m AND modified > '2025-01-01'"
# 파일 유형별 개수와 총 크기
fselect "COUNT(*), SUM(size), extension FROM D:/Projects GROUP BY extension ORDER BY COUNT(*) DESC"
# 확장자와 키워드로 파일 찾기
fselect "name, path FROM C:/Work WHERE extension IN ('pdf', 'docx') AND name LIKE '%report%'"
# 빈 파일 찾기
fselect "name, path FROM E:/Backup WHERE size = 0"
결론
fselect는 모든 사람을 위한 도구가 아닙니다. 일반 사용자는 Everything으로 충분합니다. 하지만 개발자, 데이터 분석가, 또는 복잡한 조건으로 파일을 자주 찾는 헤비 유저라면 fselect는 Everything이 따라올 수 없는 유연성을 제공합니다.
fselect "SELECT * FROM files WHERE..."로 하드 드라이브를 조사하는 데 익숙해지면, 전체 파일 시스템이 데이터베이스처럼 느껴질 것입니다. 원하는 모든 것을 검색할 수 있습니다.
한 줄 요약: Everything은 SQL이 될 수 있고, 파일 검색도 예외가 아닙니다.