본문 바로가기
이것저것

Linux & vi editor 단축키 참조

by shinhyogeun 2020. 10. 28.

1. Linux 단축키

- date : 날짜 출력

- clear : terminal 화면 치우기

- man + command : 매뉴얼 페이지 출력

- passwd : 사용자 계정의 비밀번호 변경

- pwd : 현재의 working Directory 출력

- . : 현재의 working Directory  

- .. : 상위 디렉토리(현재의 디렉토리의 한단계 위)

- ~: 현재 사용자의 home Directory

 

- cd : 작업 디렉토리 변경 *****

- ls : 지정 디렉토리의 내용을 출력 *****

( option으로 ls -a : 숨김파일까지 모두 출력, ls -l : 파일의 상세정보 출력, ls -al도 가능)

- mkdir : 지정 디렉토리 생성 ***** 

(option으로 mkdir -p : 상위 디렉토리까지 없으면 같이 생성 

  ex) mkdir -p ~/test/abc  : test가 없으면 test디렉토리까지 생성

- cat : 지정된 파일의 내용을 출력 ****

 

- cp : 디렉토리 및 하위 디렉토리 내용 모두 복사***

  ex) cp test.txt ~/Downloads : test.txt파일을 다운로드 디렉토리 안으로 복사한다.

  ex) cp test.txt a.txt : test.txt파일의 복제본 a.txt파일을 만든다.

  

- mv : 파일의 이동 및 파일명의 변경***

  ex) mv file FILE : file이라는 이름을 가진 디렉토리의 이름을 FILE로 변경한다.

  ex) mv FILE ~/Downloads : FILE이라는 디렉토리를 다운로드 디렉토리로 넣는다.(이동시킨다)

 

- ln : hard link와 symbolick link를 생성하는 명령***

  ex) ln a.txt a.ln : a.txt라는 파일과 동일한 곳을 쳐다보는 또다른 파일(hard link)을 만든다. (a.txt파일이 없어져도 a.ln은 이용가능하다.)

  ex) ln -s a.txt as.ln : a.txt라는 파일을 쳐다보는 파일(symbolick link)을 만든다. 그래서 a.txt파일이 없어지면 as.ln은 이용불가능

 

- rm : 지정한 파일을 삭제하는 명령어 *****

  (option으로 -rf가 있는데 이것은 강제로 지정 디렉토리를 삭제하는 것이다.)

 

- grep : 파일에서 지정한 패턴이 있는 행을 찾아 출력 ****

  (option으로 -i : 대소문자 모두 검색,  -l : 해당 패턴을 포함하는 파일 이름 출력, -n : 행번호 출력)

  ex) grep SSL /etc/services : services 디렉토리 안에 SSL을 포함하는 모든 파일을 출력.

  ex) ls /user/bin | grep ^d : "|"기호로 복합적으로 사용가능 (^d는 d로 시작한다는 의미이다.)

 

- find : 조건에 맞는 파일을 지정한 위치에서 찾는 명령어***

  ex) find /etc -name host* : 호스트라는 이름을 포함하는 파일들을 etc디렉토리 안에서 찾아서 출력

  ex) find /home -user stat : stat이라는 사용자가 가진파일들을 홈디렉토리 안에서 찾아서 출력

 

- wget : 웹으로 부터 파일을 다운로드 받을 때 사용 가능한 명령어***

  ex) wget (downloads url) : url 다운로드 

  ex) wget -O filename (downloads url) : filename이름으로 url 다운로드 

  ex) wget -c (downloads url) : 이어받기.

 

- useradd : 사용자 계정 생성하는 명령어 

   ex) useradd -m stat3 : 홈디렉토리와 같이 stat3라는 사용자를 추가한다.

   ex) sudo passwd stat3 : 비밀번호 생성

   ex) su stat3 : stat3 실행!

2. linux의 접근권한

  모든 파일에 rwx이 붙는다. r = 읽기, w = 수정, x = 실행 3가지의 권한이 주어진다. 

