Gom3rye

Linux 본문

현대 오토에버 클라우드 스쿨

Linux

Gom3rye 2025. 5. 20. 10:55

Virtual Box에서 가상 머신이 인터넷을 하기 위한 설정

  • NAT 설정을 해줘야 한다.(NAT: IP를 변경해서 외부와 통신하는 기술)

SSH 접속을 위한 설정

SSH: Secure Shell의 약자로 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜

  • 예전에는 telnet을 이용했는데 telnet은 보안성이 떨어져서 지금은 거의 대부분 SSH를 이용

ssh 설치

**sudo apt update   #**(기존에 설치된 패키지 업데이트)
**sudo apt install openssh-server**

ssh 서비스 실행 후 상태 확인

**sudo systemctl start ssh
sudo systemctl status ssh**

방화벽에서 ssh를 외부에서 사용할 수 있도록 개방

**sudo ufw allow ssh**

설정

  • 리눅스에서 hostname -I 명령을 이용해서 IP를 확인: 10.0.2.15
  • 윈도우에서 실제 IP를 확인: ipconfig (IPv4 주소 . . . . . . . . . : 192.168.56.1)
**hostname -I #로 가상 머신 ip 확인
ipconfig    #로 내 컴퓨터 실제 ip 확인**

종료

**shutdown**

예약

**shutdown -P +시간**: 시간 분 후에 종료
**shutdown -r 시간**: 시간에 종료
**shutdown -c**: 예약한 shutdown 취소
**shutdown -k +분**: 분 후에 접속한 사용자들에게 종료된다는 메시지를 전송하지만 실제 종료는 안 됨

재부팅

**reboot #Virtual Box에서 해야 함 -> 이 명령 후 cmd는 자동으로 끊어져서 다시 연결해야 함
또는 init 6**

기본적인 명령어 사용

  1. Shell
  • 사용자가 입력한 명령을 해석해서 커널로 전달하거나 커널의 처리 결과를 사용자에게 전달하는 역할 수행
  • GUI에서는 터미널이라는 프로그램을 이용해서 사용할 수 있고 외부에서 SSH로 접속하면 Shell에 접속한 것이다.
  1. 프롬프트 (명령어를 입력할 때 보여지는 문자열)
  • kyla@master:~$
  • kyla: 사용자 이름
  • master: 호스트 이름
  • ~: 현재사용자의 홈 디렉토리
  • $이면 일반 사용자이고 #이면 슈퍼 사용자
  • 명령어 입력 방식
    • 대화형으로 명령어 입력하고 결과를 바로 확인하는 방식
    • 미리 파일에 명령어를 기록해두고 그 파일을 shell에 넘겨주는 스크립트 방식이 있다.
  1. 명령어 입력 시 발생하는 에러
  • 키보드 입력이 안 되는 경우: 화면을 잠그는 CTRL+s가 눌러지는 경우로 이 경우에는 CTRL+q를 눌러서 화면 잠금 해제
  • 실행한 명령이 종료되지 않은 경우: CTRL+c
  • 프롬프트의 문자가 깨지는 경우: CTRL+I를 눌러서 클리어
  1. 명령어 구조

명령어 [옵션][인자]

  • 옵션은 명령의 세부기능으로 -또는 --로 시작 (-: 옵션 한 글자, --: 옵션이 단어)
  • 옵션 여러 개 사용 가능(-a -l -p등), 대부분 순서 없음, 결합 가능(-alp)
  • 인자는 명령에 전달하는 값
**ls -al
ls /tmp # /tmp라는 인자 사용
ls -a /tmp # 옵션과 인자 동시에 사용**
  • 명령어 자동 완성
    • tab 누르기, 명령이 여러 개로 이루어졌다면 2번 누르기
  • history
    • history -d 라인번호: 라인번호에 해당하는 명령 보여줌
    • history -c: 명령어 전체 삭제
  • !
    • !번호: 번호에 해당하는 명령 재실행
    • !문자열: 문자열로 시작하는 마지막 명령 실행
  • 명령어 도움말

--help 옵션을 이용하면 도움말을 출력해준다. ex. cat --help

