GNU(Gnu is not Unix) 프로젝트 일환인 리눅스가 무엇인지에 대해 알아보고 자주 사용할 기초 명령어에 대해 알아보고 직접 사용해 보자.
리눅스에서는 시스템 내의 모든 정적인 요소를 파일로 취급한다. 리눅스에서 다루는 디렉토리와 파일의 개념과 shell을 통해 리눅스 터미널 환경을 활용하자. 그리고 가장 기본이되는 "소유권과 권한"에 대해 알아보자.
기본적으로 사용도가 높은 linux cli를 확인하고, 정규 표현식(regex)을 활용하여 리눅스 명령어를 조금 더 고차원적으로 사용해 보자. cli는 `grep, >, >>, pipe, mount` 에 대해 더 자세하게 살펴포자.
리눅스의 프로세스(process) 는 컴퓨터 내에서 프로그램을 실행하는 주체가 된다. 프로세스의 기본적인 관리법과 job control에 대해 체크하고 automatic tasks 등 리눅스를 더 고차원적으로 활용할 수 있는 방법을 알아보자.
리눅스 서버의 사양(스펙)과 상태가 어떻게 되는지 파악해 보자. 그리고 상태가 어떤 의미를 가지는지, 또 로그에 대해서는 어떻게 접근해야할지 알아보자. "리눅스 서버 상태 알아보기"
FTP, FTPS, SFTP, SSH 짚고 넘어가기. 깊은 이해를 위해서는 네트워크 프로토콜 / TCP,IP / 암호화의 기본 지식이 필요하다.
소프트웨어 유틸리티 cron은 유닉스 계열 컴퓨터 운영 체제의 시간 기반 잡 스케줄러이다. 소프트웨어 환경을 설정하고 관리하는 사람들은 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하기 위해 cron을 사용한다.
네트워크 보안의 초석, 방화벽에 대한 기본적인 개념과 기본적인 종류를 살펴보자.
Linux 커널의 내부의 네트워크 스택 관련 프레임 워크 `Netfilter`가 존재한다. 네트워크 패킷의 흐름을 관리하고 패킷 필터링 규칙을 통해 네트워크 트래픽을 허용하거나 차단하는 역할이 핵심이다. 이를 이용하는 `iptables` 에 자세히 알아보자!
application layer, network layer 등의 다양한 형태의 네트워크 벽이 있다. 단순하게 타겟 서버로 네트워크 연결이 되는지, 서버 블랙리스트로 되어있진 않은지 등을 체크하기 위해 사용하는 명령어들을 체크해보자!
이름의 유래는 맥스웰의 도깨비에서 따왔다고 한다, "맥스웰의 사고 실험 - 열역학 제2법칙은 같은 온도를 갖는 두 물체가 자발적으로 서로 온도가 달라지는 것" 의 실험 설명에서 작은 '도깨비' 가 방문을 지킨다고 하는데, 눈에 보이지 않는데 열심히 일을 하는 모습
Linux OS의 log는 커널, 서비스, 애플리케이션 등 시스템에 발생한 이벤트를 분류하여 기록한 파일이다. 크게 syslog, journal 2가지로 나뉘며 시스템 이슈 트레킹, 모니터링 등에 중요한 지표가 된다.
linux cli에 익숙해지기 위해서는 기본 shell 자체에 익숙해질 필요가 있다. 커널과 사용자(application)간의 다리역할을 하는 shell의 기본적인 문법을 살펴보자.
script를 실행하는 shell의 선언된 환경 변수, 해당 command를 실행하기 위한 path의 설정 값, 그리고 user 의 권한, 심지어 os버전에 따른 shell 버전 등 에 영향을 받는다.
개발을 하면서 무엇인가를 "설치" 할 때 apt(ubuntu), pip(python), npm(node), yam(centos) ... 등의 명령어(cli)를 사용한 경험이 있다. 이는 모두 "패키지" 라는 것을 "설치" 할 때 사용하는데 왜 필요할까?
필자가 사주 사용하는 명령어를 정리하는 공간이다. 설명 전혀 없이, 코멘트와 명령어만 붙여넣을 예정이며, 지속적으로 update가 될 것 이다. option이 길어 깜빡하거나, 간헐적으로 사용하여 손에 익지 않은 명령어가 주로 이룰 것이다.