리눅스는 유닉스 기반의 오픈소스 운영체제 입니다.
그리고 여러 사용자가 들어와 사용하는 멀티 유저 시스템입니다.
리눅스는 크게 3가지로 구성되어 있습니다.
커널
셸
셸은 명령어와 프로그램을 실행할 때 사용하는 인터페이스입니다.
커널과 사용자간의 다리 역할을 하는 하나의 프로그램입니다.
즉, 사용자가 echo
같은 명령어를 수행하면 이를 커널에 넘겨 동작을 수행하게 합니다.
응용 프로그램
응용 프로그램은 리눅스의 개발 도구, 문서 편집 도구, 네트워크 관련 도구 등을 뜻합니다.
출처: https://andrew0409.tistory.com/11
일반 파일 (-)
디렉토리 (d)
리눅스에서 리렉토리도 파일로 구분됩니다. (키보드나 마우스 같은 장치들도 파일로 구분됨)
링크 파일 (l)
특수 파일
리눅스는 전체 파일을 용도에 따라 계층 적으로 구분하여 관리합니다.
그리고 이것을 파일 시스템이라고 합니다.
출처: https://it-serial.tistory.com/19
주요 디렉토리 기능들
등 이외에도 많은 디렉토리가 존재합니다.
리눅스는 멀티 유저 시스템이기 때문에 유저 마다 권한이 각각 다릅니다.
보안 상의 문제로 일반 유저가 비밀 자료 등을 조회 및 수정하는 것을 방지하기 위해서 입니다.
-rwxrwxrwx root root 4096 Jul 20 22:10 boostcamp
위와 같은 파일이 있을 때 rwx는 권한을 나타냅니다.
각각은 read, write, execution 을 뜻합니다.
그리고 rwx가 총 3가지 있는 데, 이는 각각 소유자, 소유자가 속한 그룹, 그 외 사용자를 뜻합니다.
즉 위의 경우는 모든 사용자가 수정, 조회, 실행이 가능합니다.
반면에 아래의 경우는 소유자만 수정, 조회, 실행이 가능합니다.
-rwx------ root root 4096 Jul 20 22:10 boostcamp
추가적으로 뒤의 root 와 root는 각각 소유자와 소유자 그룹을 의미합니다.
추가적인 옵션 : https://gomguard.tistory.com/73
우선 스크립트란 인터프러터 방식으로 컴파일 되지 않은 프로그램이다.
즉 한 라인 씩 읽어 해석하고 실행한다.
그리고 셸은 앞서 말한 스크립트를 실행해주는 인터프리터 엔진인 셈이다.
따라서 셸 스크립트는 셸 환경에서 동작하는 스크립트라고 할 수 있다.
서버 상태 감시
서버의 상태를 확인 할 때 가장 기본적으로 Ping 을 이용한다.
만약 여러대의 서버를 확인해야하는 경우 각각 확인하는 것은 번거롭다.
따라서 스크립트를 이용하면 더욱 빠르게 점검할 수 있다.
점검 결과를 메일로 보고
점검 결과를 관리자의 메일로 전송해준다면 관리자는 시스템을 더욱 편리하게 관리할 수 있게된다.
이 또한 쉘 스크립트를 이용하여 활용할 수 있다.
디스크 상태 및 파일 시스템 점검
주요 파일 권한 점검
출처: 2013 마이크로소프트웨어 9월호
등등 다양한 사례가 존재한다.
맥 환경에서는 보통 zsh셸을 주로 사용한다. 그리고 oh-my-zsh를 이용해 더 많은 기능을 추가할 수 있다.
oh-my-zsh는 zsh를 더욱 편리하게 이용하게 해주는 일종의 플러그인이다.
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
출처:[https://beomi.github.io/2017/07/07/Beautify-ZSH/](