# 디코딩된: GNU Coreutils (2018)

> Clean Markdown view of GeekNews topic #10809. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=10809](https://news.hada.io/topic?id=10809)
- GeekNews Markdown: [https://news.hada.io/topic/10809.md](https://news.hada.io/topic/10809.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2023-09-10T10:08:58+09:00
- Updated: 2023-09-10T10:08:58+09:00
- Original source: [maizure.org](https://maizure.org/projects/decoded-gnu-coreutils/)
- Points: 4
- Comments: 1

## Topic Body

- GNU coreutils 버전 8.3의 모든 코드를 해독하는 장기 프로젝트에 대한 기사
- 명령줄 유틸리티 설계 탐색에 관심 있는 초보 프로그래머를 위한 프로젝트
- 각 유틸리티별 전용 페이지 생성, 중요한 설계 결정과 알고리즘에 대한 논의 확장, 소스 코드 진화 시각화 도구 생성 등을 포함한 완료된 여러 단계로 나눠진 프로젝트
- 각 유틸리티의 전용 페이지 링크, 상세한 논의, 소스 코드, 설명서를 제공하는 기사
- 유틸리티의 성격, 설계, 코드 읽을 때 유의할 사항에 대해 논의하는 코드 읽기에 대한 배경 제공 기사
- GNU coreutils가 원래 쉘, 텍스트, 파일 유틸리티용 세 개의 별도 패키지였으며, 같은 유형의 유틸리티가 많은 동일한 설계 패턴을 공유한다는 내용을 설명하는 기사
- 플래그, 옵션, 로컬라이제이션 등을 위한 설정 단계, 실행 매개변수를 설정하기 위해 입력을 읽는 인수 파싱 단계, 하나 이상의 시스템 호출을 위한 입력 준비를 하는 처리/실행 단계를 포함한 대부분의 CLI 유틸리티의 기본 설계를 제공하는 기사
- 유틸리티 초기화, Getopt를 이용한 파싱, fts를 이용한 파일 시스템 순회, 시스템 호출 래퍼 및 도우미, 공통 함수, 공통 코드 라인, C 관용구에 대한 상세한 설명을 제공하는 기사
- 프로젝트 전체 변경, 유틸리티 특정 업데이트, 연간 유지보수를 포함한 유틸리티 유지보수에 대해 논의하는 기사
- GNU 프로젝트 페이지 링크, 기여 가이드라인, 거부된 기능 목록 등 프로젝트에 기여하려는 사람들을 위한 정보를 제공하는 기사
- 재미있는 사실과 유틸리티에 대한 통찰을 제공하는 트리비아와 흥미로운 구현에 대한 섹션으로 끝나는 기사

## Comments



### Comment 19081

- Author: neo
- Created: 2023-09-10T10:08:58+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=37439535) 
- 이 기사는 거의 30년 동안 많은 사람들에 의해 수정되어 온 GNU Coreutils의 장수와 확장성에 대해 논의하고 있다.
- 30년 동안 존재해 온 프로그램이나 30년 동안 지속될 것으로 예상되는 프로그램의 예시를 요청하는 글이 있다.
- 댓글에서는 GNU Coreutils가 어떻게 테스트되는지, Coreutils 명령어 각각을 탐구하는 방법, 그리고 GNU Coreutils를 이용한 커맨드 라인 텍스트 처리에 대한 자료 링크를 제공한다.
- 기사에서 발견된 오류, 특히 shred 페이지의 짧은 설명이 실제로는 csplit의 설명이라는 점에 대한 정정이 있다.
- 일부 사용자들은 `yes`, `shred`, `shuf`, `factor`와 같은 특정 유틸리티의 존재에 놀라움과 관심을 표현한다.
- 초보 프로그래머가 데이터 구조와 알고리즘에 대한 이해를 향상시키기 위해 연구할 유틸리티에 대한 추천을 요청한다.
- `/bin/true`가 실패하고 false를 반환할 가능성에 대한 유머스러운 관찰이 있으며, 이는 "Not /bin/false" 호출을 더욱 견고하게 만든다.
- 재미있는 사실로, MacOS에서 Homebrew를 통해 Coreutils를 설치하면, MacOS가 이미 od(1)을 제공하기 때문에 Coreutils의 od는 god(1)로 설치된다.
- 한 사용자는 이 사이트의 필요성을 의문시하며, 이러한 유틸리티 각각에 대한 man(또는 info) 페이지가 존재한다고 지적한다.
