가치 있는 정보 준비 중
3초만 투자해 보세요!
Preparing valuable information
Just invest three seconds!
본문 바로가기
IT/OS

UNIX vi편집기 grep 명령어 파일 및 디렉토리 권한

by 콰나 | Quanna 2024. 1. 16.

<vi 편집기>

-vi 편집기의 3가지 모드-

1) Command Mode

 : 가장 기본이 되는 모드, 삭제, 커서이동, 복사, 붙여넣기 등의 작업을 수행

2) Edit Mode

: 문서 작성, 수정 작업

3) Last Line Mode

: 파일의 내용을 저장, 종료, 특정패턴을 검색, 바꾸기

 

<vi 편집기의 사용법>

vi [파일명] : 파일명으로 vi 편집기 사용

Last Line <- Command -> Edit
  :, /, ?   i,a,o  

->
<-

ESC, Enter
ESC

 

<Last Line모드 기본명령어>

! 강제기능
:w 내용저장
:q 나가기
:q! 저장하지 않고 나가기 (강제로 나가기)
:w /경로 다른 이름으로 저장

 

<Command모드 – 커서이동>

h
j
l
K
1G 첫 줄로
G 마지막 줄로
[n]G n번째 줄로 이동
0 커서가 위치한 줄의 가장 왼쪽으로
$ 커서가 위치한 줄의 가장 오른쪽으로
b 한 단어씩 앞으로 커서 이동
w 한 단어씩 뒤로 커서 이동

 

Command모드 - 문서편집

i 커서가 위치한 곳 앞에서부터 문서 작성
a 커서가 위치한 곳 뒤에서부터 문서 작성
o 한 줄 아래에서부터 문서 작성
yy 한 줄 복사
[n]yy 커서가 위치한 곳에서부터 n 복사
p 커서가 위치한 곳 아래에 붙여 넣기
x 한 글자 삭제
dd 한 줄 삭제
[n]dd 커서가 위치한 곳에서부터 n줄만큼 삭제
r 한 글자 치환
u Ctrl+z (되돌리기)
U 커서가 위치한 줄의 모든 변경사항을 원래대로 되돌리기
d$ 커서가 위치한 곳에서부터 한 줄의 끝까지 지우기
dG 커서가 위치한 곳에서부터 마지막 줄까지 다 지우기
dw 커서가 위치한 곳에서부터 한 단어 지우기

 

편집기 상태변경

:set nu 줄 번호 표시
:set nonu 줄 번호 표시 안 함
:set ic 문자열 검색 시 대소문자 구분 안 함
:set noic 문자열 검색 시 대소문자 구분 함

문자열 검색 및 변환

/[문자] [문자] 찾는다
n 다음 검색
N 이전 검색
?[문자] /[문자] 역방향으로 찾는다
:%s/[찾을 ]/[바꿀 ]/g 문자열 치환

<grep 명령어>

명령어 : grep [옵션] [문자열] [파일이름]

grep n 해당 문자열의 라인번호 표시
grep i 대소문자 구분 안 함
grep v 해당문자열을 제외한 정보 출력
grep l 해당 디렉토리의 파일에서 해당문자열이 있는 디렉토리 출력

 

- [문자열] -

^ 문자열의 시작을 지정 ( grep ‘^k’ ./grep_1 )
. 문자/문자열 대치 ( grep ‘solar.s’ ./grep_1 )
[문자열]$ 줄의 마지막이 지정한 문자열인 것만 출력 ( grep ‘ksh$’ /etc/passwd )
* 모든 것을 출력
[a-z,s] 범위지정

 

Ex) grep [c-f,t,y-z]solaris ./grep_1

   : c~f 또는 t 또는 y~z 시작하는 solari 문자열을 찾아 출력

 

<egrep / fgrep 명령어>

 

1) egrep : 메타문자가 추가된 grep명령어

[문자열]+ 특정문자열 뒤에 무엇인가 더 있다는 뜻
[문자열1] | [문자열2] A 또는 B 검색

 

 

2) fgrep : 메타문자를 단순한 문자로 인식

Ex) fgrep root* /etc/passwd

 : root* 문자열을 검색하여 출력

 

<find 명령어>

명령어 : find [경로] [조건] [동작]

 [조건]

name [이름] 파일이름으로 검색 ( find / -name root )
perm [권한] 파일의 권한으로 검색
size [크기] 파일의 크기로 검색 ( find / -size 1)
- 1 block = 512byte
- (ex) find / -size +30000c (바이트크기로 검색)
(숫자 뒤에 m, g 표기로 메가, 기가바이트 분류할 있음)
mtime [시간] 파일의 수정한 시간으로 검색 ( find ./ -mtime 1 )
atime [시간] 파일의 접근한 시간으로 검색

 

<권한>

r : Read 읽기 권한

w : write 쓰기 권한

x : Execute 실행 권한

- : 권한없음

 

r  w  - r  -  - r  -  -
소유자 그룹 그외 나머지

 

 

<파일 & 디렉토리 권한>

  파일 디렉토리
r 파일의 내용 확인
(cat, more, head, tail)
디렉토리의 내용 확인
(ls)
w 파일의 내용 수정
(vi 편집기)
디렉토리 내의 내용 수정
(파일, 디렉토리 생성, 삭제, 이름 바꾸기,
 복사,  붙여넣기, 이동)
x 실행 파일의 경우 실행여부 디렉토리에 접근 가능여부
(cd)

 

 

<권한 바꾸는 명령어>

- chmod [바꿀 권한] [파일이름]

- chown [바꿀 소유자] [파일이름]

- chgrp [바꿀 그룹] [파일이름]

 

<권한을 바꾸는 모드 2가지>

Ex) rw- r-- r-- à rwx rwx rwx

1) Octal Mode 2) Symbolic Mode
표기 : chmod 777 test 표기 : chmod u+x,g+wx,o+wx
r w x  r w x  r w x
4 2 1  4 2 1  4 2 1
7      7     7
소유자 u+, u-   r w x
  g+, g-   r w x
  o+, o-   r w x

*id : 현재 사용자를 확인하는 명령어

 

uid : 소유자번호

gid : 그룹번호

 

<umask>

- 디렉토리나 파일 생성시 기본 권한값에 대한 마스크값

- 설정 : umask [숫자] (777 : 보안성 취약 / 000 : 가용성 떨어짐 )

Ex)
drwx r-x r-x  : 777 –umask ( 777 – 022 ) : 755
-rw- r-- r-- : 666 umask ( 666 022 ) : 644