클라우드 쪽을 공부하다보면 느끼는 것 중 하나는 aws, gcp, azure 같은 기술들보다 linux같은 기본기를 공부해야겠다는 생각이 계속든다. 엄청 어려운 것 같은 플랫폼 엔지니어링 기술들도 내부를 파고들면, 그냥 linux command를 go에서 실행하고 있거
shell은 command를 실행시키는 하나의 program으로 window의 terminal과 비슷하다. shell이 실행하는 command는 일종의 program이 될 수 있으며, shell에서 기본적으로 제공하는 built-in feature들도 있다. 대부분의
유닉스 시스템에서 대부분의 장치를 쉽게 다룰 수 있는 이유는 커널이 많은 장치 I/O 인터페이스를 사용자 프로세스에 파일 형태로 제공하기 때문이다. 이러한 장치 파일을 장치 노드(device nodes)라고 부르기도 한다.일부 장치는 cat 같은 표준 프로그램을 통해
이제 disk와 linux system이 어떻게 같이 동작하는 지 자세히 알아보도록 하자.알는 간단한 linux disk에 대한 그림이다. partitions들은 전체 disk에 대한 subdivision들로 전체 block device를 나눈 숫자를 의미한다. 따라서
이전 포스트에서는 디스크를 직접 관리하고 사용하는 방법을 살펴보았다. 즉, 파티션을 통해 저장 장치의 특정 위치를 지정하여 데이터를 저장하는 방식이다. 예를 들어, /dev/sda1과 같은 블록 장치에 접근하면, 이는 /dev/sda의 파티션 테이블에 따라 특정 장치의
linux network layer에 대해서 알아보기 전에 간단한 network 구성을 살펴보도록 하자.위의 그림과 같이 host들은 LAN(local area network)라는 network에 연결되어있는데, LAN이라는 것은 어떠한 구체적인 정의는 없고 다음과 같