이러한 3가지의 경우가 소유자와 그룹 그리고 기타사용자 이렇게 3가지 경우가 또 필요하므로 총 9가지의 경우가 있다.

이러한 접근권한을 수정할 때는 기호모드와 숫자모드가 있다. (숫자모드 권장)

    1). 기호모드

       ex) chmod g+wx chtest : chtest라는 디렉토리에 관하여 그룹에 읽고 실행할 수 있는 권한을 추가한다.

       ex) chmod ugo = x chtest : chtest라는 디렉토리에 관하여 3그룹 모두에게 실행할 수 있는 권한만 준다.

    2). 숫자모드

       ex) chmod 755 chtest : user에게는(111(2) = 7) 모든권한을 주고 그룹과 기타이용자에게는 (101(2) = 5) 읽고 실행              할 수 있는 권한만 부여한다.

 

3. vi editor

    vi editor는 terminal에서 직접 실행이 가능한 대표적인 linux 텍스트 편집기이다.

 

  - 실행 : vi filename 으로 실행

 

  - 종료 : 

            1. :q : 작업한 것이 없을 때 종료

            2. :q! : 작업한 것을 저장하지 않고 종료

            3. :wq : 작업한 것을 저장하고 종료 *****

            4. :w : 작업한 내용 저장

 

  - 입력모드로 전환 :

            1. i : 현재 커서 앞에 입력

            2. a : 현재 커서 뒤에 입력

            3. o : 현재 커서 다음행에 입력(벌려서 들어간다.)

            4. I : 현재 커서가 맨앞으로 들어가 입력

            5. A : 현재 커서가 맨뒤로 들어가 입력

            6. O : 현재 커서가 위의 행에 별려서 들어간다.

 

   - 커서 및 화면 이동

             1. Ctrl + u : 그화면에서 왼쪽 맨 위로

             2. Ctrl + d : 그화면에서 왼쪽 맨 아래로

             3. Ctrl + f : 뒤로 한 페이지

             4. Ctrl + b : 앞으로 한 페이지

             5. Ctrl + y : 화면을 한 행만 위로 이동

             6. Ctrl + e : 화면을 한 행만 아래로 이동

             7. 행번호 + G : 지정한 행 번호로 이동

 

             8. h : 한글자 왼쪽으로 이동

             9. l : 한글자 오른쪽으로 이동

             10. k : 한 행 위로 이동

             11. j : 한 행 아래로 이동

             12. ^ : 행의 처음으로!

             13. $ : 행의 마지막으로!

             14. H : 화면의 첫행으로 이동

             15. M : 화면의 중간 행으로 이동

             16. L : 화면의 마지막 행으로 이동

             17. w : 다음 단어의 첫글자로 이동

 

    - 내용 수정하기

             1. r : 한 글자 수정 (esc누를 필요 없다)

             2. cw : 수정할 단어에 커서를 두고 cw입력하면 수정가능 (esc 눌러야한다.)

             3. cc : 현재 커서의 행 다시 작성! (esc 눌러야한다.)

             4. x : 한 글자 삭제

             5. dw : 삭제할 단어에 커서를 두고 dw입력하면 삭제가능

             6. dd : 현재 행 삭제

             7. D : 현재 커서부터 행 끝까지 삭제

             8. C : 현재 커서부터 행 끝까지 수정

 

    - 기타

             1. u : 명령 취소하기

             2. U : 해당행에서 적용된 모든 명령 취소

             3. yy , p : 행 복사 / 붙여넣기(p는 아래로 P는 위로)

             4. /문자열 : 문자열을 모두 검색

             5. ?문자열 : 문자열을 거꾸로 검색(뒤부터)

             6. n : 문자열 하나하나 순서대로 보기

             7. N : 문자열 순서 거꾸로 보기

             8. :s/문자열1/문자열2 : 커서가 위치한 행에서 첫번째로 나오는 문자열1을 문자열 2로 치환

             9. :%s/문자열1/문자열2 : 모든 문자열1을 문자열 2로 치환

             10. : (1),(2) s/문자열1/문자열2 : 범위내 치환