
2일차 두 번째 게시글.
1일차가 유일하게 숨 쉴 수 있을 거라는 강사님의 말을 증명이라도 하듯
블로그 쓰기에도 너무 길어져 두 개로 나누었다..!
find [경로] [옵션] [행동]-name 옵션 : 파일명으로 검색-type : 타입으로 검색 (f는 파일, d 디렉토리 등 파일타입으로 검색)- find. -type f -name "**.txt" : 현재폴더에서 파일타입 중에 .txt로 끝나는 파일명 검색*find . -name "*.txt" -exec echo {} \;find . -name "*.txt" -exec cp {} ./testFolder/ \;문자열 내에서 특정 패턴이나 문자열을 검색
기본 사용법
grep [옵션] [패턴] [파일명]
-r옵션 : 디렉토리 내 모든 파일에서 검색
-i옵션 : 대소문자 구분 없이 검색
-n옵션 : 라인수 출력
ex ) grep -rni "hello" mydir”
hello 문자열을 라인수와 함께 mydir폴더에서 대소문자 구분 없이 검색
뒤에 이름 없으면 현재 위치에서 검색
ex)find ~ | grep -rni “hello”
| 은 왼쪽 실행문의 결과값을 오른쪽 실행문의 입력값으로 전달
# 파일 또는 디렉토리 검색 : find
find . -name "*.sh" # shell 파일을 찾아준다.
find . -name "*.sh" | grep "hello" # 이 경우 sh 파일 이름에서 hello를 찾게 되므로 아무것도 나오지 않는다.
# 파일 검색 후 해당 내용에서 원하는 문자열 찾을 때
find . -name "*.sh" | xargs grep -rni "hello" # xargs는 입력받은 파일 목록을 한줄씩 읽는것을 의미
# exec 옵션을 통한 find 와 grep
find . -name "*.sh" -exec grep -n "hello" {} \;
nslookup : 특정 도메인의 IP 주소 매핑을 조회할 때 사용.ifconfig : IP 정보 등 네트워크 설정 정보 출력.ping [hostname/IP] : 네트워크 연결 상태 확인.nc -zv 또는 telnet : 특정 port(구분자)까지 열려있는지 확인.netstat : 현재 서버에 연결된 네트워크 정보 출력.source 로컬을 > destination 원격으로 보낸다유닉스 기반 시스템에서 가장 오래된 텍스트 에디터 중 하나. 리눅스 기반 OS 설치 시 기본적으로 함께 설치된다.
리눅스에서 vi의 후속 모델인 vim nano 등의 에디터도 많이 사용한다.
명령모드와 입력모드로 구성, esc 로 전환한다.
명령모드 : 텍스트를 편집하는 대신, 커서를 이동하거나 텍스트를 삭제 / 복사 / 붙여넣기 하는 등의 명령을 수행.입력모드 : 텍스트를 입력하거나 수정.주요 명령어 (이미지 출처 : BEYOND SW캠프 수업 자료)

파일 열기 : vi 파일명
작성 : vi *.txt 로 열기
- 명령모드로 시작
- 입력모드(i,a,o)
- 명령모드로 전환(esc)
입력 모드
i: 현재 커서부터 입력a: 다음 커서부터 입력o: 다음줄커서부터 입력x: 현재 커서가 위치한 단어 삭제dd: 현재 커서가 위치한 행 삭제yy: 현재 커서가 위치한 행 복사p: 현재 행 이후에 붙여넣기
명령 모드
- esc
- :w : 파일 저장
- :q : 저장없이 vi 종료
- :wq : 저장 후 vi종료
- G : 파일의 마지막 줄로 이동
- gg : 파일의 첫 줄로 이동
- Ctrl + f : 한 페이지 아래로 이동
- Ctrl + b : 한 페이지 위로 이동
- / : 검색하기
- 예를 들어, "hello"를 찾으려면 /hello 입력 후 엔터
복습 시간이 수업 시간만큼 길었던 것 같다 ^^;;
후반부 수업에서는 특히 vi 파트가 흥미로웠다.
독학 공부 시에 터미널 사용하다 vi 편집 모드로 들어 갔을 때, 어떻게 사용하는지 몰라 esc, q 등 다양하게 눌러보다 오류가 발생해 터미널 자체를 종료했다가 다시 시작하곤 했었다.
앞으로는 vi 편집기를 좀 더 수월하게 활용할 수 있을 것 같다!
와우..