본문 바로가기

프로그래밍/linux

Linux 기본 - /bin 과 /boot 디렉토리의 이해

/bin

/bin 계층에서는 시스템 관리자와 사용자 둘 다 사용하는 명령어를 포함하지만, 마운트된 파일시스템이 없는 경우(단일 사용자 모드)를 필요로 합니다. 또한 스크립트에 의해서 간접적으로 실행되는 명령어도 포함한다.

 

Requirements

/bin 계층에는 절대로 하위 디렉토리가 존재해서는 안된다.

오로지 명령어와, symbolic link로 연결되어 있는 명령어만 존재할 수 있다. 상당히 많은 명령어가 존재하지만 일반적으로 많이 쓰이는 몇 가지 명령어만 나열해본다.

 

cat 파일 내부를 출력한다.
chmod 파일의 접근 권한을 변경한다.
chown 파일 소유자와 그룹을 변경한다.
sh command shell을 실행한다.
su 사용자 ID를 변경한다.
chgrp 파일 그룹의 권한을 변경한다.
rmdir 디렉토리를 삭제한다.

/bin/sh 가 Bourne shell 이 아닌 경우, 실제 명령어의 hard link 이거나 symbolic link 여야만 한다.

실제로 /bin 계층을 들어가 보면  [  와  test  를 볼 수 있는데, 이 두 명령어는  /bin  이나 /usr/bin  둘 중 한 곳에 같이 존재해야한다.

예를들어, bash 는 sh로 호출될 때와 bash 호출할 때 각각 다르게 작동한다. 또한 symbolic link를 사용하면 sh 가 진짜 Bourne shell 이 아닌 것을 쉽게 확인할 수 있다.

몇몇 시스템들이 설치된 경우 해당 프로그램에 대한 symbolic link는 /bin에 설치되어야한다.

gzip GNU 압축 유틸리티이다.
gunzip GNU 압축해제 유틸리티이다.
netstat 네트워크 상태 유틸리티이다.
zcat GNU 압축 파일 출력 유틸리티이다.

만약 시스템에 gunzip 과 zcat 프로그램이 존재한다면, gzip에 hard link 되거나 symbolic link 되어야한다.

 

 

/boot: bootloader의 정적 파일들

이 디렉토리에는 부팅 시 필요하지 않은 설정파일과 설치 파일들을 제외하고 부팅에 필요한 모든 것이 포함되어 있다. 그러므로 /boot 는 프로그램이 실행되기 전에 사용되는 데이터를 저장한다. 

'프로그래밍 > linux' 카테고리의 다른 글

Linux 기본 - /var 디렉토리의 이해  (0) 2019.07.21
Linux 기본 - /usr 디렉토리의 이해  (0) 2019.06.18