반응형
리뷰 (Review)
더보기
- 절대 경로 지정
- / 로부터 경로 지정하는 방법
- 상대 경로 지정
- . : 현재 디렉토리
- .. : 이전 디렉토리
- ~ : 현재 사용자 홈 디렉토리
- ~<사용자명> : 특정 사용자 홈 디렉토리
- 사용자
- id : 현재 사용자 정보 출력
- id <사용자명> : 지정 사용자 정보 출력
- whoami : 현재 사용자 ID 출력
- UID 0번은 root
- 그룹
- 사용자는 최소 하나의 그룹에 속한다.
- GUI 0번은 root 그룹
- 권한
- 읽기(Read) / 쓰기(Write) / 실행(eXecute) 권한 결정 필요
- 실행 권한이 없으면 바이너리 파일이라도 실행 할 수 없고, 권한이 있다면 텍스트 파일도 실행 할 수 있다.
- shell 기본 명령 형식
- 명령어 [옵션] [인수]
- 옵션
- - 옵션 : 약자 형식의 옵션, 옵션 중첩해서 사용 가능
- -- 옵션 : 옵션 Full Name 사용, 옵션 중첩 사용 불가능
- 일부 - 없이 부여되는 옵션도 존재한다.
- shell 기본 명령어
- man - 명령어에 대한 매뉴얼 표시
- man <명령어>
- man [매뉴얼 페이지 번호] <명령어>
- ls - list, 특정 디렉토리의 파일 목록 출력
- ls [옵션] [파일명 또는 디렉토리명]
- -l : long, 파일 또는 디렉토리 상세 정보 출력
- -i : inode 번호 출력
- -a : hidden 파일 포함한 모든 파일 출력
- -R : 하위 디렉토리 내용 모두 출력
- -F : 파일 형식에 따라 문자 표시
- / : 디렉토리 파일
- @ : Symbolic (Soft) link 파일
- * : 실행 파일
- cd - 디렉토리 이동 명령어
- cd <디렉토리명>
- cd - : 바로 전 경로로 이동
- cd, cd ~, cd ~<사용자명> : 사용자 홈 디렉토리로 이동
- mkdir - 디렉토리 생성 명령어
- mkdir <디렉토리명>
- -p : 다중 경로상의 중간 경로 디렉토리 생성 ex) mkdir -p work/first
- rmdir - 디렉토리 삭제 명령어
- rmdir <디렉토리명>
- cp - 파일 복사 명령어
- cp <원본 파일명> <복사 파일명 or 디렉토리명>
- cp <원본 파일명> <원본 파일명>... <복사 파일명 or 디렉토리명>
- mv - 파일 이동 / 이름 변경 명령어
- mv <이동 파일명> <디렉토리명> - 파일 이동
- mv <원본 파일명> <새로운 이름의 파일명> - 파일명 변경
- rm - 파일 삭제 명령어
- rm <삭제 파일명>
- cp, mv, rm는 -i 옵션을 통해서 확인할 필요가 있다.
- man - 명령어에 대한 매뉴얼 표시
Linux 개요
파일 읽기 및 생성
파일 읽기
- 텍스트 파일에 대하여 파일 내용 확인하는 명령어
- cat - 텍스트 파일 전체 내용 출력
- cat [옵션] <텍스트 파일>
- -n : 입력된 줄 번호 출력
- -A : 제어 문자 출력
- 제어 문자 (control character) - 실제 출력되지 않고 특정 기능을 갖는 문자
- \n : 줄 바꿈, line feed + carriage return, Enter키 입력 시 포함
- \t : tap 기능
- \b : backspace 기능
- 제어 문자 (control character) - 실제 출력되지 않고 특정 기능을 갖는 문자
- more - 텍스트 파일 내용을 페이지 단위로 출력
- more <텍스트 파일>
- spacebar : 페이지 단위 출력
- Enter 키 : 라인 단위 출력
- q 키 : Quit, 종료
- /검색어 : 해당 검색어로 검색
- 파일 내용을 처음부터 마지막으로 내용 출력 (단축키 사용해서 역순으로 돌아가지 못함)
- more <텍스트 파일>
- less - 텍스트 파일 내용을 페이지 단위로 출력하고 이전 / 이후로 이동이 가능
- less <텍스트 파일>
- spacebar, Enter 키, q 키, /검색어 more와 동일
- j 키, 아래 방향키 : 다음 라인으로 이동
- k 키, 위 방향키 : 이전 라인으로 이동
- ctrl + b 키 : 이전 페이지로 이동
- less <텍스트 파일>
- head - 파일 첫 부분에서부터 일정 개수 내용 출력
- head [옵션] <텍스트 파일>
- 기본 출력 10 줄
- -<라인수> : 지정한 라인수만큼 출력
- head [옵션] <텍스트 파일>
- tail - 파일 마지막 부분에서부터 일정 개수 내용 출력
- tail [옵션] <텍스트 파일>
- 기본 출력 10줄, -<라인수> head와 동일
- -f : 파일 내용 출력을 종료하지 않고, 주기적으로 파일 내용 출력 (log 파일 내용 확인시 유용)
- tail [옵션] <텍스트 파일>
- cat [옵션] <텍스트 파일>
텍스트 파일 생성
- touch
- touch <텍스트 파일>
- 기존에 없는 파일인 경우 0 byte 크기의 텍스트 파일 생성
- 기존 파일의 최종 수정 시간 변경, 파일 내용 변경은 없음
- ln
- 하드 링크 (Hard link) 파일과 심볼릭 링크 (Symbolic link, Soft link) 파일 생성
- 하드 링크 파일
- ln <원본 파일명> <하드 링크 파일명>
- 원본 파일에 대한 복사본
- 원본과 동일한 내용을 갖는 파일
- 원본 파일과 inode 번호 동일
- 하드 링크 파일이 생성되면 inode block의 하드 링크 수 증가
- 원본 파일에 변화가 생기면 하드 링크 파일에도 변화된 내용 반영
→ 원본 파일 내용과 하드 링크 파일 내용은 항상 동일 (우리가 아는 복사본 개념이 아님) - 원본 파일이 삭제되어도 하드 링크 파일은 그대로 존재
- 원본 파일에 대한 여러 개의 하드 링크 파일 생성도 가능 (Back-up)
- 심볼릭 링크 (소프트 링크) 파일
- ln -s <원본 파일명> <심볼릭 링크 파일명>
- 원본 파일에 대한 링크 정보만 저장한 파일 (파일 크기가 작다.)
- 원본 파일과 inode 번호 상이
- 원본 파일 내용 변해도 반영되지 않는다.
- 원본 파일이 삭제되면 심볼릭 링크 파일은 원본 파일에 대한 링크만 가지고 있으므로
원본 파일을 찾을 수 없다. - 파일 종류 문자로 l 을 사용한다.
- Windows O/S의 바로가기와 유사한 기능으로 사용한다.
- 문서 편집기(텍스트 파일) 또는 컴파일러(compiler, 바이너리 파일) 사용하여 생성
문서 편집기
- 문서 편집기 (텍스트 편집기)
- Linux 텍스트 편집기
- 행 단위 편집기 - line 단위로 문서 내용 입력 및 편집 수행
- ed / ex - 현재는 잘 사용하지 않음
- sed - 스트림 편집기
- 화면 단위 편집기 - 문서를 화면에 표시하고 커서 이동을 통해 문서 내용 입력 및 편집 수행
- vi / vim - Linux 기본 편집기, 기본 설치
- nano - 배포판에 따라 설치 필요
- emacs - GNU 편집기, 설치 필요
- TeX - 수식 편집기, 설치 필요
- GUI 편집기 - CLI 환경 위주에서는 사용 불가능
- gedit - Linux GUI 기본 편집기
- 행 단위 편집기 - line 단위로 문서 내용 입력 및 편집 수행
- vi 편집기
- Linux 기본 편집기
- 실행 파일 크기가 작다.
- 화면 단위 편집 기능 제공
- 단축키를 이용하여 편집 및 에디터 기능 수행
- 명령 모드와 편집 모드로 구분
- 명령 모드 - 문서 편집이나 파일 관련 명령 입력 모드, esc 키 입력 후 : 입력하여 명령 모드 진입
- 편집 모드 - 실제 내용 입력 및 편집 모드
- 단축키를 사용하여 편집함으로써 편집 속도가 빠른 장점이 있으나
처음에 사용 방법을 익히는데 다소 어려움이 있다. - vi 실행
- vi(vim) - vi 실행, 편집할 파일은 별도로 지정하지 않음
- vi(vim) <파일명> - 지정한 파일을 vi로 읽어서 실행
- 초기 화면은 명령 모드로 실행 됨
- vi 종료
- :q - vi 종료 명령어, 현재 편집 내용에 대한 저장이 필요한 경우에는 저장을 해야만 종료된다.
- :q! - vi 강제 종료 명령어, 저장 유무 상관없이 강제 종료
- 명령 모드와 편집 모드 전환
- 명령 모드에서 편집 모드 전환
- 편집 모드에서 사용하는 단축키 입력
- 편집 모드에서 명령 모드 전환
- esc 키 입력 후 : 또는 / 로 명령 입력
- 명령 모드에서 편집 모드 전환
- 커서 이동
- 방향키 사용
- h 키(←), j 키(↓), k 키(↑), l 키(→)
- vi 편집 모드 단축키 (자주 쓰이므로 익숙해질 필요 있음 ★★★★★)
- 편집 모드에서 명령 모드 전환 시 esc 키
- 내용 입력
- i 키 - 현재 커서 위치에 입력
- a 키 - 현재 커서 위치 다음에 입력
- o 키 - 현재 커서가 위치한 줄 다음 줄에 입력
- I 키 - 현재 줄 Home 위치에 입력
- A 키 - 현재 줄 End 위치에 입력
- O 키 - 현재 커서가 위치한 줄 이전 줄에 입력
- 내용 수정
- r 키 - 현재 커서 위치 내용 수정, 한 번만 수정
- R 키 - 수정 상태 진입 (윈도우에서 insert 키 같은 기능), esc 입력 전까지 유효
- 내용 삭제
- x 키 - 한 글자 삭제
- <숫자> x - 입력한 숫자만큼 글자 삭제
- dd 키, D 키 - 줄 단위 삭제
- <숫자> dd - 입력한 숫자만큼 줄 삭제
- x 키 - 한 글자 삭제
- 내용 복사
- yy 키, Y 키 - 줄 단위 복사
- <숫자> yy - 숫자만큼의 줄 복사
- v 키 - 범위 지정
- y 키 - 범위 지정 내용 복사
- d 키 - 범위 지정 내용 삭제
- p 키 - 붙여넣기
- 내용 이동
- dd, D 키로 잘라내기 후 원하는 위치에서 p 키로 이동
- yy 키, Y 키 - 줄 단위 복사
- 검색 및 바꾸기
- /<검색 문자열> - 현재 커서 위치 이후로 검색
- n 키 - 현재 위치에서 파일 끝 방향으로 다음 검색 결과로 이동
- N 키 - 현재 위치에서 파을 처음 방향으로 이전 검색 결과로 이동
- :s/<문자열1><문자열2> - 현재 커서 위치에서 첫 번째 찾은 문자열1을 문자열2로 변경
- :%s/<문자열1><문자열2> - 파일 전체에서 문자열1을 문자열2로 변경
- /<검색 문자열> - 현재 커서 위치 이후로 검색
- 기타 편집 단축키
- u 키 - Undo (실행 취소)
- ctrl + r 키 - Redo
- vi 명령 모드 단축키
- 편집 내용 저장
- :w - 처음 vi 실행 시 입력한 파일에 현재 편집 내용 저장
- :w <파일명> - 지정한 파일명에 현재 편집 내용 저장
- :wq - 처음 vi 실행시 입력한 파일에 내용 저장 후 vi 종료
- 새로운 파일 로드
- :e <파일명> - 파일명에 해당하는 파일 로드, 파일이 없으면 생성
- 외부 명령 실행
- :!<외부명령> - vi 실행 상태에서 외부 명령 실행 결과 확인
- :!sh - 표준 shell 실행, 표준 shell에서 exit 입력하면 다시 vi로 전환
- :!bash - bash shell 실행, bash에서 exit 입력하면 다시 vi로 전환
- :!<외부명령> - vi 실행 상태에서 외부 명령 실행 결과 확인
- 편집 내용 저장
- vi 환경 설정
- vi 실행 환경과 관련된 여러 내용을 환경 변수에 등록하여 vi 실행시마다 환경 변수 내용을 기반으로 작동
- 변수 (variable) - 메모리 공간 의미, 원하는 값 저장 및 변경 가능
- 환경 변수 (environment variable)
- 명령 또는 응용 프로그램 동작을 원활하게 수행하기 위해 미리 메모리에 저장되어 있는 값
- set 명령을 통한 환경 변수 확인 및 변경
- :set all - 전체 환경 변수 내용 출력
- :set <환경변수>=값 - 환경 변수 내용 변경
- 현재 vi 상태에서 set 명령으로 환경 변수를 변경하거나 적용하면 실행 중인 vi에서만 적용된다.
- vi 실행 환경을 사용자가 원하는 형태로 구성하기 위해 별도의 환경 설정 파일을 만들어
사용자 홈 디렉토리에 저장해 두면vi 실행 시 해당 환경 변수 기반으로 동작한다.- .vimrc - vi 환경 설정 파일
- .exrc - vi 환경 설정 파일
- 주요 환경 변수 (현재 실습에 적용된 변수)
- set number - line 변호 표시
- set tapstop=4 - tap 간격 4칸
- set ai - auto indent (들여쓰기)
- set si - smart indent
- set hlsearch - 검색 시 하이라이트
- set nocompatible - 방향키 이동 가능하게
- set ruler - 상태 표시줄에 커서 위치 표시
- set title - 제목 표시
- set mouse=a - 커서 이동을 마우스로도 가능하게 설정
- set bs=indent,eol,start - backspace 사용 가능
- set showmatch - 매치되는 괄호 표시
- vi 실행 환경과 관련된 여러 내용을 환경 변수에 등록하여 vi 실행시마다 환경 변수 내용을 기반으로 작동
TIF
파일 읽기와 쓰기, 어떤 O/S를 쓰든 가장 많이 쓰는 기능이 아닐까 생각한다.
오늘은 vi / vim에 대해서 비중을 많이 두고 배웠다.
편집 모드 단축키는 많이 연습해봐야 할 것 같다.
같이 실습할 때는 큰 어려움 없이 진행했으나 따로 해보지 않으면 시간이 조금만 지나도 헷갈려할 것이 뻔하다.
이코테 책이 도착했다.
대충 앞부분만 훑어봤는데 역시 무슨 말인지 전혀 모르겠다.
하기로 했던 것들, 해야 할 것들 적당히 페이스 조절하면서 꾸준히 해봐야겠다.
2022. 08. 10 에 작성된 글입니다.
반응형
'구름 쿠버네티스' 카테고리의 다른 글
구름 쿠버네티스 전문가 과정 6기 - 10일차 (0) | 2023.07.13 |
---|---|
구름 쿠버네티스 전문가 과정 6기 - 9일차 (0) | 2023.07.12 |
구름 쿠버네티스 전문가 과정 6기 - 7일차 (0) | 2023.07.10 |
구름 쿠버네티스 전문가 과정 6기 - 6일차 (0) | 2023.07.05 |
구름 쿠버네티스 전문가 과정 6기 - 5일차 (0) | 2023.07.04 |