본문 바로가기

컴퓨터공학기초 개념146

10. shell - 프로세스 관리 및 제어 1. process 제어 명령어 - foreground process를 사용하면, 어떤 프로그램을 수행하는 중에는 다른 작업을 할 수 없다. - 만약 다른 작업을 해야한다면, 프로세스를 아예 종료하거나 잠시 중단시킬 수는 있을까? a) control + z (커맨드 입력 방식은 환경에 따라 다를 수 있으니, 참고하기를 바랍니다.) - 컨트롤 + z는 foreground에서 실행중인 프로세스를 잠시 멈추는 커맨드다. - 앞에 있는 숫자 1을 Job이라고 한다. ▶ Job - background process의 작업번호 - 여기서 알 수 있는 것은 foreground process가 background process로 넘어갔다는 점이다. - 진행중이던 프로그램을 멈추기 위해, 그동안의 수행기록을 지우는 것이.. 2021. 9. 9.
9. shell - foreground & background 프로세스 1. 리눅스 프로세스 - 이번 포스팅에서는 리눅스에서 사용하는 프로세스에 대해서 알아보자. a) 프로세스와 바이너리 ▶ 바이너리 - 코드 이미지 또는 실행파일 - 저장매체에 보관되어있는 파일 ▶ 프로세스 - 실행중인 프로그램 (메모리에 올라간 프로그램) - 가상 메모리 및 물리 메모리 정보 (상태 정보, 실행 중일 때만 알 수 있는 정보, 대표적으로 PCB) - 시스템 리소스 정보 (사용중인 시스템 자원에 대한 정보) - 스케쥴링 단위 (프로그램을 실행시키는 단위) b) 리눅스는 다양한 프로세스의 실행 환경을 제공한다. ▶ 유닉스의 철학 - 여러 프로그램이 각자의 일을 하며 서로 유기적으로 동작하여 전체 시스템이 움직이는 모델 - 이처럼 리눅스(유닉스)는 다양한 프로세스를 기반으로 작동하기 때문에, 그만.. 2021. 9. 9.
8. shell - 리다이렉트와 파이프 1. Standard Stream - 리눅스의 표준 입출력을 말한다. - 리눅스에서는 command로 입력되어 실행되는 3가지 표준 입력스트림이 있다. a) stdin (Standard Input Stream) - 리눅스에서 사용하는 표준 입력스트림 - 기본적으로 터미널에서 입력을 받는 기능이다. b) stdout (Standard Output Stream) - 리눅스에서 사용하는 표준 출력 스트림 - 기본적으로 터미널 화면에 출력하는 기능이다. c) stderr (Standard Error Stream) - 리눅스에서 사용하는 표준 오류 출력 스트림 - 기본적으로 명령어를 틀리게 입력하는 등의 경우, 발생하는 에러를 터미널에 출력하는 기능이다. - 이처럼 모든 스트림은 기본적으로 console에 출력되.. 2021. 9. 7.
7. shell - 파일 권한 및 관리(2) 1. 파일 권한 및 관리를 위한 명령어 a) chmod - 파일 권한을 변경하는 명령어 - 파일 권한을 관리하다 보면, 필요에 의해 파일의 권한을 변경해야 할 때가 있다. - 이 때 사용할 수 있는 명령어가 chmod(change mode)이다. - chmod 명령은 다음과 같은 구조를 가진다. ▶ 더하기(+) 와 빼기(-)의 경우, 기존의 권한을 수정하는 방법이다. - 더하기(+): 기존 권한에 추가적으로 권한을 부여 - 빼기(-): 기존 권한에서 어떤 권한을 제거 ▶ 설정(=)은 기존 권한을 덮어쓰는 방식으로, 새롭게 권한을 설정 및 부여하는 방법이다. ▶ 특정 파일에 대한, 특정 사용자에 대한 권한을 변경하고 싶다면 다음과 같이 명령어를 작성할 수 있다. chmod g+rx test.c test.c.. 2021. 9. 7.
6. shell - 파일 권한 및 관리(1) 1. 권한 설정을 위한 기본 명령어 a) sudo 명령어 권한 설정하기 - sudo를 동반하여 사용하는 명령어는 운영체제의 시스템 설정을 건드린다는 의미다. - 그러므로 아무나 사용할 수 없고 함부로 사용해서도 안된다. - 이와 같은 이유로 sudo 명령어를 사용하기 위해서는 sudo 명령어 사용 권한이 있어야 한다. - sudo 명령어를 사용할 수 있는 사용자 관리 명부가 존재한다. - etc 디렉토리로 이동하여 다음과 같이 vi를 이용해 sudoers 파일을 열어준다. vi sudoers - 하지만 위의 사진과 같이 접근이 거부된 것을 확인할 수 있을 것이다. - sudoers 파일을 접근하기 위해서는 root권한이 필요하기 때문이다. - 그러므로 sudo 명령어를 함께 입력해준다. sudo vi s.. 2021. 9. 7.
5. shell - 다중 사용자 1. shell 이란? - shell은 사용자와 컴퓨터 하드웨어 또는 운영체제 사이의 interface다. - 사용자가 컴퓨터와 소통할 수 있도록 사용자가 입력한 명령어를 해석하여 커널에게 전달하는 역할을 한다. 2. shell의 종류 a) Bash(Born again shell) - GNU 프로젝트의 일환으로 개발된 shell - 리눅스의 기본(default) shell b) Korn shell - UNIX에서 가장 많이 쓰이는 shell - 이 외에 C - shell, Bourne - shell 등이 존재한다. - shell 마다 명령어의 형식이 조금씩 다르다. - 하지만 UNIX를 기반에 두고 있기에 어느정도 일맥상통한 부분이 존재한다. 3. Bash의 기본 명령어 - 다중 사용자 - 터미널을 이용.. 2021. 9. 6.
4. 리눅스의 기본구성 1. 리눅스와 파일 a) 모든것은 파일이다. - 리눅스는 모든 것은 파일이라는 철학을 따른다. - 컴퓨터에 존재하는 모든 인터렉션과 데이터는 파일처럼 읽고 쓰는 것으로 이루어져 있기 때문이다. - 마우스, 키보드와 같은 디바이스 또한 파일로 취급된다. b) 파일 네임스페이스 - A 드라이브(A:/), C 드라이브(C:/)를 사용하지 않고, - 루트 디렉토리(~ 또는 /)를 사용하는 전역 네임 스페이스를 사용한다. - 즉, 모든 데이터의 경로가 루트 디렉토리로부터 시작한다. c) 파일은 inode방식으로 관리된다. - 리눅스의 모든 파일은 inode 고유값과 자료구조에 의해 관리된다. 2. 리눅스와 프로세스 a) ELF(Executable and Linkable Format) - 리눅스는 ELF라는 실행파.. 2021. 9. 6.
3. AWS EC2 - IP생성 및 서버접속 1. Elastic IP(탄력적 IP) a) IP에 대한 기본적인 이해 - 인터넷에 접속하기 위해서는 반드시 IP주소가 필요하다. - 서버는 Host로서 고정적인 IP주소가 할당된다. - 클라이언트는 인터넷에 접속할 때마다 다른 IP를 할당받게 된다. 이를 동적 IP라고 한다. b) 동적 IP를 사용하는 이유 - 동적 IP를 할당하는 이유는 모든 컴퓨터에게 고유한 IP를 부여하기에는 IP주소가 부족하기 때문이다. - 현재는 우리는 IPv4를 사용하는데, 이는 128.12.10.1과 같이 4자리로 구분된 IP주소 형식을 말한다. - 4자리로 표현되는 IP주소로 전세계의 모든 컴퓨터에게 고유번호를 제공하기에는 턱없이 부족하다. c) Elastic IP란? - AWS의 EC2 서비스를 통해 생성한 서버 인스턴.. 2021. 9. 3.
2. AWS EC2 - 인스턴스(서버) 생성하기 1. 설치하기에 앞서 - VM을 이용하는 우분투 설치는 컴퓨터의 환경에 따라 다양한 error가 발생할 수 있다. - 이러한 단점을 극복하는 가장 쉬운 방법은 클라우드 컴퓨팅을 사용하는 것이다. - AWS를 이용하여 리눅스를 설치하고, 실습을 통해 리눅스에 대해서 배워볼 예정이다. - AWS를 사용하므로 리눅스도 배우고, 현업에서 사용하는 최신기술에도 익숙해 질 수 있다는 장점이 있다. - 특히, 어떤 환경에서도 문제없이 사용이 가능하다는 것이 핵심 장점이다. * AWS는 1년간 무료로 사용할 수 있습니다. * 리눅스 공부를 위해서 AWS를 사용한다면, 공부가 끝난 후 계정을 닫으면 됩니다. 2. 클라우드 컴퓨팅 간단히 이해하기 - 클라우드 컴퓨팅은 자동화 서비스로, 서버 환경을 바로 구축하여 사용할 수.. 2021. 9. 3.