리눅스에 대한 다양한 관점이 있겠지만, 오늘은 소스코드을 구성하고 있는 파일들에 대해 알아본다.
파일의 종류를 파일접미사로 표현하는 것이 일반적이다.
ext.sh(첨부파일)은 파일패스를 인자로 주면 파일접미사를 출력하는 bash-script이다.
예를 들면,
      $ ext.sh /a/b/c/file.c
      $ c


ext.sh와 리눅스명령어 find를 사용해서 리눅스를 구성하고 있는 파일들에 대해 알아본다.
우선 바로 떠오르는 파일들, C소스파일, Makefile, ... 을 삭제힌다.
      $ find . -name '*.[ch]' -exec rm {} \;
      $ find . -name '*.cpp' -exec rm {} \;
      $ find . -name '.gitignore' -exec rm {} \;


리눅스는 Kconfig파일이라는 독창적이고 유니크한 구성관리를 한다. 이는 사용자가 커널을 구성하는 다양한 옵션을 선택하게끔 해준며,
Makefile을 사용하는 빌드시스템의 입력파일을 제공한다. 삭제해보자.
      $ find . -name 'Kconfig' -exec rm {} \;


그리고 구성관리와 관련된 Kconfig이외에 Kconfig와 관련된 파일들은 다음과 같다.

linux_files_1.png


Makefile파일은 리눅스의 빌드시스템을 구성한다.

linux_files_2.png



그리고 나머지파일은 어떤것이 있는 지 보면 다음과 같다.

linux_files_3.png