whereis vi
-> vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz /usr/share/man/man1p/vi.1p.gz
whereis vim
-> m: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
리눅스 설치시 '.bashrc'에 'vi'라고 입력하면 'vim' 편집기를 사용하도록 앨리어스를 설정하였다.
그렇기 때문에 실습시 'vi' 명령어를 실행하면 오리지널 vi 편집기가 아닌 'vim' 편집기로 실행된다.
cat .bashrc | grep 'alias vi'
-> alias vi='vim'
alias vi
-> alias vi='vim'
명령 모드 : vi 편집기 시작 모드, 커서 이동, 복사/붙여넣기/삭제
입력 모드 : 텍스트 입력/삭제/수정 가능한 모드
확장 모드 : 좌측 하단에서 명령어를 수행할 수 있는 모드
확장 모드는 다양한 기능을 제공한다.
확장 모드로 전환하려면 명령 모드에서 :(콜론)를 실시한다
:set bg=light 백그라운드가 밝은색인 경우, 글자를 어둡게 해줌.
:set bg=dark 백그라운드가 어두운색인 경우, 글자를 밝게 해줌.
:set nu 라인 번호을 출력해줌.
:set nonu 라인 번호을 출력하지 않는다.
:set ts=4 tab 키 공간을 4 칸으로 조정한다.
:set title vi 편집기 타이틀 창에 파일 제목을 표시한다.
:w 저장하기
:wq 저장하고 나가기
:q 나가기
:q! 강제 나가기(저장하지 않고 나가기)
홈 디렉토리에 '.vimrc' 파일이 있다면, 파일 안에 설정된 명령이 vim 편집기가 실행될때 확장 모드에서 자동 적용된다.
확장 모드에서 리눅스 명령어 사용하려면 ! 이후에 리눅스 명령어를 입력하면 된다.
확장 모드에서 bash 명령을 실행하여 싞규 bash 쉘 환경에서 명령어를 사용할 수 있다.
확장 모드에서 문자열 검색하는 방법
->
:/단어
root 계정으로 SSH 접속을 하나 더 실시한다.
기존 root 계정 접속을 A 라고 하고, 새로 접속한 root 계정 접속을 B 라고 할 예정이다
E325: 주목
Found a swap file by the name ".test.c.swp"
소유자: root 날짜: Fri Mar 25 19:41:40 2022
파일 이름: ~root/test.c
수정: 아니오
사용자 이름: root 호스트 이름: Client1
프로세스 ID: 2332 (아직 실행중)
While opening file "test.c"
날짜: Fri Mar 25 19:39:53 2022
(1) 다른 프로그램이 같은 파일을 고치고 있는중일 수 있습니다.
맊약 그렇다면 같은 파일을 두 개의 프로그램에서 고치지 않도록
조심하시기 바랍니다. 종료하세요. 계속하시려면 주의하세요.
(2) 이 파일을 고치다가 죽었었습니다.
맊약 그렇다면 ":recover" 혹은 "vim -r test.c"
을 사용하여 복구하십시오 (":help recovery" 참고)
A 에서 'test.c' 파일을 vi 편집기로 아무거나 추가한다.
B 에서 A 에서 실행한 vi 편집기를 강제로 종료한다.
A 를 확인하면 '죽었음' 문자열과 함께 vi 편집기가 종료된 것을 확인할 수 있다.
A 에서 vi 편집기로 추가한 내용을 저장하지 않고 종료되었기 때문에 '.test.c.swp' 파일을 이용하여 복구할 수 있다.
복구가 끝난 이후에도 위의 내용이 출력되는 이유는 '.test.c.swp'이 남아있기 때문이다.
'q'를 입력하고 나가기를 한 이후 '.test.c.swp' 파일을 삭제하고 'test.c' 파일을 다시 오픈한다.
쉘 프롬프트 출력 형식을 갖고 있는 환경 변수이다.
PS1 환경 변수 기본값은 다음과 같다.
set | grep PS1
-> PS1='[\u@\h \W]\$ '
echo $PS1
-> [\u@\h \W]\$
\u 접속한 계정 이름
\h 시스템 이름
\W 계정 홈 디렉토리는 '~(틸드)'로 표기되며, 다른 경로 이동시 현재 경로만 표기된다.