Search
🏫

[Unix 시스템] 6. 텍스트 편집

Tags
CS
Linux
Last edited time
2024/11/24 12:28
2 more properties
Search
[Unix 시스템] 6. 텍스트 편집
CS
Linux
2024/11/24 12:00
[Unix 시스템] 6. 텍스트 편집
CS
Linux
2024/11/24 12:00

1. 편집기

1.1. 리눅스와 텍스트 파일

리눅스 시스템에서는 중요한 설정 정보나 셸 스크립트가 텍스트 파일로 존재함
텍스트 파일은 시스템간 공유가 쉽고 편집기로 간단히 편집 가능
편집기 종류
gedit
GNOME 데스크톱에서 제공하는 작고 가벼운 편집기
emacs
화면 단위 편집기로 다양한 기능 제공하나 사용법이 어려움
vi
유닉스 계열의 보편적인 화면 편집기
vim을 주로 사용

1.2. vi 편집기와 3가지 모드

명령 모드 / 라인모드 / 입력모드

1.3. vi 시작하기/종료하기

시작하기
vi [options] [filename]
종료하기
:q :q! :wq :x :x!

2. vi로 편집하기

텍스트 입력
커서 이동
텍스트 삭제
텍스트 변경

3. 파일 찾기와 문자열 검색

3.1. locate 명령

문자열 패턴이 (기본적으로 /로 시작하는) 파일 이름에 포함될 때, 해당 파일의 이름을 출력하는 명령
절대 경로 상의 디렉터리나 파일 이름에 문자열이 포함되면 출력함
locate [options] pattern
updatedb 명령에서 만들어진 데이터베이스에서 검색함
파일시스템에서 검색하는 것이 아님 → 빠르게 수행 가능
접근할 수 없는 파일은 출력이 안됨
옵션 -b(또는 —basename)을 사용하면 절대경로 중 마지막 이름에서만 검색함
$ locate bin /bin /sbin /bin/alsaunmute <중간 생략> /var/www/icons/small/binary.png <중간 생략> /var/yp/binding $ find / -name bin 2> /dev/null
Bash
복사

3.2. find 명령

검색 위치에서 조건에 맞는 파일을 찾고, 검색된 파일을 대상으로 명령을 수행할 수 있음
파일의 이름, 소유자, 접근권한, 크기, 수정시간 등의 속성을 조건으로 사용할 수 있음
find [pathnames] [expression]
pathnames를 지정하지 않으면 현재 디렉터리를 기준으로 함
expression이 주어지지 않으면 -print가 주어짐
예)
$ find /etc -iname '*passwd*' # 이름에 passwd를 포함한 파일 찾음 $ find ~ | wc -l # 사용자가 가지고 있는 파일의 총 개수를 출력
Bash
복사
find 명령에서의 조건 지정
find 명령에서 사용되는 액션

3.3. grep 명령

파일에서 지정된 문자열 패턴을 포함한 라인을 찾아 출력
파이프(|)를 사용하여 앞 명령의 결과를 입력으로 받아 검색할 때 자주 사용
grep [options] pattern [files]
pattern은 찾으려는 문자열이며 정규식으로 표현 가능
옵션
-r : 파일 대신 디렉터리가 지정될 때, 포함된 모든 파일을 대상으로 검색
-i : 대소문자 구분 X
-v : 매칭이 일어나지 않는 라인을 출력함
예)
$ grep root /etc/passwd $ grep -n unix ~/*.txt $ ip addr show | grep inet
Bash
복사