vi에서 복사하기나 잘라내기를 하면 임시 버퍼(클립보드 버퍼)에 저장. 언네임드 버퍼라고도 하며, 내용을 하나만 저장할 수 있음. 행 단위로 복사하기, 잘라내기, 붙이기 yy - 커서가 위치한 행을 복사. #yy - #에는 복사할 행의 수를 지정. 3yy면 현재 커서의 행부터 세 행을 복사. p - 커서가 위치한 행의 아래쪽에 붙여넣음. P - 커서가 위치한 행의 위쪽에 붙여넣음. dd - 커서가 위치한 행을 잘라둠. 삭제와 같은 기능. #dd - #에는 잘라둘 행의 수를 지정. 4dd면 현재 커서의 행부터 네 행을 잘라둠. 네임드 버퍼 이용하기 이름을 붙여서 사용하는 버퍼. 각각 다른 이름을 붙인 버퍼에 독립적으로 내용을 저장하고 사용. - 네임드 버퍼 - "a, "b, "c, "d, ···, "z -..
내용 수정 ① 입력 모드 - delete 키 - backspace 키 ② 명령 모드 - r : 커서가 위치한 한 글자를 다른 글자로 수정 - cw : 커서 위치부터 현재 단어의 끝까지 수정 - #cw : #에는 수정할 단어의 수 지정. 예를 들어 3cw는 커서 위치부터 세 단어를 수정 - s : 커서 위치부터 Esc 키를 입력할 때까지 수정 - #s : #에는 수정할 글자의 수 지정. 예를 들어 5s는 커서 위치부터 다섯 글자 수정 - cc : 커서가 위치한 행의 모든 내용 수정 - C : 커서 위치 부터 행의 끝까지 수정 내용 삭제 x : 커서 위치의 글자를 삭제 #x : #에는 삭제할 글자 수를 지정. 예를 들어 4x는 커서 위치부터 네 글자 삭제 dw : 커서 위치의 단어를 삭제 #dw : #에는 ..
커서 이동 k 위 왼쪽 h l 오른쪽 j 아래 (유닉스는 화살표 키로 커서를 이동할 수 없었지만 리눅스는 화살표 키로도 커서 이동 가능. 즉, k, j, l, h 대신 ↑ ↓ → ← 화살표 키로 대체 가능.) ^ 또는 0 - 현재 행의 처음으로 커서 이동. (Home 키와 동일) $ - 현재 행의 마지막으로 커서 이동. (End 키와 동일) 화면 이동 Ctrl + u - 반 화면 위로 이동 Ctrl + d - 반 화면 아래로 이동 Ctrl + b - 한 화면 위로 이동 (Page Up 키와 동일) Ctrl + f - 한 화면 아래로 이동 (Page Down 키와 동일) Ctrl + y - 화면을 한 행만 위로 이동 Ctrl + e - 화면을 한 행만 아래로 이동 행 이동 G - 가장 마지막 행으로 커서 ..
vi의 모드 vi 시작 vi - 빈 파일이 열림. 별도로 이름 설정 가능. vi 파일명 - 해당 파일을 편집. vi 종료 (명령 모드나 마지막 행 모드에서 종료 가능) ① 마지막 행 모드 :q - vi에서 작업한 것이 없을 때 종료. :q! - 작업한 내용을 저장하지 않고 종료. :w 파일명 - 작업한 내용을 저장하고 종료하지 않음. :wq 또는 :wq! - 작업한 내용을 저장하고 종료. ② 명령 모드 ZZ - 작업한 내용을 저장하고 종료. 입력 모드로 전환 (vi 실행 시 명령 모드로 시작됨) i - 현재 커서 자리부터 입력 (insert) a - 현재 커서 다음 자리부터 입력 (append) o - 현재 커서 다음 행부터 입력 I - 현재 커서 행의 가장 처음부터 입력 A - 현재 커서 행의 가장 마..
리눅스 편집기 종류 ① 행 단위 편집기 - ed: 유닉스 초기의 행 편집기. 지금은 거의 사용하지 않음. - ex: 단독으로 사용하기보다는 vi에 연결하여 vi를 더욱 유용하게 함. - sed: 스트림 편집기. 지시된 명령에 따라 파일의 내용을 일괄적으로 바꾸어 출력. 셸 스크립트 작성 시 주로 사용. ② 화면 단위 편집기 - vi: 리눅스에서 일반적으로 사용하는 화면 편집기. 명령이 단순하여 빠르게 편집. 터미널 모드에서 사용. - emacs: 기능이 다양하지만 사용법이 어려워 전문가가 주로 사용. ③ GUI 편집기 - gedit: GUI 모드에서 사용. 문서 편집기 종류 - 모드형: 입력 모드와 명령 모드가 구분. vi가 해당. (입력 모드는 텍스트를 입력. 명령 모드는 텍스트 수정, 삭제, 복사, ..
빈 파일 생성 or 수정 시간 변경 touch 파일명: 파일명이 존재하지 않으면, 빈 파일 생성. 존재하면 해당 파일의 수정 시간이 현재 시간으로 변경.touch -t 수정시간 파일명: 수정 시간이 지정된 시간으로 변경 파일 검색 grep 문자열 파일명: 해당 파일에서 해당 문자열이 있는 부분을 찾아서 출력grep -n 문자열 파일명: 행의 번호도 함께 출력whereis 명령: 특정 명령이 있는 모든 위치의 절대 경로 출력 (모든 파일의 위치)which 명령: 특정 명령이 있는 하나의 절대 경로만을 출력.
파일의 구성: 파일명+inode+데이터 블록 * inode: 파일에 대한 정보를 가지고 있는 특별한 구조체. 파일의 종류와 크기, 소유자, 파일 변경 시간, 파일명, 데이터 블록 주소 등이 저장. ls -l으로 출력되는 정보는 inode의 정보를 출력하는 것. inode 번호는 파일을 구분하는데 쓰임. 파일명은 다르지만 inode가 같다면 같은 파일. ls -i 명령으로 inode 확인. 파일 링크: 기존 파일에 새로운 이름을 붙이는 것. 하드 링크와 심벌릭 링크가 있음. - 하드 링크: 기존 파일에 새로움 파일명을 추가로 생성하는 것. (한 파일에 여러 개의 이름을 붙이는 것) - 심벌릭 링크: 원본 파일을 가리키는 새로운 파일을 만드는 것. 링크 생성 ln 파일1 파일2: 파일1을 원본으로 가지는 하..
파일 내용 출력 cat 파일: 파일 내용 출력 cat -n 파일: 행 번호가 표시되어 출력 more 파일: 화면 단위로 파일 내용 출력(space bar는 다음 화면 출력, enter는 한 줄씩 스크롤, /문자열 입력은 해당 문자열으로 이동, q는 종료) less 파일: 화면 단위로 파일 내용 출력(more 명령과 달리 지나간 내용을 다시 스크롤해 볼 수 있음) tail 파일: 파일 뒷부분 10행이 출력 tail -숫자 파일: 뒷부분의 해당 숫자만큼 출력 tail -f 파일: 명령이 종료되지 않고 주기적으로 10행씩 출력 파일 복사 cp 파일1 파일2: 파일2가 존재하지 않으면 새 파일을 만들어 파일1 내용을 복사. 존재하면 파일1 내용을 덮어씀. cp 파일 디렉터리: 파일을 해당 디렉터리 아래에 복사...