대학교 시절에는 리눅스란 말을 듣고 지레 겁먹었던 기억이 난다. 

아무것도 모르는 것에 다가간다는것은 어려웠다 

이후에 리눅스를 자주 사용하며 개발이나 운영에 있어서 윈도보다 편하다는 느낌이 들기도 한다. 

리눅스에 대해서 알아보자 

 

 

1. 리눅스의 정의 

  • 컴퓨터의 운영체제 중 하나 - 리누스 토르발스가 처음 출시한 운영 체제 커널인 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영체제 계열 
  • 위의 말은 너무 어렵다 그냥 리누스 토르발스라는 사람이 처음 제작했구나 만 알면 된다 
  • 우리가 주로 사용하는 리눅스 운영체제로는 Ubuntu, CentOS, SuLinux, 등등이 있다. 
  • 여기서 위의 각각의 운영체제가 다 같은 리눅스라는 것인가? - 아니다 
  • 위에서 말한 Ubuntu, CentOS, SuLinux는 정확히 말하면 리눅스 배포판(Linux distribution)이다. 
  • 리눅스 배포판이 먼가? 말 그대로 리눅스에서 분산? 나눠진? 분리된? 운영체제들이다 
    리눅스 커널을 기반으로 동작하고 GNU 소프트웨어 및 여러 가지 자유 소프트웨어로 구성된 운영체제이다 
    GNU Software? - "그누"라고도 부르며 운영 체제의 하나이자 컴퓨터 소프트웨어의 모음집이다. 

2. 리눅스 배포판의 종류 

  • 리눅스 배포판 나무위키에 나와있는 리눅스의 발전과정이다. 
  • 보면 생각과 다르게 매우 엄청 많은 수의 운영체제, 갈래, 가지들이 있다. 
  • 대표적인 리눅스 배포판의 시조?는 데비안(Debian), 레드햇(Redhat), 안드로이드(Android) 가있다.
    MacOS는 UNIX이다
  • 그럼 다음 궁금증은 데비안에는 어떤게어떤 게 있고 레드햇에는 어떤 게 있냐일 것이다 
    또는 우분투는 어딧지? CentOS는 어딨지? 가 될 것이다. 
  • 그다음 궁금증은 데비안? 레드햇? 안드로이드가 어떻게 다르냐? 가 될 것이다 

3. 우분투와 CentOS는 어느 배포판에 속하나? 

  • 우분투는 데비안계열 배포판에서 가장 유명하다고 할 수 있다. 
  • 데비안 계열에서 들어봤을 법한 운영체제는 글쓴이 기준으로는 라즈베리파이OS와 우분투 밖에 없는 거 같다.
  • 레드햇 계열은 대표적으로 CentOS와 페도라가 있다. 
    CentOS는 무료 버전이라 많이 들어보았겠지만 페도라는 글쓴이도 사용해보지는 않았다. VirtualBox에서 가끔 아 저런 거도 있구나 라고 보기만 했던 기억이 있다. 

3. 데비안과 레드햇의 차이점 

  • 데비안과 레드햇은 기본적으로 몇 가지 명령어가 다르다 대표적으로 다른 명령어는 설치 - apt, yum, 패키지 - dpkg, rpm
  • yum, apt 
    처음 리눅스를 가지고 계발을 했을 때 가장 자주한 실수가 구글 검색에 "리눅스 XXX 설치"라고 검색한 것이다. 
    계속 우분투에서 YUM이 안된다고 YUM은 어떻게 설치하는지 알아봤던 기억이 있다. 물론 우분투에 yum을 설치할 수 있지만 저장소가 업데이트가 자동으로 되지 않아 가능하면 사용하지 않는 것이 좋은 거 같다 
  • dpkg, rpm ( RedHat Package Manager)
    윈도를 예로 들면 설치 exe파일이라고 생각하면 된다 위의 명령어를 통해 다운로드한 패키지 파일을 설치할 수 있다. 
    가끔 우분투에서 rpm확장자로 된 설치 파일을 실행해야 할 수도 있는데 그때는 Alien을 install 한 후 파일을 변환하기도 한다 
    확장자는 dpkg - .deb    rpm - .rpm이다 

