<colcolor=#fff><bgcolor=#a32d2a> GNU Core Utilities | |
<colbgcolor=#a32d2a> 종류 | CLI 유틸리티 패키지 |
개발 | GNU |
출시 | 2002년 9월 1일[1] |
언어 | C 언어 |
플랫폼 | GNU/Linux, BSD |
안정 버전 | v9.6 |
라이선스 | v6.10 이하: v6.10 이상: GPLv3 |
링크 | Git |
[clearfix]
1. 개요
GNU core utilitiesGNU가 개발하는 POSIX 호환 CLI 유틸리티 패키지.
2. 역사
coreutils는 원래 하나의 패키지가 아니었다. 본질적으로는 기존의 GNU에 개별적으로 존재하던 fileutils, textutils, 그리고 shellutils 등을 합쳐(merge) 하나의 패키지로 재구성한 것으로, 그 최초의 기원은 fileutils로 여겨진다. 다만 GNU의 모든 -utils가 coreutils로 합쳐진 것은 아니고, 현재까지도findutils
, binutils
, diffutils
등은 별도 패키지로 남아있다.1990년 2월 8일 데이비드 맥켄지가 POSIX 표준과 호환되는 16개[2]의 파일 관련 유틸리티를 포함하고 있는 GNU fileutils의 첫 버전을 릴리즈했다. 최초 버전은 BSD용으로 제작되었으나, 곧이어 System V로 포팅되었다.#
이어서 맥켄지는 1991년 7월 16일 20개[3]의 셸 스크립팅용 유틸리티를 포함한 shellutils를 릴리즈한다.#
같은 해 1991년 8월 22일 맥켄지는 기존의 fileutils에서 텍스트 프로세싱 관련 유틸리티만 담은 textutils를 분리하고, 두 패키지에 새 명령어들을 대거 추가했다.#
이후 2002년 9월 1일 GNU는 위 세 프로젝트를 합쳐
coreutils
라는 하나의 패키지로 묶게 된다.#2007년 7월 23일, 라이선스를 GPLv2에서 GPLv3로 변경하였다.#
3. 목록
#<rowcolor=#fff> 명령어 | 비고 |
[ | |
arch | |
b2sum | |
base32 | |
base64 | |
basename | |
cat | |
chcon | |
chgrp | |
chmod | |
chown | |
chroot | |
cksum | |
comm | |
coreutils | --coreutils-prog 옵션으로 coreutils 소속 프로그램을 간접적으로 실행할 수 있다. busybox 등 여러 버전의 utils를 설치했거나 패키지 내 다른 툴들이 $PATH 로 들어가 있지 않을 때 유용하게 사용할 수 있다. |
cp | |
csplit | |
cut | |
date | |
dd | |
df | |
dir | |
dircolors | |
dirname | |
du | |
echo | |
env | |
expand | |
expr | |
factor | |
false | |
fmt | |
fold | |
groups | |
head | |
hostid | |
hostname | |
id | |
install | |
join | |
kill | |
link | |
ln | |
logname | |
ls | |
md5sum | |
mkdir | |
mkfifo | |
mknod | |
mktemp | |
mv | |
nice | |
nl | |
nohup | |
nproc | |
numfmt | |
od | |
paste | |
pathchk | |
pinky | |
pr | |
printenv | |
printf | |
ptx | |
pwd | |
readlink | |
realpath | |
rm | |
rmdir | |
runcon | |
seq | |
sha1sum | |
sha224sum | |
sha256sum | |
sha384sum | |
sha512sum | |
shred | |
shuf | |
sleep | |
sort | |
split | |
stat | |
stdbuf | |
stty | |
sum | |
sync | |
tac | |
tail | |
tee | |
test | |
timeout | |
touch | |
tr | |
true | |
truncate | |
tsort | |
tty | |
uname | |
unexpand | |
uniq | |
unlink | |
uptime | |
users | |
vdir | |
wc | |
who | |
whoami | |
yes |
4. 대체제
유명한 대체제 중 하나는 BusyBox로, 무려 700KiB 언저리밖에 하지 않는 크기로 인해 임베디드 및 클라우드 시장에서 다소 무겁다고 느껴지는 coreutils에 비해 선호받는 편.# Alpine Linux의 경우 busybox를 기본적으로 내장한다.coreutils 패키지의 모든 툴들을 Rust로 재작성한 크로스 플랫폼 대체제 uutils가 존재한다.#
5. 기타
[1] coreutils 자체가 여러 존재하던 utils 패키지를 통합하며 시작된 것이라 최초 개발일이라 보기는 힘들다. 역사 문단 참고.[2]
cat
, chmod
, cmp
, cp
, dd
, dir
, du
, head
, ln
, ls
, mkdir
, mv
, rm
, rmdir
, tail
, vdir
[3] basename
, date
, dirname
, env
, expr
, groups
, id
, logname
, pathchk
, printenv
, printf
, sleep
, tee
, tty
, whoami
, yes
, nice
, nohup
, stty
, uname