man [옵션][section] 명령어 ex. man ls

  1. shell이 명령어를 찾는 순서
**echo $PATH**
  • whereis : 명령어 위치 확인
    • -b: 바이너리 파일만 검색
    • -m: 메뉴얼만 검색
    • -s: 소스 파일만 검색
  • which : PATH에 기록된 디렉토리에서 명령어의 위치를 검색
    • which [옵션][명령어]
    • -a, -all : 모든 내용 출력
    • **which -a lsmod**
  1. 기본 명령어
  • passwd : 비번 변경
  • exit : 터미널 종료, 원격 접속인 경우는 접속 해제
  • clear : 현재 보이는 화면 삭제
  • alias : alias 별명 = ‘실제값’
    • ex. ls -F 명령을 ls로 설정 → alias ls=’ls -F’
    • type 명령어를 이용하면 별명인지 확인 가능
    • unalias 이용하면 별명 삭제 가능
    • 원본 명령어 실행하고 싶으면 전체 경로로 명령어 실행 or command 명령어 or \명령어
  • 날짜와 시간 관련 명령어
    • date
    • timedatectl (더 자세한 시간과 날짜)
  • 시스템 사용자 정보 확인
    • logname : 현재 사용 중인 계정 확인
    • users : 접속한 사용자의 계정 확인
    • who : 서버 관리자가 되면 많이 사용, 로그인한 모든 사용자 계정 확인
    • whoami : 현재 ubuntu 사용자 확인
  • 시스템 정보
    • uname [옵션]
    • -a : all 정보 확인 #Linux master 6.8.0-59-generic #61-Ubuntu SMP PREEMPT_DYNAMIC Fri Apr 11 23:16:11 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
    • -m : 하드웨어 정보 확인 (cpu 아키텍처) #x86_64
    • -n : 호스트 네임 #master
    • -r : 운영체제 릴리즈 번호 #6.8.0-59-generic
    • -s : 운영체제 이름 #Linux
    • -v : 버전 출시 일자
  • 환경 변수 확인 : env
  • sudo 와 su
    • sudo : 관리자의 권한을 빌려서 명령을 실행하는 것으로 관리자 비번을 입력해야 한다.
    • su 계정 : 현재 계정의 환경 변수들을 유지하면서 다른 계정으로 전환
      • su - 계정 : 새로운 계정의 환경 변수들을 유지하면서 다른 계정으로 전환
      • su : root로 전환

GUI 설치

**sudo apt update
sudo apt install ubuntu-desktop**

추가 설정

  • 로케일 설정
    • 현재 로케일 확인: locale
    • 로케일 수정
    • **sudo apt install language-pack-ko sudo update-locale LANG=ko_KR.UTF-8 sudo dpkg-reconfigure locales 명령 후 ko_KR.UTF-8 선택 exit 으로 재부팅하면 변경되어 있음**

편집기

  • 행단위 편집기(한 줄 단위로 화면에서 입력): ed, ex, sed
  • 화면 단위 편집기(화면 단위로 입출력): vi(vim), emacs, nano(메뉴 기반 에디터) 등
  • GUI 편집기: gedit

모드형 편집기와 비모드형 편집기

  • 모드형 편집기 (vi)
    • 입력 모드와 명령 모드가 구분
    • 입력 모드에서는 텍스트를 입력하거나 수정을 할 수 있고 명령 모드에서 저장이나 종료 등을 수행
    • 동일한 글자라도 입력 모드에서는 글자가 되지만 명령 모드에서는 명령어가 된다. ex. i → insert
  • 비모드형 편집기 (nano)
    • 입력 모드와 명령 모드가 구분되어 있지 않음
    • 편집 기능을 CTRL 이나 ALT 같은 특수 키 또는 메뉴로 제공

vim

vi 이후에 개발된 editor

**sudo apt install vim**

동작 모드

