소개
sortify는 AhmedSamy가 GitHub에서 공개한 CLI 기반 폴더 정리 도구입니다. Go로 작성된 단일 정적 바이너리로 컴파일되며, 디렉터리 안의 파일을 확장자별로 Images, Documents, Videos, Archives, Code 같은 카테고리 폴더에 자동으로 분류해 배치합니다. 안전성을 우선 설계 철학으로 삼아 시스템 경로 보호, 드라이런 미리보기, 실시간 감시 모드, 파일명 정규화 기능을 제공하며 Windows, macOS, Linux(amd64/arm64)에서 동작합니다.
상세정보
스마트 분류
파일의 확장자를 기준으로 Images, Documents, Videos, Archives, Code 등 논리적인 폴더로 자동 분류합니다. 기본 카테고리와 확장자 매핑은 config.json으로 변경할 수 있습니다.
워치(Watch) 모드
대상 디렉터리를 실시간으로 감시하여 새 파일이 들어오면 즉시 재귀적으로 정리합니다. 다운로드 폴더처럼 계속 파일이 쌓이는 환경을 위한 기능입니다.
안전 가드
시스템 루트, 홈 디렉터리, Windows 시스템 디렉터리 등 위험한 경로에 대한 정리를 차단해 의도치 않은 데이터 손실을 줄이도록 설계되었습니다.
인터랙티브 모드
플래그 없이 sortify를 실행하면 대상 디렉터리를 안내하는 대화형 프롬프트가 표시되어, CLI에 익숙하지 않은 사용자도 바로 사용할 수 있습니다.
드라이런(Dry-run) 미리보기
파일을 실제로 옮기지 않고 어떤 변경이 일어날지 미리 확인할 수 있어, 적용 전에 결과를 검토할 수 있습니다.
파일명 정규화
이모지 제거, 연속 공백 축소, 대소문자 정규화(lower/upper/none)를 통해 정렬과 검색이 쉽도록 파일명을 정리합니다.
숫자 패치(Number Patching)
파일명의 숫자를 지정한 자릿수(예: 3 → 001)로 0-패딩하여 정렬 순서를 안정적으로 유지합니다. 적용 범위는 first/all/none으로 설정할 수 있습니다.
JSON 기반 사용자 설정
카테고리, 무시 패턴, 파일명 정규화 옵션, 드라이런 여부, 로그 레벨 등을 config.json으로 직접 정의할 수 있습니다.
크로스플랫폼 단일 바이너리
Windows, macOS, Linux의 amd64 및 arm64 아키텍처용 빌드를 제공하며, 설치 후 별도의 런타임 없이 실행됩니다.
winget(Windows)
Windows에서는 패키지 매니저 winget을 통해 설치할 수 있습니다.
- 터미널 또는 PowerShell에서 다음 명령을 실행합니다.
winget install AhmedSamy.Sortify
go install(모든 플랫폼)
Go가 설치된 환경이라면 단一行 명령으로 최신 버전을 받을 수 있습니다.
- 터미널에서
go install github.com/ahmedthebest31/sortify@latest를 실행합니다. - 실행 파일은
$GOPATH/bin에 생성되므로 PATH에 등록되어 있는지 확인합니다.
GitHub Releases에서 바이너리 다운로드
릴리스 페이지에서 플랫폼별 압축 파일 또는 실행 파일을 내려받아 바로 사용할 수 있습니다.
- Linux: sortify_Linux_x86_64.tar.gz
- macOS(Intel): sortify_Darwin_x86_64.tar.gz
- macOS(Apple Silicon): sortify_Darwin_arm64.tar.gz
- Windows: sortify_Windows_x86_64.exe
어떤 언어로 작성되어 있나요?
Go 언어로 작성되었으며, 단일 정적 바이너리로 컴파일되어 별도 런타임 없이 실행됩니다.
어떤 방식으로 파일을 정리하나요?
CLI에서 대상 디렉터리와 옵션을 지정하면 확장자 기반으로 카테고리 폴더를 만들어 파일을 이동합니다. 플래그 없이 실행하면 인터랙티브 모드로 안내됩니다.
Windows에서 설치하려면 어떻게 하나요?
winget 패키지 매니저로 winget install AhmedSamy.Sortify 명령을 실행해 설치할 수 있습니다.
설정 파일로 무엇을 바꿀 수 있나요?
카테고리 매핑, 무시 패턴, 파일명 정규화 옵션(이모지 제거, 공백 축소, 대소문자), 숫자 패치, 드라이런 여부, 로그 레벨 등을 config.json에서 정의할 수 있습니다.
지원 운영체제는 무엇인가요?
Windows, macOS, Linux에서 amd64 및 arm64 아키텍처를 지원합니다.
시스템 요구사항
운영체제로는 Windows, macOS, Linux(amd64 및 arm64)가 지원됩니다. Go 설치 후 go install로 받을 수 있고, Windows에서는 winget으로 설치 가능합니다. 바이너리 자체는 런타임 의존성이 없는 단일 정적 실행 파일이지만, 파일을 실제로 이동·정리하는 도구이므로 중요한 데이터는 사전에 백업하는 것이 권장됩니다.


