[temp] 01. CLI / VIM

temp.WUI·2021년 8월 1일
0

temp

목록 보기
1/12
post-thumbnail

TEMP

CLI

Command-Line interface

GUI(graphical user interface)와 반대의 개념인CUI (character user interface)이다.
문자로만 이루어져 있기 때문에 마우스를 사용할 수 없어 키보드만을 사용한다.

BASH

GNU 프로젝트를 위해 만들어진 유닉스 셸이다.

다양한 운영 체제의 기본 셸 로 탑재되어있다.

윈도우 사용자는 BASH를 이용해 git을 관리할 수 있다.

커널과 사용자를 이어주는 소프트웨어

(sh, csh, bash, zsh)

커널

하드웨어와 응용 프로그램을 이어주는 운영체제의 핵심 시스템 소프트웨어


운영체제

유닉스

AT&T 통신사 연구소에서 만들어진 운영체제

( MAC OS)

리눅스

유닉스의 보안 및 저작권 문제로 리차드 스톨먼이 오픈 소프트웨어 자유성 확보를 위해 시작한 GNU 프로젝트 에 의해 만들어진 운영체제

GNU는 커널을 사용할 수 없었기에 리누스 토발즈가 MINIX를 개조해서 LINUX를발표했다.

이러한 여럿이 함께 하는 프로젝트 개발은 시장형 개방이라고 한다. 반대의 의미로는 혼자서 개발하는 성장형 개발이 있다.

다양한 배포판이 존재한다. (안드로이드, 우분투)

GNU

GNU == Gnu is Not Unix


셸 명령어

{}안의 내용은 달라지는 값들을 나타낸다.
실제로 명령어에 {}를 함께 표기해서는 안된다.

기본

  • | 현재 커서의 위치

  • $ 사용자의 입력을 받을 준비가 되었음

  • ~ 현재 로그인 된 최상위 폴더

  • {로그인 된 이름}@{컴퓨터의 이름}

  • - [flag] 옵션 설정

명령어

1. 현재 작업중인 폴더 확인

pwd p rint w orking d irectory

현재 작업중인 폴더의 절대경로 출력

2. 관리자 권한

sudo s uper u ser do

관리자 권한으로 윈도우를 사용

3. &&

{명령어} && {명령어}

명령어 사이에 && 를 넣어 한번에 여러 명령어 사용

4. 폴더 관련 명령
  1. ls l ist segments

$ls {옵션}

현재 위치에서 하위로 존재하는 폴더나 파일을 확인할 수 있는 명령어

옵션

  • $ls -l 폴더 내 목록과 함께 상세 정보 를 함께 출력
  • $ls -a 폴더 내 숨겨진 목록 을 포함하여 출력
  • $ls -al 위의 두 명령을 동시에 수행해 출력
  1. cd c hange directory

$cd {폴더 이름}

현재의 작업중인 위치를 옮기는 명령어

위치 이동

  • $cd ../ 상위 경로 로 올라감
  • $cd ../../ 상위 경로로 2번 올라감
  1. mkdir m a k e dir ectory

$mkdir {생성할 폴더 이름}

현재 위치에 새로운 폴더 생성

  1. rmdir r e m ove directory

$rmdir {삭제할 폴더 이름}

폴더 삭제 명령어

  • rm 명령어를 이용한 폴더 제거

$rm {삭제할 폴더 이름} -> 삭제가 되지 않는다.

폴더는 파일을 찾아가기 위한 경로 이기 때문에 길을 잃는 오브젝트(파일)이 없도록 하기 위해 -rf옵션을 주어 폴더를 삭제한다.

$rm -rf {삭제할 폴더 이름} 폴더 안의 모든 파일을 삭제 후 폴더까지 제거

삭제된 폴더는 복구 할 수 없다.
5. 파일 관련 명령
  1. touch

$touch {생성할 파일 이름}.{확장자}

현재 폴더 안에 지정한 빈파일 을 생성

  1. vi vim

vi {열 파일 이름}.{txt / md... txt로 이루어진 확장자}

vim editor 을 사용하여 파일을 수정

  1. cat con cat enate

$cat {열 파일 이름}.{txt로 이루어진 확장자}

파일의 내용을 CLI 화면에 출력

  1. rm r e m ove

$rm {삭제할 파일 이름}.{확장자}

파일을 삭제

공통점 을 이용해서 삭제가 가능하다.

$rm *.{공통된 확장자}

$rm {공통된 이름}.*

6. 폴더 / 파일 관련 명령
  1. mv m o v e

이미 존재하는 폴더 및 파일의 이동 및 이름 변경

  • 폴더 및 파일 이동

$mv {이동할 폴더 및 파일 이름.{확장자}} {폴더 경로}

이동할 경로가 복잡하다면 상대 경로보다는 절대 경로가 좋다.
  • 폴더 및 파일 이름 변경

$mv {변경 전 폴더 및 파일 이름.{확장자}} {변경 후 폴더 및 파일 이름.{확장자}}

  1. cp c o p y

복사 및 이미 존재하는 파일 및 폴더일 경우 이름 변경

  • 폴더 및 파일의 복사

$cp {복사할 폴더 및 파일 이름.{확장자}} {폴더 경로}

현재 폴더에 복사할 경우 폴더 경로는 필요 없다.
  • 이미 존재하는 파일 및 폴더일 경우

$mv {이미 존재하는 폴더 및 파일 이름.{확장자}} {변경할 폴더 및 파일 이름.{확장자}}


vim editor

vi가 실행 중인 상태에서 강제로 종료하면 swap 파일이 생성된다.

vi와 호환되는 문서 편집기

대부분의 OS에 vim은 설치되어 있다.

1. 기본

normal 모드에서 모든 키는 명령어가 된다.
  • ~ 문서의 끝. 비어있는 공간 을 의미

  • i 텍스트 삽입모드

insert 모드로 들어와야 수정 및 작성 이 가능하다.

다시 normal모드로 돌아가기 위해서는 esc키를 누른다.

  • u 실행취소

2. 커서 이동

방향키로도 이동이 가능하다. (insert 모드 일 경우 방향키로만 이동가능)
  • H 왼쪽으로 이동

  • L 오른쪽으로 이동

  • J 아래쪽으로 이동

  • K 위족으로 이동

  • shift + a 문장의 제일 끝으로 이동

  • shift + g 파일의 제일 끝 줄로 이동

  • 0 문장의 제일 처음으로 이동

3. 편집

  • yy 현재 줄 복사

  • p 현재 위치에 붙여 넣기

  • dd 잘라내기

  • d 현재 줄 삭제

  • dk 현재 줄과 윗줄 삭제

  • dj 현재 줄과 아랫줄 삭제

  • {n}dj 현재 줄부터 아래 n줄 삭제

  • dg 현재 줄부터 파일의 끝까지 삭제

4. 저장

shift + :으로 메뉴창 띄우기
  • :w 저장하기

  • :q 나가기

  • :wq 저장하고 나가기

  • :q! 수정한 내용 무시하고 나가기 (원본 유지)

5. 탐색

shift + :으로 메뉴창 띄우기
  • :/{찾을 문자열} 현재 줄에서 아래 방향 으로 탐색

  • :?{찾을 문자열} 현재 줄에서 윗 방향 으로 탐색

  • n다음 {찾을 문자열} 탐색
  • N 역방향 으로 {찾을 문자열} 탐색


profile
🧩 temp repo

0개의 댓글