[Lecture Review] 한줄정리
1. vi 에디터
에디터는 입력모드 ⇄ 일반모드 ⇄ 명령모드를 이동하며 원하는 파일을 작성/수정/저장/삭제하는 것이다. 각 모드는 ESC키를 이용하여 이동한다. 기본적으로 입력모드에서 마지막 입력한 글자에 커서가 위치하게 된다.
-
일반모드
명령어 의미 명령어 의미 I 현재 행 처음에 입력 i 왼쪽에 입력 a 오른쪽에 입력 A 현재 행 마지막에 입력 o 다음 행에 빈줄 생성하여 입력 O 이전 행에 빈줄 생성하여 입력 s 한 문자 삭제 후 입력 S 한 행 삭제 후 입력 R 입력모드로 변경 u 되돌리기(실행취소) U 행에서 했던 모든 명령 취소 h,j,k,l ⇦ ⇩ ⇧ ⇨ w 다음 단어 첫 글자로 이동 [n]w n단어 다음 단어 첫 글자로 이동 b 이전 단어 첫 글자로 이동 [n]b n단어 이전 단어 첫 글자로 이동 e 현재 단어 마지막 글자로 이동 H 처음 행 첫 글자로 이동 L 마지막 행 첫 글자로 이동 M 중간 행 첫 글자로 이동 - 윗 행 첫 글자로 이동 + 아래 행 첫 글자로 이동 0,^ 현재 행의 첫 글자로 이동 $ 현재 행의 마지막 글자으로 이동 G 문서의 마지막 행으로 이동 [n]G n번째 행으로 이동 g 문서의 처음 행으로 이동 ~ 한 문자 대소문자 변환 y 한 문자 복사 [n]y n개 문자 복사 yy 한 행 복사 [n]yy n개 행 복사 x 한 문자 삭제 [n]x 다음 n개 문자 삭제 dw 현재 단어 삭제 [n]dw 다음 n개 단어 삭제 d⇦ 왼쪽 문자 삭제 d⇨ 오른쪽 문자 삭제 d⇩ 현재 행과 다음 행 삭제 d⇧ 현재 행과 이전 행 삭제 dd 현재 행 잘라내기 [n]dd 아래 n개 행 잘라내기 D 현재 위치부터 끝까지 삭제 p 위쪽으로 행 붙여넣기 P 아래쪽으로 행 붙여넣기 r [s] 현재 문자를 s로 수정 cw [word] 현재 단어를 word로 수정 [n]cw [word] n개의 다음 단어를 지우고 word로 수정 s [word] 현재 글자를 word로 수정 [n]s [word] n개의 다음 글자를 지우고 word로 수정 cc 현재 행 모두 지우고 새로 입력 C 현재 위치부터 끝까지 지우고 새로 입력 -
명령모드
명령어 의미 명령어 의미 :sec ic 검색에서 대소문자 구분 안함 :set noic 검색에서 대소문자 구분함 / 아래로 검색 ? 위로 검색 n 다음 문자열 검색 N 이전 문자열 검색 :s/str1/str2/ 첫 str1을 str2로 치환 :%s/str1/str2/g 모든 str1을 str2로 치환 :set nu 행 번호 표시 :set nonu 행 번호 숨기기 :set list Tab 문자나 개행 문자 표시 :set nolist Tab 문자나 개행 문자 숨기기 :w 문서 저장 :w! 강제 문서 저장 :q 저장하지 않고 종료 :q! 저장하지 않고 강제 종료 :wq 저장 후 종료 :wq! 저장 후 강제 종료 :wq str 다른 이름(str)으로 저장 :e! 저장하지 않고 최종 저장 상태로 열기 :r [file] file의 내용이 현재 커서 다음 행에 삽입 :! [shell] vi 작업을 잠시 중단하고 shell 명령 실행 :sh vi를 잠시 빠져나가 다수의 shell 명령 실행
2. 정규식
grep 명령어와 정규식을 함께 사용하면 정규식에 표현된 문자열을 문서 내에서 찾을 수 있다.
정규식 | 의미 | 예시 |
---|---|---|
str | 글자 그대로 | str |
[] | 또는 | in[du] : ind 또는 inu |
- | 범위 | [0-9A-Z] : 0부터 9까지 또는 A부터 Z까지 |
^ | 제외 | [^A-M] : N부터 Z까지 |
$ | 문장끝 | str$ : str으로 끝나야 함 |
. | 한 글자 | .in : in앞에 한 글자 아무거나 |
? | 0또는1 | |
* | 0이상 | W*in : Win, in, WWin, … |
+ | 1이상 | |
{n} | n개 | |
{n,m} | n이상 m미만 | |
^() | 문장시작 | |
| | 또는 |
grep '[xX][0-9a-z]{2}' * # X11
3. 기본 명령어
프롬프트는 #(root 사용자)와 $(일반 사용자)로 명령을 수행할 수 있다. Tab키는 자동 완성 기능이 있으며, 도스키 기능은 상하 화살표 키를 이용해서 이전 명령어를 다시 실행하는 것이다.
- history : 이전에 사용했던 명령어 확인
- ![n] : n번째 명령어를 다시 실행
- ls : 해당 디렉토리에 있는 파일 목록 나열
- cd : 디렉토리 이동
- pwd : 현재 디렉토리 전체 경로 출력
- rm : 파일이나 디렉토리 삭제 (폴더 내에 파일이 있을 경우 -rf 옵션 추가)
- cp : 파일이나 디렉토리 복사
- mv : 파일이나 디렉티로 이름 변경 또는 위치 이동
- mkdir : 새로운 디렉토리 생성
- cat : 텍스트 파일 화면 출력
- head/tail : 텍스트 파일 앞/뒤 10행 출력
- more : 텍스트 파일 페이지 단위로 출력
4. 사용자 정보 관리
- sudo : root 권한이 있어야만 가능한 특정 작업들이 있다. 이는 su 명령을 사용하여 root 계정으로 전환하고, sudo 명령으로 작업을 수행한다.
- passwd : 사용자 계정의 암호를 수정하는 것으로
-l
은 암호 잠그기,-u
는 잠금 해제,-d
는 암호 삭제 옵션이다.passwd [옵션] [사용자계정]
- chown : 파일 및 디렉토리의 소유자와 소유 그룹을 변경한다.
소유자:소유그룹
으로 계정을 나타내고-R
은 서브 디렉토리까지 모두 변경하는 옵션이다.chown [옵션] [사용자 계정] [파일명]
- chgrp : 파일 및 디렉토리의 소유 그룹을 변경한다.
chgrp [옵션] [그룹명] [파일명]
- chmod : 파일 및 디렉토리의 소유와 허가권을 변경한다.
chmod [접근 권한 설정] [파일명]
-
접근 권한 표기
-
기호모드 : 사용자,연산자,접근권한 순서로 표현한다.
사용자 연산자 접근권한 u(소유자) +(부여) r(읽기) g(그룹) -(제거) w(쓰기) o(기타사용자) =(설정) x(실행) a(전체) -
숫자 모드 : 세자리의 수로 표현하며, 각 자리의 숫자는 4(읽기), 2(쓰기), 1(실행)의 합으로 나타낸다.
-
5. 파일 압축 및 묶기
- xz/bzip2/gzip : 압축하는 기능이고,
-d
는 푸는 옵션이다.xz [옵션] [파일명]
- tar : 묶는 기능이고,
c
는 묶기,x
는 풀기,t
는 경로확인,f
는 파일,v
는 과정 보이기,J
는 tar+xz,z
는 tar+gzip,j
는 tar+bzip2 옵션을 나타낸다. (vf는 기본으로 쓰고 c/x선택, J/z/j 선택)tar [옵션] [파일명] [경로]
6. 파일 위치 검색
- find : 조건에 해당하는 옵션을 경로에서 찾고, action을 취해준다. 옵션에는
-name
,-user
(소유자),-newer
(전,후),-perm
(허가권),-size
(크기)이 있고, action에는-print
(출력),-exec
(명령 실행)이 있다.find [경로] [옵션] [조건] [action]