4. 리눅스의 기본 명령어 

  • cd - change directory - 경로를 이동할 때 사용한다 
  • pwd - print working directory - 현재 디렉터리(폴더)의 경로를 출력한다 
  • ls - list - 디렉토리 내에 있는 파일 또는 폴더의 목록을 출력한다 
  • cp - copy - 파일 또는 디렉터리를 복사한다 
  • mv - move - 파일 또는 디렉터리를 이동한다 ( 복사 후 삭제를 함으로 cp보다 오래걸림, 이름 변경할 때도 사용함)
  • mkdir - make directory - 디렉토리를 생성한다 
  • rm - remove - 삭제 
  • cat - concatenate - 단순 파일의 내용을 출력할 때 또는 파일 여러 개를 합쳐서 하나의 파일로 만들 때 
  • find - find - 특정 파일이나 디렉터리 검색
  • ps - process - 실행 중인 프로세스 출력 \
  • kill - kill - 대상 하는 프로세스 중지 
  • service - 시스템 전체 서비스에 대한 명령 -서비스 재시작, 시작, 중지 등등 
  • shutdown - 시스템 종료
  • top -  시스템의 상태 확인 - 메모리, GPU, Process
  • wget - URL에서 파일 다운로드
  • grep - 정규식 터미널 명령 - 하나의 명령어에 부가적으로 사용해서 특정 파일들만 추출 
  • clear - 터미널 화면 출력 지우기 
  • echo - 터미널 콘솔 창에 특정 텍스트 출력 
  • sudo - 관리자 권한으로 실행 
  • chmod - 권한 변경 777, 666, .... 000 
  • tar - 압축파일 관련 압축해제, 압축하기
  • df - 디스크 확인 

'IT기초' 카테고리의 다른 글

(3) Process, Thread, Multi-thread, Multi-process  (0) 2022.11.09
(2) CPU Instruction Cycle  (0) 2022.11.09
[네트워크] 개발자용 네트워크 기초  (0) 2021.09.28

내가 주로 사용하는 Xshell 에 대하여 사용법을 정리하자 ! 

 

나는 주로 Xshell을 원격 클라우드나 Switch 설정등 외부 기기와 연결할 때 사용한다 

 

Xshell을 사용하면 좋은 점은 일단 

1. 창을 여러개 띄워서 여러 로그들을 같이 볼 수 있다. 

2. 각 창별 로그 저장도 간단하게 마우스 클릭으로 할 수 있다 ! 

3. Xshell을 키면 세션저장 목록이 왼쪽에 바로 나와 더블클릭으로 바로 연결 할 수 있는 외부기기에 접속할 수 있다

4. 일단 한국 기업 제품이라 글씨 크기를 바꾸거나 폰트를 변경할 때 편하다 ! 

 

이 글에서는 제품을 다운받고 연결설정과 글씨 크기 변경, 로그 기록을 해보겠다.

 

 

첫번째 인터넷에 Xshell을 검색한다 

 

xshell을 검색하면 가장 위에 나오는 Xshell 다운로드를 클릭한다 

다운로드 페이지로 이동하면 위 사진 처럼 정품사용자 30일 평가판을 다운받을 수 있다고 나온다 

하지만 학습용으로 사용할 것이기 때문에 평가판도 싫고 돈도 없다 ㅠㅠ. 

오른쪽에 보이는 "가정 및 학교 내 사용자를 위한 무료 라이선스" 탭에 무료 라이선스 페이지로 이동한다 

페이지를 이동하면 이름과 이메일을 적고 Xshell을 다운받을 것인지 Xftp도 다운받을것인지 선택할 수 있다. 

이름과 이메일을 입력한 후 나는 Xshell 만 이용할 것이기 떄문에 Xshell만을 선택한다 

여기서 이메일을 잘 써야한다 이메일로 다운로드 링크가 오기 떄문에 

 

입력한 이메일로 접속하여 메일을 확인해 보면 넷사랑에서 Xshell 다운로드 메일을 보냈다 

 

해당 메일에는 다운로드 링크와 링크 만료 날짜가 적혀있다 

가정/학교 무료 사용 버전도 상용 버전과 같은 기능을 제공해 준다고 한다 ! 매우 마음에 드는 회사이다 

페이스북 페이지에 좋아요를 눌러줘야겠다 

 

