GNU 코어 유틸리티
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
GNU 코어 유틸리티(coreutils)는 1990년에 시작되어 2002년에 통합된, 셸에서 사용되는 기본적인 유틸리티 프로그램 모음이다. 파일, 텍스트, 셸 유틸리티를 포함하며, `rm`, `ls`와 같은 명령어를 통해 파일 관리 및 텍스트 처리를 수행한다. `--help`, `--version`과 같은 공통 옵션을 제공하며, POSIXLY_CORRECT 환경 변수 설정에 따라 옵션 해석 방식이 달라진다.
더 읽어볼만한 페이지
- 유닉스 소프트웨어 - 한/글
한/글은 1980년대 후반부터 개발된 대한민국의 대표적인 워드프로세서로, 다양한 운영체제 지원, 정부 전자 문서 시스템에서의 역할, 꾸준한 기능 발전과 사용자 편의성 및 국제 표준을 고려한 업데이트를 통해 발전해왔다. - 유닉스 소프트웨어 - 베오울프 클러스터
베오울프 클러스터는 여러 대의 컴퓨터를 네트워크로 연결하여 단일 머신처럼 작동하도록 구성한 병렬 컴퓨팅 시스템이며, 1994년 NASA에서 개발되었고, 기성 PC 부품과 리눅스 운영체제를 사용하여 비용 효율적인 슈퍼컴퓨터의 원형이 되었다. - GNU 프로젝트 소프트웨어 - GNU 허드
GNU 허드는 유닉스 운영 체제를 대체하는 것을 목표로 개발된 GNU 프로젝트의 커널로, 마이크로커널 기반의 서버-클라이언트 아키텍처를 사용하며, 파일 시스템 기능을 확장하는 트랜슬레이터 개념을 제공한다. - GNU 프로젝트 소프트웨어 - GNU 옥타브
GNU 옥타브는 MATLAB과 높은 호환성을 가지며 수치 해석 계산을 위해 사용되는 자유-오픈 소스 소프트웨어이다. - C로 작성된 자유 소프트웨어 - PostgreSQL
PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다. - C로 작성된 자유 소프트웨어 - 김프
김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다.
2. 역사
1990년, 데이비드 매켄지는 ''GNU 파일 유틸리티''를 발표했다.[4]
1991년, 매켄지는 ''GNU 쉘 유틸리티''와 ''GNU 텍스트 유틸리티''를 발표했고,[5][6] 짐 메이어링이 coreutils의 관리자가 되어 현재까지 유지하고 있다.[7]
2002년, 메이어링은 이전의 텍스트 유틸리티, 쉘 유틸리티, 파일 유틸리티를 다른 여러 유틸리티와 함께 병합하여 ''GNU 코어 유틸리티''를 발표했다.
2. 1. 초기 개발
1990년, 데이비드 매켄지는 ''GNU 파일 유틸리티''를 발표했다.[4]1991년, 매켄지는 ''GNU 쉘 유틸리티''와 ''GNU 텍스트 유틸리티''를 발표했다.[5][6] 같은 해, 짐 메이어링이 현재 coreutils로 알려진 패키지의 관리자가 되었으며, 이후 계속 유지해 오고 있다.[7]
2. 2. GNU 코어 유틸리티 탄생
1990년, 데이비드 매켄지는 ''GNU 파일 유틸리티''를 발표했다.[4]1991년, 매켄지는 ''GNU 쉘 유틸리티''와 ''GNU 텍스트 유틸리티''를 발표했으며,[5][6] 짐 메이어링이 현재 coreutils로 알려진 패키지의 관리자가 되어 현재까지 유지하고 있다.[7]
2002년, 메이어링은 이전의 텍스트 유틸리티, 쉘 유틸리티, 파일 유틸리티 패키지를 다른 여러 유틸리티와 함께 병합하여 ''GNU 코어 유틸리티''를 발표했다.
3. 특징
코어 유틸리티 프로그램은 셸에 입력하여 사용할 수 있다. 예를 들어, `rm` 명령은 인수로 주어진 파일을 삭제한다. 이러한 프로그램은 단독으로도 작동하지만, 파이프를 사용하여 여러 개를 조합함으로써 복잡한 처리도 가능하다.
3. 1. 옵션
Coreutils에 포함된 명령어에 공통으로 사용되는 옵션은 다음과 같다.- --help: 해당 명령어의 도움말을 표시한다.
- --version: 버전을 출력한다.
- --: 이후의 인수를 오퍼랜드로 취급한다.
Coreutils 명령어는 환경 변수 `POSIXLY_CORRECT`가 정의되어 있지 않은 경우, 인수가 어떤 순서로 쓰여 있든 옵션을 먼저 해석하고, 오퍼랜드를 나중에 해석한다. 예를 들어 "ls /usr -l"과 "ls -l /usr"은 동일한 결과를 반환한다. (\UNIX의 도구에서는 이러한 경우의 동작이 제각각인 경우가 많다.)
4. 포함된 프로그램
GNU 코어 유틸리티(Coreutils) 5.2.1 버전에는 파일, 텍스트, 셸 관리를 위한 다양한 프로그램이 포함되어 있다.
- '''파일 유틸리티'''는 파일을 복사, 이동, 삭제하고 파일 속성을 변경하는 등 기본적인 파일 관리 작업을 수행한다.
- '''텍스트 유틸리티'''는 텍스트 파일의 내용을 표시, 편집, 검색, 정렬하는 등 텍스트 처리 작업을 수행한다.
- '''셸 유틸리티'''는 운영 체제의 셸과 상호 작용하여 날짜 및 시간 표시, 환경 변수 설정, 프로세스 관리 등 다양한 시스템 작업을 수행한다.
UNIX의 관례에 따라 `test`의 별명으로 `[`가 있으며, 셸에서 `if [ ''expression'' ]`과 같이 사용된다.
4. 1. 파일 유틸리티
Coreutils 5.2.1 버전을 기준으로, 파일 관리에 사용되는 유틸리티는 다음과 같습니다.- chgrp: 파일의 소유 그룹을 변경합니다.
- chown: 파일의 소유자를 변경합니다.
- chmod: 파일 또는 디렉토리의 접근 권한을 변경합니다.
- cp: 파일 또는 디렉토리를 복사합니다.
- dd: 파일을 복사하고 변환합니다.
- df: 디스크의 빈 용량을 표시합니다.
- dir: ls와 동일한 기능을 수행합니다.
- dircolors: ls의 표시 색상을 설정합니다.
- install: 파일을 복사하고 속성을 설정합니다.
- ln: 링크를 생성합니다.
- ls: 디렉토리 내용을 나열합니다.
- mkdir: 디렉토리를 생성합니다.
- mkfifo: FIFO (이름 지정된 파이프)를 생성합니다.
- mknod: 특수 파일 (장치 파일 등)을 생성합니다.
- mv: 파일을 이동합니다.
- rm: 파일을 제거합니다.
- rmdir: 빈 디렉토리를 제거합니다.
- shred: 파일 내용을 복구할 수 없도록 파괴합니다.
- sync: 파일 캐시를 디스크에 기록합니다.
- touch: 파일의 접근 및 수정 시간을 변경합니다.
- vdir: ls -l과 동일하게 상세한 디렉토리 내용을 표시합니다.
4. 2. 텍스트 유틸리티
- cat: 파일의 내용을 표시하거나 여러 파일을 연결하여 표시한다.
- cksum: 파일의 체크섬과 파일 크기를 계산한다.
- comm: 두 파일을 행 단위로 비교한다.
- csplit: 파일을 문맥에 따라 분할한다.
- cut: 각 행에서 선택한 부분을 표시한다.
- expand: 탭 문자를 공백 문자로 변환한다.
- fmt: 텍스트의 서식을 단락별로 지정한다.
- fold: 입력 행을 지정된 너비에 맞추어 접는다.
- head: 파일의 앞부분을 표시한다.
- join: 두 파일을 읽어 공통 필드를 가진 행들을 결합한다.
- md5sum: MD5 해시 체크섬을 계산하고 확인한다.
- nl: 파일에 행 번호를 붙여 출력한다.
- od: 파일을 8진수 또는 다른 형식으로 출력한다.
- paste: 여러 파일의 행들을 병합한다.
- pr: 인쇄를 위해 파일의 페이지를 나누고 단을 구성한다.
- ptx: 정렬된 색인을 생성한다.
- sha1sum: SHA-1 해시 체크섬을 계산하고 검증한다.
- sort: 텍스트 파일을 행 단위로 정렬한다.
- split: 파일을 지정된 크기로 분할한다.
- sum: 체크섬과 블록 수를 표시한다.
- tac: 파일을 결합하고 역순으로 표시한다.
- tail: 파일의 뒷부분을 표시한다.
- tr: 문자를 변환, 삭제하거나 연속된 문자를 압축한다.
- tsort: 유향 그래프의 위상 정렬을 수행한다.
- unexpand: 공백 문자를 탭 문자로 변환한다.
- uniq: 정렬된 파일에서 중복되는 행을 제거한다.
- wc: 파일의 바이트 수, 단어 수, 행 수를 표시한다.
4. 3. 셸 유틸리티
Coreutils 5.2.1 버전을 기준으로, 셸 유틸리티에는 다음과 같은 프로그램들이 포함되어 있습니다.
UNIX의 관례에 따라 `test`의 별명으로 `[`가 있습니다. 셸에서 `if [ ''expression'' ]`과 같이 사용하기 위한 것입니다.
참조
[1]
웹사이트
The GNU Core Utilities Open Source Project on Open Hub: Languages Page
https://www.openhub.[...]
2019-03-28
[2]
웹사이트
README-package-renamed-to-coreutils
https://git.savannah[...]
2003-01-13
[3]
웹사이트
COPYING: Update to Version 3.
https://git.savannah[...]
2007-07-23
[4]
웹사이트
GNU file utilities release 1.0
https://groups.googl[...]
[5]
웹사이트
GNU shell programming utilities released
https://groups.googl[...]
[6]
웹사이트
new GNU file and text utilities released
https://groups.googl[...]
[7]
웹사이트
GNU's Who
https://www.gnu.org/[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com