vi를 시작하면 명령 모드로 집입

  • 명령 모드 → 입력 모드) i, I(현재 위치), a, A(뒤에 들어감), o, O(엔터 친 후 아래쪽에 들어감)
  • 입력 모드 → 명령 모드) esc 누르기
  • 명령 모드 → 저장 및 종료) ZZ
  • 명령 모드 → 마지막 행 모드) :(콜론), /(슬래시), ?(물음표)
  • 마지막 행 모드 → 명령 모드) enter, esc
  • 마지막 행 모드 → 저장 안 하고 종료) :q, :q! / 반대로 저장 후 종료) :wq

문서 작성

‘vim 파일 경로’ 작성- 해당 파일이 존재하면 파일의 내용이 보이고 존재하지 않는 파일이면 빈 파일이 열림

파일 경로를 생략- 메시지 창이 보임

수정 권한이 없는 경우- 읽기 전용으로 열림

**vim test.txt**

커서 이동

  • k/ j : 한 행 위, 아래로 이동
  • i/ h : 한 글자 앞, 뒤로 이동
  • ^, 0/$ : 커서를 현재 행의 맨 앞이나 맨 뒤로 이동
  • -/+ 또는 Enter : 커서를 다음 행의 처음으로 이동
  • H/M/L : 커서를 화면의 맨 위/중간/아래로 이동
  • w/e : 커서를 다음 단어의 처음/마지막 글자로 이동
  • b : 앞 단어의 첫 글자로 이동

화면 이동

  • CTRL + u : 반 화면 위로 이동
  • CTRL + d : 반 화면 아래로 이동
  • CTRL + b : 한 화면 위로 이동
  • CTRL + f : 한 화면 아래로 이동
  • CTRL + y : 화면을 한 행만 위로 이동
  • CTRL + e : 화면을 한 행만 뒤로 이동

특정 행 이동

  • shift + g : 파일의 마지막 행으로 이동 (= :$) → 맨 뒤로 넘길 때, 양이 많은 문서를 읽을 때 사용
  • 행번호 shift + g : 지정한 행 번호로 이동 (= :행번호)

수정

  • r : 커서가 위치한 글자를 다른 글자로 수정
  • cw, #cw : 커서 위치부터 현재 단어의 끝까지 수정하는데 # 자리에 숫자를 지정하면 수정할 단어의 수가 된다.
  • s, #s : 커서 위치부터 esc를 누를 때까지 수정하는데 #에서는 수정할 글자 수를 설정
  • cc : 현재 행을 전부 수정
  • C : 커서 위치부터 행의 끝까지 수정

삭제

  • x, #x : 글자 삭제
  • dw, #dw : 단어 삭제
  • dd, #dd : 행을 삭제
  • shift + d : 커서 위치부터 행의 끝까지 삭제

명령 취소

  • u : 명령 취소
  • U : 해당 행에서 수행한 모든 명령을 취소
  • :e! : 마지막 저장한 내용 이후의 것을 버리고 새로 작업

복사 잘라내기, 붙여넣기

  • yy, #yy : 커서가 위치한 행을 복사
  • p : 커서가 위치한 행의 아래쪽에 붙이기
  • P : 커서가 위치한 행의 위에 붙이기
  • dd, #dd : 행 잘라내기

연습 문제

exec.txt 파일 열어서 마지막 행에 Welcome Linux World 추가하고 파일 저장 후 종료하기

vim exec.txt
i 누르고
Welcome Linux World
:wq

버퍼

저장할 수 있는 공간

  • 복사나 잘라내기를 할 때 내용을 버퍼에 저장한다.
  • 이때 사용하는 버퍼는 언네임드 버터라고 하고 하나의 내용만 저장한다.
  • 네임드 버퍼는 버퍼에 이름을 붙여서 사용하는 것으로 여러 개의 버퍼를 만들 수 있다.
  • 만드는 방법은 “문자나 숫자, 복사나 잘라내기 수행
  • 붙여넣기- “버퍼이름+p
728x90
반응형

'현대 오토에버 클라우드 스쿨' 카테고리의 다른 글

Linux  (0) 2025.05.20
Linux  (0) 2025.05.20
Linux  (0) 2025.05.20
파이썬과 데이터베이스 연동  (1) 2025.05.20
Mongo DB  (0) 2025.05.20