다운로드 링크를 클릭하고 다운을 완료한후 실행한다 

 

다운로드를 완료하고 실행을 해본다! 

위와 같은 창이 뜬다  

이제 새로 연결할 클라우드에 대한 접속 설정을 해보자 

왼쪽 상단에 위치하는 작은 아이콘을 누른다 

새 세션 등록 정보 창이 나온다 

이 창이 매우 중요하다 ! 

모든 설정을 세션별로 할 수 있다 

또 다른 Xshell의 장점? 이다 

일단 연결을 해보자 

이름 : 란은 해당 세션을 어떤 이름으로 할지이다 나는 Cloud - Server 라고 하겠다 

프로토콜 

란은 해당 세션과 연결할 프로토콜을 정한다 

1. Linux 같은 서버에 접속할 때는 주로 SSH 22번 포트를 이용하고 

2. LOCAL은 지금 내 컴퓨터를 말한다 로컬은 현재 나의 PC이기 때문에 다른 설정이 필요없이 바로 접속 되지만 나는 CMD를 이용하겠다 

3. 스위치 콘솔에 직접 접속하거나할 경우 SERIAL선을 연결한 뒤  SERIAL을 이용한다 

4. FTP, SFTP는 주로 파일질라 같은 다른 툴을 이용하여 접속한다 

5. RLOGIN 은 잘 사용하지 않는다 접속하려는 서버에도 연결에 관련된 설정을 해줘야하고 제한적이다

6. TELNET 은 예전에는 사용을 했지만 보안이 취약한 점이 있어 잘 사용하지 않는다 주로 23번 포트를 사용한다 

 

 

말이 길어졌다 ..... 일단 Linux 서버에 SSH 로 접속을 하자 

물론 SSH를 연결하기 위해서는 서버에 SSH 관련 설정을 해야하지만 AWS EC2의 경우 왠만하면 대부분의 이미지들이 SSH가 되어있다 

 

SSH설정이 되어있다고 가정을 하고 

호스트 부분에는 자신이 접속하고자 하는 원격지의 IP를 입력한다 

IPv6 연결이 되는지 궁금하긴 하다 

대부분의 PC, server, cloud 의 경우 IPv4를 사용하지만 

일반 스마트폰 LTE, 5G 의 경우 IPv4의 한정적인 수량때문에 IPv6를 사용하고 있다. 

 

어쨌든 위의 설정을 다 쓰고 연결을 눌러보자 ! 

 

연결을 클릭하면 해당 서버에 계정과 비밀번호를 입력해야한다 

내가 들어갈 계정은 root이다 

root 를 입력하고 다음을 누르면 비밀번호를 치게되고 접속이 완료된다 

 

만약 위와 같이 Connection failed 가 나온다면 

접속 설정을 다시 확인하고 설정이 완벽하다면 

접속하려는 서버에 방화벽이나 SSH 설정이 되어있는지, 

현재 PC의 방화벽이 외부로 보내는 신호를 막았는지 현재 PC의 방화벽도 체크해보길 바란다 

 

위와같이 연결이 되면 완벽하다! 

그런데 노트북 같은경우 화면이 작다보니 처음 접속시 글씨 크기가 너무 작다 

왼쪽 그림같이 설정한 세션에 마우스 우클릭으로 등록정보 에 들어간다 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

처음 접속설정을 하던 창이 나오면 

저~ 아래있는 "모양" 탭을 클릭한다 - 창, 하이라이트 말고 "모양"을 클릭해야한다 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

모양탭의 모양은 이렇게 생겼다 

딱 봐도 알겠지만 글꼴, 크기, 두껍게, 얇게 다 설정이 가능하고 글의 색과 커서의 색도 설정할 수 있다 ! 

이쁘게 꾸며보자 ! 

한글이 아주 궁서체이다 만족스럽다. 

 

다음 글에서는 Xshell에서 자주 사용하고 있는 Logging에 대해서 정리하겠다 

'infra > Tools' 카테고리의 다른 글

[git] 기초 설명과 사용법  (0) 2021.09.14
[Visual Studio Code] 1. VSC 원격 SSH 연결  (0) 2021.06.19
[Xshell] 2. Xshell 로깅 logging  (0) 2021.06.19

+ Recent posts