본문 바로가기
프로그래밍/LINUX

[LINUX 4일차] CentOS 파일 명령어 - 내용 확인 (cat, tail, head) / 내용 확인 및 수정 (vi)

by B T Y 2017. 3. 15.
반응형

CentOS 파일 명령어 - 내용 확인 (cat, tail, head) / 내용 확인 및 수정 (vi)에 대해서 정리한다.




※ 파일 관련 명령어



1. 파일 내용 확인 ( cat, tail, head )

( 내용 확인만 가능하고 수정은 불가능하다 )


1). cat <path> : 파일 전체 내용을 출력한다.



( cat 명령어를 이용해서 /etc/passwd 파일에 내용을 전체 출력해봤다 )



2). tail <path> : 전체 내용 중에서 밑에서부터 10줄을 출력한다.

( -<number> 옵션을 이용해서 입력한 숫자만큼의 라인을 출력 할수도 있다 )




( -<number> 옵션을 이용해서 출력 라인수를 제어할수 있다 )



3). head <path> : 전체 내용 중에서 위에서부터 10줄을 출력한다.

( tail과 마찬가지로 -<number> 옵션을 사용할수 있다 )




( head 명령어에 -3이라고 옵션을 줬기 때문에 위에서부터 3줄이 출력된걸 볼수 있다 )



2. 파일 확인 및 수정 ( vi )


- vi <path> : 파일을 확인하고 수정 할 수 있다.

( 존재하지 않는 파일이라면 새파일을 생성하는데 저장하지 않고

종료한다면 생성되진 않는다 )


* vi는 명령모드, 입력모드, 실행모드 세가지 모드로 나뉜다.


* vi로 들어갔을때 명령모드에서 글자 단위로 커서 이동은 

h(왼쪽), j(아래), k(위), l(오른쪽)으로 

하는게 올바른 방법이라고 한다.

( 방향키로도 움직여지긴 한다 )



1). 명령모드 -> 입력모드

( a, A, o, O, i, I 키를 통해서 들어갈수 있는 모드이다 )


* vi 명령어를 이용해서 처음에 들어갔을때가 명령모드 상태이다.


* 입력모드 관련 키


a : 현재 커서의 오른쪽으로 이동으로 이동하면서 입력모드

A : 현재 라인의 오른쪽으로 이동하면서 입력모드

o : 현재 라인의 아래

O : 현재 라인의 위

i : 현재 커서의 왼쪽

I : 현재 라인의 왼쪽



( 입력모드는 아래쪽에 -- INSERT -- 라고 표시되있다 )



2). 명령모드

( 입력모드 -> 명령모드 )


* 입력모드에서 ESC 키를 통해서 명령모드로 갈 수 있다.



( file1에 명령모드로 명령모드는 따로 표시되는게 없다 )



* 명령모드 관련 키


h, j, k, l : 커서 이동

gg : 현재 문서의 맨 위로 커서 이동

G : 현재 문서의 맨 밑으로 커서 이동

yy : 현재 커서 라인 복사

-> <number>yy ( 원하는 줄만큼 복사 )

( y는 다른곳에서도 복사를 의미한다 )

p : 현재 커서 아래에 붙여넣기

P : 현재 커서 위에 붙여넣기

dd : 현재 커서 라인 삭제

-> <number>dd ( 원하는 줄만큼 삭제 )

( d는 다른곳에서도 삭제를 의미한다 )

u : 실행취소 ( undo )

ctrl + r : 다시실행 ( redo )



3). 실행모드


* 명령모드에서 /, :, ? 키로 실행모드로 갈 수 있다.


:q ( 종료 )

:w ( 저장 )

-> :wq ( 저장 후 종료 )

:q! ( 저장하지 않고 종료 )


:set nu 또는 :se nu ( 라인 번호 보기 )

-> :se nonu ( 라인 번호 숨기기 )

:<number> ( 입력한 줄로 커서 이동 )

:<number>,<number>y ( 해당 범위 복사 )

-> :%y

:<number>,<number>d ( 해당 범위 삭제 )

-> :%d

( 여기서 '%'는 전체를 의미하고 '$'는 마지막 라인을 의미한다 )


/단어 ( 내 커서의 아래쪽 방향 해당 단어 찾기 )

?단어 ( 내 커서의 위쪽 방향 해당 단어 찾기 )

n ( 같은 방향으로 탐색 )

N ( 반대 방향으로 탐색 )


:범위s/찾을내용/바꿀내용/옵션

( 하나의 라인에 같은 내용이 두개 이상 있다면 맨처음 하나만 바꾼다 )

-> -g 옵션을 이용하면 하나의 라인에 같은 내용이 두개 이상이라도 다 바꿔준다.


:!<command> ( vi 실행중에 외부 명령어 실행 )

-> 예) !ls -l /root

         !whoami


:sp <path> : 화면 분할


* 윈도우에서 메모장을 여러개 켜서 작업할수 있는것처럼

리눅스에서도 :sp를 통해서 여러개의 vi 편집기로 작업에 효율을 올릴수 있다.


* 다른 편집기로 커서를 이동하려면 ctrl + ww 를 이용하면 된다.


* 리눅스는 복사한 내용을 임시저장하는 클립보드가 유동적이기 때문에 

복사를 하고 해당 파일을 나가는 순간 복사한 내용이 사라지는걸 알 수 있다.

( 그렇기때문에 :sp를 통한 화면 분할 vi편집기 작업은 상당히 효율적인걸 알 수 있다 )



( 현재는 vi를 통해 file2에 들어와있다 )



( file2안에서 실행모드를 통해 :sp <path>를 이용해서 /home/user/file1을 하나 더 열었다 )



( /home/user/file1 과 file2가 화면 분할을 통해서 보여지는걸 알 수 있다 )


* :sp를 이용해서 화면 분할을 계속해서 추가하면 가장 최근 파일이 화면 상단에 위치 하는걸 알 수 있다.



- startx 명령어 : 현재 cli 환경을 일회성으로 GNOME 환경으로 보여주는 명령어이다.



- 인터넷 연결이 됬는데 CentOS상에서 연결이 안될때 설정 방법

1). cd /etc/sysconfig/network-scripts 명령어를 이용해서 해당 디렉터리로 이동한다.




2). vi ifcfg-ens33 으로 들어가서 ONBOOT="yes"로 바꿔주고 재부팅 해주면 된다.

( ifcfg-ens33 네트워크(랜카드) 관련 파일 )




반응형

댓글