소개
FileTools(FT)는 Heshan Aisipai E-commerce Co., Ltd.가 개발한 고성능 오픈소스 CLI 도구입니다. 파일 관리와 워크플로 자동화를 위해 설계되었으며, 비동기 파일 스트림 처리를 활용하여 대용량 파일 작업을 효율적으로 처리합니다. Windows, Linux, macOS 등 다양한 플랫폼에서 실행 가능한 교차 플랫폼 도구입니다.
상세정보
파일 검색 및 필터링
유연한 Glob 와일드카드와 파일 시간, 크기 속성을 결합하여 대상 파일을 정밀하게 선별할 수 있습니다. MIME 타입 감지를 통한 파일 유형 필터링도 지원합니다.
텍스트 검색 및 치환
정규 표현식 기반의 검색과 치환 기능을 통해 파일 내용에서 원하는 텍스트를 찾아 일괄적으로 수정할 수 있습니다.
파일 관리 서브커맨드
- list: Glob �턴과 일치하는 모든 엔티티를 나열합니다.
- search: 정규 표현식을 사용한 텍스트 내용 검색을 수행합니다.
- fdups: 중복 파일을 찾습니다.
- archive/unarchive: 파일 및 디렉터리의 압축 및 해제를 처리합니다.
- mirror: 파일 및 디렉터리를 점진적으로 동기화합니다.
- rmdir: 빈 디렉터리를 삭제합니다.
- clean: 파일 및 디렉터리를 정리합니다.
- wipe: 파일을 안전하게 삭제합니다(다중 덮어쓰기).
자동화 및 오케스트레이션
execute 서브커맨드는 YAML 설정 파일을 통해 내장된 ft 서브커맨드를 일괄 실행할 수 있는 핵심 자동화 기능입니다. shell 서브커맨드는 네이티브 시스템 CLI 애플리케이션을 통합하고 일괄 실행하여 교차 도구 자동화를 가능하게 합니다.
설치 및 시작
FileTools는 여러 방법으로 설치할 수 있습니다. 가장 간단한 방법은 GitHub 릴리스 페이지에서 사전 컴파일된 바이너리를 다운로드하여 압축을 풀고 실행하는 것입니다.
Windows 사용자는 winget 패키지 관리자를 통해 설치할 수 있습니다: winget install gai.filetools
macOS 및 Linux 사용자는 자동 설치 스크립트를 사용할 수 있습니다: curl -sSL https://raw.githubusercontent.com/huanguan1978/ft/main/install.sh | bash
Dart/Flutter 사용자는 다음 명령으로 설치할 수 있습니다: dart pub global activate --executable=ft filetools
활용 예시
FileTools는 일상적인 파일 운영, 파일 배포 및 데이터 처리에 이상적입니다. 예를 들어, 데스크톱 워크스페이스의 문서를 점진적으로 미러링하여 최근 문서를 추적할 수 있는 자동화 워크플로우를 구성할 수 있습니다.
YAML 설정 파일을 사용하여 여러 ft 명령을 순차적으로 실행하는 자동화 태스크를 구성할 수 있습니다. 이를 통해 플랫폼별 스크립트 없이도 복잡한 파일 워크플로우를 관리할 수 있습니다.
지원 환경
FileTools는 Windows, Linux, macOS 등 주요 운영 체제와 다양한 아키텍처에서 사전 컴파일된 바이너리로 제공됩니다. Windows에서는 winget을, macOS에서는 Homebrew 및 MacPorts 커스텀 탭을 통해 설치할 수 있습니다.
제한 사항 및 확인사항
FileTools는 LGPL-2.1 라이선스로 오픈소스 소프트웨어로 무료 제공됩니다. 명령줄 인터페이스만 제공하므로 그래픽 사용자 인터페이스(GUI)를 선호하는 사용자에게는 적합하지 않을 수 있습니다. 파일 시스템 기반 작업에 집중하며, 파일 내용 색인이나 고급 메타데이터 분석은 지원하지 않습니다.
화면으로 보는 주요 기능
파일 목록 출력 화면

터미널 창에서 `ft` 명령어를 사용하여 `/doc` 디렉터리의 파일 목록을 출력하는 모습입니다. `pwd` 명령어로 현재 경로를 확인한 후, `ft list` 명령어를 여러 가지 옵션과 함께 사용하여 파일 정보를 표시하고 있습니다. 표시된 정보에는 파일 이름, 크기, 수정 날짜, 권한 등이 포함되어 있으며, `–mime_includes`, `–excludes`, `–fields`, `–size_le`, `–time_le`, `–pattern`, `–define` 등의 옵션을 통해 필터링 및 형식을 조정하고 있습니다.
시스템 요구사항
기본적인 명령줄 인터페이스 사용 경험과 glob 패턴, 정규 표현식 문법에 대한 이해가 필요합니다. 파일 시스템 기반 작업에 특화되어 있어 파일 내용 색인이나 고급 메타데이터 분석은 지원하지 않습니다.


