본문 바로가기

Red Hat Linux

Linux Shell과 명령어 - Red Hat Enterprise Linux Technical Overview (1)

 

 

 

Linux의 높은 사용성

대부분의 Device들은 Linux로 구동되고 있다. 전화기, TV, 네트워킹 장치,  POS 시스템, 게임 콘솔 등 Linux 위에서 구동되고 있다고 보면 된다. 클라우드도 결국 Linux 시스템일뿐이다. 개발자는 코드를 테스트하고 최종적으로 앱을 실행시키기 위한 환경이 필요한데, 컨테이너가 이러한 환경 구축을 간소화 시켜주며, 이 또한 Linux이다. 따라서 Containerization이나 Automation에 관심이 있는 시스템 관리자라면 Linux를 배워야 한다.

 

 

Linux가 유지되고 발전하는 방법

Linux는 오픈소스 소프트웨어이다. 오픈소스 소프트웨어가 자원봉사자들에 의해 유지 및 관리된다고 생각하는 사람이 많지만, 오픈소스 소프트웨어에 기여하기 위해서 개발자를 고용하는 회사들이 많이 있고, RedHat도 그 중 하나이다. RedHat은 Linux 기반 운영 체제인 Fedora라는 커뮤니티 프로젝트를 후원하고 기여한다. 이를 기반으로 RedHat은 Red Hat Enterprise Linux라는 자체 유료 소프트웨어 구독권도 판매한다.

 

 

Linux Kernel

보통 Linux라고 하면 Linux Kernel을 말하는데, 이는 운영체제의 핵심 컴포넌트로서 리소스 할당, 파일 관리, 보안을 담당한다. Linux 배포판(Linux Distributions)은 Linux Kernel과 기타 여러 구성 요소(부트로더, 애플리케이션 라이브러리, 패키지 관리자, 유틸리티 및 애플리케이션, GUI 등)를 함께 사용하는 운영체제이다. 

 

 

Linux Shell

Linux ShellOS의 인터페이스이자 명령어를 수행할 수 있는 작업 환경이다. Red Hat Enterprise Linux는 디폴트로 Bash Shell을 사용한다. 일반 유저로 로그인하면 프롬프트에서 달러 사인($)을 볼 수 있다. 해쉬(#)관리자로 로그인 했다는 표시이다. Linux에서는 관리자 유저를 root라고 부른다. document를 읽을 때 명령어가 $로 시작하는지 #로 시작하는지에 따라 어떤 유저로 로그인해서 수행해야 하는지 알 수 있다. 

 

 

Linux 명령어의 구성

명령어는 명령어가 수행되는 방식을 결정하는 옵션과 명령어가 수행될 대상에 해당하는 argument와 함께 사용된다. 

 

 

Manual Pages

 

각 명령어는 명령어에 대한 자세한 설명을 볼 수 있는 Manual Page를 가지고 있는데, Manual Page는 Name, Synopsis, Description로 이루어져있다. Synopsis는 명령어의 Syntax를 나타낸다. Description에는 사용 가능한 옵션들과 그 의미들이 써있다.  `man 명령어`를 수행하면 해당 명령어의 Manual Page를 볼 수 있다. 

 

옵션 abbreviation

대쉬 하나는 해당 옵션의 abbreviation이다.  즉, `-a, --all`이라고 써있으면 `-a`가 `--all`옵션의 축약이다. abbreviation들은 대쉬 하나로 묶어서 사용 가능하다. 즉, `ls -all`은 `ls -a -l`과 동일하며, `ls --all`과 `ls -all`은 엄연히 다른 명령어임을 주의해야한다.

 

 

Linux 명령어 Synopsis 읽는 법

  1. 대괄호 안에 써 있는 것들은 optional하다.
  2. 말줄임표는 해당 객체를 여러 번 사용할 수 있다.
  3. 대괄호 안에 버티컬 바로 나누어진 옵션들끼리는 한 번에 하나씩만 사용가능하다.

 

 

Synopsis 읽는 법 예시

# ls 명령어는 옵션이나 대상 객체 없이도 사용할 수 있지만, 옵션이나 argument를 줄 때는 여러 개를 줄 수 있다.
ls [OPTION]... [FILE]...

# crontab의 옵션 -l, -r, -e는 한 번에 하나씩만 사용할 수 있다.
# crontab 뒤의 모든 것들이 optional하므로, crontab은 아무 옵션 없이 단독으로 수행 가능하다.
crontab [-u user] [-l | -r | -e] [-i] [-s]

 

 

 

 


 

본 포스트 시리즈는  RH024 Red Hat Enterprise Linux Technical Overview 」 강좌를 요약한 내용입니다.