mjeongriver
article thumbnail
Published 2023. 3. 21. 10:42
day93-rinux TIL/Linux

1. 개발자가 알아야 하는 리눅스 명령문

1) 운영 체제(os란?)

- 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다.

- 우리가 주로 사용하는 운영체제는 window, mac os가 있다.

 

2) 개발자는 Linux를 알아야 하나요?

- 운영환경은 보통 linux 시스템을 사용하는 경우가 많다.

 

2. 리눅스 설치

- 리눅스 운영체제를 사용해보기 위해서는 운영체제 설치가 필요합니다.

- 우리 컴퓨터는 이미 window가 설치되어 있기 때문에 가상 머신을 활용해서 리눅스 운영체제를 설치해야 합니다.

- 가상머신 vmware 설치, 가상 머신에 리눅스 배포판 설치

 

1) 가상머신 vmware 설치

VMware workstation player다운

https://www.vmware.com/kr/products/workstation-player.html

 

VMware Workstation Player | VMware

VMware Workstation Player allows you to safely run a second, isolated operating system on a single PC. Learn more.

www.vmware.com

 

2) 가상 머신에 리눅스 배포판 설치 - 우분투 서버 ISO 이미지 파일 다운

 

 

- 2번째: Create a New Virtual Machine클릭

- 3번째: ISO 이미지에 우분투 이미지 파일 추가

- 4번째: 우분투 admin 계정 설정

- 5번째: 설치 위치는 그냥 그대로

- 6번째: 우분투 운영체제의 디스크 용량 설정(그대로)

- 7번째: 상세한 설정 가능

 

3) 우분투  설치 화면

- 운영체제 설치 화면, space로 선택하고 enter로 넘어가주면 됩니다.

 

- 로그인 화면

 

 

-  설치 완료

 

 

3. 리눅스 접속을 위한 SSH 서버 설치

터미널을 이용하여 명령문 내리기-터미널이란?

검은색 창이 리눅스 터미널 입니다.

 

쉘(shell)이란?

터미널에서 내려진 명령을 해석하는 도구 인터페이스(도구) 입니다.

  • sh(본쉘), bash 등이 있다.

1) 커널(kernel)이란?

운영체제와 하드웨어를 이어주는 핵심 기능 , 컴퓨터 시스템 자원들을 관리하는 역할

사용자가 명령 터미널을 통해 입력하면 쉘 이 명령을 받아 해석하고 커널 에 전달하면 커널 을 통해 하드웨어 조작을 하게 됩니다.

 

  • 리눅스는 관리자 계정 root계정이 존재합니다. (최고 관리자-모든 권한을 가지고 있음)
  • 리눅스를 사용하는 모든 사람들은 root가 관리자 라는 것을 알기 때문에 관리자 계정으로 바로 로그인하는 것이 아니라, 일반 계정으로 접속해서 관리자로 전환하여 사용한다.
  • 리눅스의 명령문들은 관리자 권한이 있어야 실행시킬 수 있는 명령이 있고, 누구든 사용할 수 있는 명령이 있습니다.

1] 관리자의 권한 sudo

- sudo는 관리자의 권한을 의미한다. 루트 권한으로 변경하게 되면 모든 권한을 얻게 됩니다. 관리자의 권한만 빌려쓰고 싶다면 sudo 를 앞에 붙입니다.

 

리부팅 명령 (관리자의 권한으로 실행함)

sudo reboot

root 계정의 전환 (관리자의 계정으로 전환 할 때는 관리자 권한이 필요합니다)

사용자 계정으로 전환

su 계정명

root 계정으로 전환

sudo su - root sudo su -

탈출

exit, q, ctrl+c

 

2] 출력문 실행하기 echo

- echo는 커널창의 출력을 명령합니다.

echo 출력문

echo hello world

전역 환경변수 확인하기

echo $PATH

  • 리눅스는 프로그램을 실행할 때 해당 환경 변수에 등록된 값을 우선적으로 찾아서 실행하게 됩니다.
  • 예를 들어 자바 컴파일러를 실행하고 싶다면 환경 변수에 등록이 되어 있어야 합니다.

3] 명령문의 매뉴얼 확인하기 man

  • 명령문을 실행할 때 하이픈( - ) 을 이용하여 옵션을 줄 수 있습니다.
  • 이런 옵션들의 확인은 man 명령문 을 이용해서 확인 가능합니다.
  • 이런 옵션들은 너무 다양하기 때문에 실제 man명령으로는 간단하게 확인하고 구글을 이용하는 편이 좋습니다.

man 명령문

 

2) 리눅스에 외부 접속 도구를 이용해서 연결해보기

  • VMware자체에서 제공하는 커널은 확대도 되지 않고, 매우 불편하기 때문에 외부 원격 접속으로 편하게 사용하려 합니다.
  • 보통 99.99% putty를 이용해서 접속합니다
  • putty를 사용해서 접속하려면 SSH에 대한 개념을 알아야 합니다.

SSH란? - Secure Shell Protocol

SSH는 Secure Shell Protocol의 줄임말로 보안이 강화된 서버 원격 접속 및 제어 도구입니다.

기존에 Telnet이라는 서비스를 이용해서 원격의 리눅스 서버에 접속했습니다.

텔넷의 단점: 텔넷의 단점은 데이터가 암호화 되지 않는 다는 점이었고, 패킷을 가로채는 패킷 스니핑에 대상이 되었습니다.

SSH를 이용한 암호화 통신

  • 서버와 클라이언트는 비스킷을 하나 쪼개서 서로 나누어 갖는다.
  • 원격 접속시 이 비스켓을 맞춰본다.
  • 조각이 맞으면 서로만의 비밀 통로을 만들어서 통신한다. (비대칭키 암호화)
  • 통로가 만들어 지면 똑같이 생긴 열쇠 두개를 나누어 갖는다. 클라이언트는 열쇠로 암호화 해서 데이터를 전송한다, 서버는 열쇠로 해석한다. (대칭키 암호화) - 밑에서 두번째 사진

 

 

1] 내부적으로 돌아가는 서비스들 확인하기

service service --status-all

2] apt를 사용해서 ssh서버 설치하기

  • 향상된 패키지 관리 도구 apt방식을 활용합니다. (5강에서 확인)
  • apt는 인터넷을 통해 원격에 저장된 패키지를 다운로드 받아서 설치해주는 향상된 패키지 관리 도구 입니다.
  • 패키지 관리 도구 업데이트

apt-get update

  • 패키지 찾기

apt search <패키지명>

  • 패키지 다운로드하기

apt-get install <패키지명>

실행

sudo apt-get update sudo apt-get search openssh sudo apt-get install openssh-server

3] 가상머신 리눅스의 아이피 확인하기

ip addr

4] putty를 설치하고 접속하기

https://www.putty.org/

HostName란에 접속방법

  • 계정명@아이피주소 (ssh 22번포트)

 

- 방향키로 기존에 작성했던 명령문 쓸 수 있음!

profile

mjeongriver

@mjeongriver

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그