-
안녕하세요 공상 개발입니다.
오늘은 리눅스 시스템의 기본 개념에 대해 알아보는 시간을 가지도록 하겠습니다.
1. 리눅스 개요
2. 터미널 사용 방법
3. 명령 실행
4. 리눅스 시스템의 사용자
# 리눅스 개요 CPU는 두 가지 동작 모드로 동작합니다.
바로 커널 모드와 사용자 모드입니다.
커널 프로그램은 CPU의 커널 모드에서 실행되고, 사용자 프로그램은 사용자 모드에서 실행됩니다.
아래의 이미지를 보시면
응용 프로그램은 System call 인터페이스를 통해서 운영체제 커널에게 서비스를 요청하고 서비스를 받습니다.
리눅스 운영체제의 프로세스와 파일의 기본 개념에 대해 알아보겠습니다.
프로세스 파일
1. 프로세스는 시스템 내의 동적인 요소이다.
2. 실행되고 있는 프로그램이며, 프로그램을 실행하는 주체.
3. 다중 프로세스 시스템 내에서는 여러 프로세스가 동시 존 재한다.
4. 프로세스는 프로그램을 실행하면서 필요한 자원들을
운영체제에게 요구하여 할당받아 사용한다.
5. 사용이 완료되면 운영체제에게 반환한다.1. 시스템 내의 모든 정적인 요소는 파일로 정의한다.
2. 리눅스는 시스템 내의 모든 정적인 요소들을 일관성 있게 관리하기 위해 파일이라는 개념을 사용한다.
3. 정규 파일 : 프로그램, 자료를 저장하는 있는 일반 파일
4. 디렉토리 파일 : 파일의 계층 구조를 만들어주기 위한 파일
5. 장치 파일 : HW 장치를 지칭하기 위한 파일
# 터미널 사용 방법 터미널은 텍스트 형태의 명령을 실행하기 위한 창으로 쉘이 실행됩니다.
아래의 이미지를 보시죠.
쉘은 키보드로부터 명령을 입력받아 실행시켜 주는 사용자 인터페이스 프로그램입니다.
리눅스의 파일 이름은 대문자와 소문자를 구분하므로 명령 이름도 대문자와 소문자를 구분해서 사용하셔야 합니다.
대표적인 터미널 제어 문자를 보겠습니다.
특수문자 이름 키 기능 intr ^c 실행중인 프로세스를 중지시킴 quit ^\ 실행중인 프로세스를 중지시킴 (core 파일 생성) erase ^h 마지막 한 글자 삭제 (backspace) kill ^u 한 줄 전체 삭제 werase ^w 마지막 한 단어 삭제 eof ^d 파일의 끝 (더 이상 입력 자료가 없음) susp ^z 프로세스의 중단 어떻게 사용하는지 잘 모르겠죠?
예를 들어 우리가 터미널 창안에서 명령을 입력하다가 지우고 싶으면 backspace를 누릅니다.
이때, backspace를 눌러도 되고 ^h를 입력해도 됩니다.
위의 기능을 보면 backspace의 기능과 동일한 점을 볼 수 있습니다.
이해를 돕기 위해 아래의 이미지를 보겠습니다.
ex) ls를 입력해야 되는데 la를 입력했다.
이럴 때 터미널 제어 문자인 ^h를 사용합니다.
# 명령 실행 명령 라인의 형식을 보면,
명령, 옵션, 인수 순으로 입력된 것을 볼 수 있습니다.
명령 이름 옵션 인수 실행할 파일의 이름 명령 실행 방법, 실행 결과의 표현 형식 지정
보통 '-' 문자 다음에 하나의 문자로 구성명령 실행을 위해 필요한 부가적인 정보 많이 사용하는 명령어
명령 기능 ls 파일이나 디렉토리 이름들을 나열한다. pwd 현재 작업 디렉토리 이름을 보여준다. cd 작업 디렉토리를 이동한다. more 파일 내용을 한 화면 단위로 보여준다. rm 파일을 삭제한다.
# 리눅스 시스템의 사용자 사용자 계정 - 리눅스 시스템의 사용자는 로그인 이름과 아이디를 가진다.
- 사용자의 계정 정보는 /etc/passwd 파일에 기록되어 있다.
- 시스템에 사용자를 등록할 때에 이 파일에 로그인 이름과 아이디가 기록된다.
- 로그인 이름은 시스템에 로그인 할 때에 사용되는 이름으로 문자열로 표시되고, 아이디는 숫자로 표시된다.
- 로그인 할 때에는 로그인 이름으로 하지만 파일의 주인이나 프로세스를 실행시킨 사용자는 사용자의 아이디로 식별된다.
- 로그인 이름과 아이디의 매핑은 /etc/passwd 파일을 통해 이루어진다
아래의 이미지는 /etc/passwd 파일의 예시입니다.
예시를 보니까 머리 아픕니다.시스템 관리자 사용자 그룹 - 리눅스 시스템 관리자의 로그인 이름은 root이고, 아이디는 0 이다.
- 관리자 root는 시스템에 대한 모든 권한을 행사할 수 있다.
- 관리자의 로그인 이름은 다른 것으로 변경할 수 있지만 아이디는 변경할 수 없다
- 리눅스 시스템의 사용자들은 그룹을 형성한다.
- 그룹은 공동의 작업을 수행하는 사용자의 집단에 동일한 시스템 사용 권한을 부여하기 위해 만든 개념이다.
- 그룹은 그룹 아이디로 식별되며, 그룹 이름도 가진다.
- 그룹에 대한 정보는 /etc/group 파일에 저장되어 있다.
프로세스 관점에서 본 사용자 파일 관점에서 본 사용자 - 프로세스의 사용자는 그 프로세스를 실행한 사용자를 말한다.
- 한 프로세스가 다른 프로세스를 생성하면 새로 생성된 프로세스는 자신을 생성한 사용자와 같은 사용자 아이디를 가진다.
- 프로세스는 같은 사용자 아이디를 가진 프로세스에게 신호를 보내거나 프로세스를 종료시킬 수 있다.
- 관리자 아이디로 실행되는 프로세스는 자신의 사용자 아이디를 다른 사용자로 변경할 수 있지만, 일반 사용자 아이디로 실행되는 프로세스는 자신의 사용자 아이디를 다른 사용자 아이디로 변경할 수 없다.
- 파일은 사용자가 소유하는데, 파일을 소유한 사용자를 그 파일의 소유자 혹은 사용자(owner 혹은 user)이라 한다.
- 처음에 파일을 생성한 사용자가 파일의 최초의 소유자가 된다.
- chown 명령으로 소유권을 변경할 수 있는데, 이 명령은 관리자만 사용할 수 있다.
작성된 내용 중 잘못된 정보나 접근이 있을 시, www.instagram.com/hong_.98/을 통해 말씀해 주시기 바랍니다.
좋은 하루 보내세요.
'Computer Science > Linux' 카테고리의 다른 글
쉘 프로그래밍 명령어 모음 2 (0) 2021.05.11 쉘 프로그래밍 명령어 모음 1 (0) 2021.05.04 리눅스 - 쉘 (Vol.1) (0) 2021.04.13 리눅스 - 프로세스와 파일 (Vol.1) (0) 2021.03.24 리눅스 시스템 설치 - VMWare, 우분투 데스크탑, 우분투 서버 설치 (0) 2021.03.05 댓글
- 리눅스 시스템의 사용자는 로그인 이름과 아이디를 가진다.