tar는 테이프 관련 장치를 이용해서 백업할 때 사용하는 명령어입니다
현재는 여러 파일들을 하나의 파일로 묶어주는 명령으로 사용합니다
파일로 묶을 때 디렉토리를 지정하면 그 디렉토리의 모든 파일과 서브 디렉토리들이 함께 묶여집니다
또한 파일의 속성, 하드링크, 심볼릭 링크등도 보존됩니다
리눅스에서 사용되는 GNU tar는 옵션을 이용해서 파일로 묶거나 풀 때 압축관련 작업을 동시에 진행할 수 있습니다
지원되는 압축 형식에는 compress(tar.Z), gzip(tar.gz), bzip2(tar.bz2), xz(tar.xz)등이 있습니다
tar [option] [파일명]
리눅스에서는 압축률이 낮아 현재는 잘 쓰이지 않습니다
compress는 압축 명령으로 지정한 파일명 뒤에 .Z가 붙고, uncompress는 압축 해제 명령입니다
레드햇 계열 리눅스는 ncompress 패키지를 설치하면 사용할 수 있습니다
compress [option] 파일명
uncompress [option] 파일명
gzip(GNU zip)은 GNU에서 만든 압축 프로그램으로 유닉스용 압축 프로그램인 compress를 대체하기 위해 만들어졌습니다
gzip으로 압축하면 파일명 뒤에 .gz가 붙고, 압축 해제는 gunzip명령을 사용합니다
gzip [option] 파일명
gunzip [option] 파일명
bzip2는 버로우즈-휠러 변환이라는 블록 정렬 알고리즘과 허프만 부호화를 사용해서 만든 압축 프로그램입니다
gzip보다 압축률은 좋지만 압축시간이 더 걸립니다
bzip2로 압축하면 파일명 뒤에 .bz2가 붙고, 압축 해제는 bunzip2명령을 사용합니다
bzip2 [option] 파일명
xz는 LZMA2라는 알고리즘을 이용해 만든 데이터 무손실 압축프로그램입니다
gzip및 bzip2와 비교하여 매우 높은 압축률을 자랑합니다
높은 압축률로 인해 최근 공개용 소프트웨어 사이트에서 이 압축 포맷을 사용해서 파일을 배포하고 있습니다
xz로 압축하면 .xz가 붙고, 압축 해제는 unxz 명령을 사용합니다
xz [option] 사용법
unxz [option] 사용법
zip은 DOS/Windows 계열 운영체제에서 많이 사용하던 압축 프로그램으로
리눅스에서도 zip이라는 명령으로 사용가능합니다
zip 명령으로 압축하면 파일명 뒤에 .zip이 붙고, 압축해제는 unzip명령을 사용합니다
zip [option] 압축파일명 파일명
unzip 압축파일명
gcc는 GNU 프로젝트에 의해 만들어진 컴파일러 모음으로 다양한 프로그래밍 언어를 지원합니다
리눅스 기반에서 가장 쉽게 사용할 수 있는 c 컴파일러 도구로
C언어로 작성할 파일을 gcc 컴파일하면 a.out이라는 실행 파일이 생성됩니다
a.out을 실행할 때 이 파일이 환경변수 PATH에 등록된 디렉토리에 위치하지 않으면,
./a.out 형태로 실행시켜야 합니다
gcc [option] 파일명
리눅스에 사용되는 make는 GNU 프로젝트에 의해 만들어진 프로그램으로 컴파일을 자동화해주는 도구입니다
프로그램 소스 파일에서 프로그램 실행 파일 및 기타 non-source 파일의 생성을 제어해줍니다
make는 Makefile에서 관련 정보를 가져오는데, 이 파일에는 비소스 파일을 나열하고
다른 파일을 참고하는 방법에 대한 정보가 기재되어 있습니다
make는 이 파일의 정보를 토대로 빌드 합니다
make [option]
Makefile의 기본 규칙은 맨 왼쪽에 목표 파일을 지정하고 콜론으로 구분한 후에 의존성있는 파일들을 나열합니다
의존성 있는 파일들은 목표파일의 생성에 관계되는 모든 파일들을 의미합니다