Linux 복습
명령어 정리
- Ctrl + b : 한 문자 뒤로 이동
- Ctrl + f : 한 문자 앞으로 이동
- Ctrl + a : 맨 앞으로 이동
- Ctrl + b : 맨 뒤로 이동
- Meta(Alt or ESC) + b : 한 단어 뒤로 이동
- Meta + f : 한 단어 앞으로 이동
- Ctrl + w : 커서 앞의 한 단어 삭제
자르기, 붙여넣기
- Ctrl + k : 커서의 위치에서 끝까지 삭제
- Ctrl + u : 커서의 위치에서 커맨드 라인의 첫 문자까지 삭제
- Ctrl + y : 마지막으로 지운 내용을 삽입
화면 표시 잠금, 해제
- Ctrl + s : 화면표시 잠금
- Ctrl + q : 화면표시 잠금 해제
실행 중인 명령 강제 종료
화면 삭제
- Ctrl + l or reset : 화면 삭제(Clear)
자동 완성
- Tab 키 한 번 : 자동완성
- Tab 키 두 번 : 자동완성 후보 일람 표시
명령 이력 관련 단축키
- Ctrl + p or ↑ : 바로 전 명령으로 이동
- Ctrl + n or ↓ : 다음 명령으로 이동
- Ctrl + r : 이력을 검색
디렉터리 이동과 확인 명령어
- pwd : 현재 자신의 디렉터리 위치 확인
- cd : 현재 디렉터리 변경
- ls : 디렉터리 내의 파일 출력
- ls 명령어의 옵션
-l : 파일의 속성과 상세 정보까지 출력
-a : 숨겨진 파일도 함께 출력
-F : 파일의 종류를 의미하는 기호를 추가하여 출력
디렉터리 작성
- mkdir : 디렉터리 작성
- -p : 디렉터리 2개를 한번에 만들수 있게 해주는 옵션
디렉토리/파일 삭제
- rm : 디렉터리/파일 삭제
- -r : 디렉터리를 삭제할 때 사용하는 옵션
- rmdir : 빈 디렉터리를 삭제할 때 사용하는 명령어(비어있지 않으면 메시지 출력)
파일 내용 출력
- cat : 파일 내용을 출력
- -n : 행 번호가 함께 출력
- less : 화면 단위로 파일 내용 출력
- space : 한 화면 아래로 스크롤
- b : 한 화면 위로 스크롤
- q : less 명령어 종료
- / : less로 열려 있는 파일에서 문자열 검색
-n : 다음 문자열 위치로 이동
-N : 이전 문자열 위치로 이동
파일 내용 복사
- cp : 파일/디렉터리 복사
- -r : 디렉터리를 복사하기 위해서는 옵션 필요
파일/디렉터리 이동
- mv : 이동할 파일과 이동할 위치에 전부 파일을 지정하면 결과적으로 파일 이름이 바뀌게 된다. 파일을 디렉터리로 옮기면 파일의 위치만 이동
링크 만들기
- 긴 경로명을 짧게 할 수 있다.
- 여러 버전의 소프트웨어를 심볼릭 링크로 관리할 수 있다.
파일을 찾는 명령어
- find : 디렉터리 트리에서 파일 찾기
파일 찾기
find <검색할 디렉터리> <검색 조건> <액션>
검색 조건 명령어
- -name, -iname : 이름으로 찾기, name은 대소문자를 구별하지만, iname은 구별하지 않는다.
- '*'나 '?'를 사용할 때에는 작은 따옴표(')로 감싸줘야 한다.
- -type : 파일 형식으로 찾기
| 지정 | 파일 형식 |
|---|
| -type f | 보통 파일 |
| -type d | 디렉터리 |
| -type l | 심볼릭 링크 |
- -a(and) : 검색 조건 여러 개 지정하기
- locate : 데이터베이스에서 파일 찾기(설치 필요)
locate로 파일 검색
locate [옵션] <검색 패턴>
- -i : 대소문자 구분 없이 검색
- -b : 파일 이름만으로 검색
- 여러 검색 문자열을 지정하면 or 조건으로 검색
- -A : and 조건으로 검색
locate 명령어는 시스템에 원래부터 있었던 파일이나 며칠 전에 만든 파일을 빠르게 검색할 때 사용
명령 사용법 리눅스에서 확인하기
| 항목 | 내용 |
|---|
| 이름 | 명령어 이름과 간단한 설명 |
| 서식 | 옵션이나 인자 지정 방법 |
| 설명 | 명령어의 상세 설명 |
| 옵션 | 지정할 수 있는 옵션 목록과 사용 방법 |
| 예 | 대표적인 사용 방법 예시 |
| 환경 변수 | 동작을 바꾸는 변수에 대한 설명 |
| 파일 | 설정 파일이나 관련 파일 |
| 관련 항목 | 관련된 명령어 혹은 동작이 비슷한 명령어 |
| 버그 | 알려진 버그 |
man -k <키워드>
| 섹션 번호 | 내용 |
|---|
| 1 | 명령어 |
| 2 | 시스템콜 |
| 3 | 라이브러리 함수 |
| 4 | 디바이스 파일 |
| 5 | 파일 서식 |
| 6 | 게임 |
| 7 | 기타 |
| 8 | 시스템 관리 명령어 |
| 9 | 커널 루틴 |
- 섹션변호를 지정하여 매뉴얼 확인
man <섹션 번호> <이름>
- -wa : 특정 명령어가 어떤 섹션에 포함되어 있는지를 확인
- which : which를 실행하면 패스 상의 디렉터리를 검색하여 지정한 명령어의 전체 경로를 출력
윈도우와의 차이점
- 디렉토리 = 윈도우에서의 폴더와 비슷
- 루트 디렉터리(/)에 모든 디스크가 속해있다
리눅스의 주요 디렉터리
- /bin : 사용자 및 관리자가 사용하는 명령어의 실행 파일이 배치
- /dev : 디바이스 파일이 배치(디스크, 키보드 등 하드웨어)
- /etc : 리눅스에서 실행되는 다양한 App의 설정파일, 리눅스 자체의
설정 파일도 포함되어 있다
- /home : 사용자별로 할당되는 홈 디렉터리가 배치되는 디렉터리
- /sbin : /bin과 비슷하게 실행 파일을 포함하는 디렉터리지만 관리자용 명령어가 포함되어 있다
- /tmp : 임시 파일이 들어 있는 디렉터리
- /usr : 설치한 App의 실행 파일, 문서, 라이브러리 등이 이 디렉터리에 포함
- /var : 변화하는(variable) 데이터를 저장하기 위한 디렉터리. 로그, 메일, 등이 기록된다
텍스트 에디터
리눅스에서 가장 많이 사용하는 에디터는 Vim과 Emacs가 있다. 이 중 Vim을 사용할 방법을 소개하겠다.
- Vim 설치확인
vim --version
설치되어 있지 않다면 Vim을 설치
-
우분투에서 Vim 설치
$ apt-get install vim
-
CentOS에서 Vim 설치
$ yum install vim
- Vim 사용
- Vim 시작
$ vim <- vi라고 입력해도 가능
-
Vim 종료
:q [enter]
-
Vim 저장
:w
Vim으로 기존 파일을 열었던 상태라면 덮어쓰기, 새로운 파일을 편집 중이라면 새로운 파일을 만든다. w 뒤에 스페이스를 입력하고 파일이름을 지정하면 해당 파일 이름으로 저장된다.
| 명령어 | 내용 |
|---|
| :q | Vim 종료 |
| :w | 저장 |
| :w<파일 이름> | 파일 이름을 지정하여 저장 |
| :q! | 저장하지 않고 Vim 강제종료 |
| 명령어 | 내용 |
|---|
| h | 왼쪽으로 이동 |
| j | 아래로 이동 |
| k | 위로 이동 |
| l | 오른쪽으로 이동 |
| w | 단어 단위로 오른쪽으로 커서 이동 |
| b | 단어 단위로 왼쪽으로 커서 이동 |
| 0 | 행의 시작으로 이동 |
| $ | 행의 끝으로 이동 |
| <숫자>G | 지정한 행으로 이동(ex : 100G 입력시 100번째 행으로 이동) |
| gg | 파일의 첫번째 행으로 이동 |
| G | 파일의 마지막 행으로 이동 |
지우고싶은 문자 위에서 x를 누르면 된다.
i 를 입력하여 문자 입력(커서 왼쪽)
a 를 입력하여 문자 입력(커서 오른쪽)
| 일반적인 에디터에서의 명칭 | Vim에서의 호칭 |
|---|
| 자르기 | 삭제(delete) |
| 복사 | 복사(yank) |
| 붙여넣기 | 붙여넣기(put) |
- 삭제
- x or d : x는 한글자, d는 범위를 지정하여 삭제
- 붙여넣기
- d로 지운 텍스트는 p로 원하는 곳에 붙여넣을 수 있다.
- 복사
- 지우지 않고 복사만 하고 싶은 경우에는 d 대신에 y를 사용한다.
그 외의 조작
- 다음 행과 연결하기
- 취소와 재실행
직전에 실행한 조작을 취소하기 위해서 U를 누른다.
취소한 동작을 다시 실행하고 싶으면 Ctrl+r을 누른다.
검색과 치환
-
검색
파일 내의 문자열을 검색하기 위해서는 /를 누른다.
검색은 현자 커서부터 시작. 검색 결과가 여러 개라면 n을 누를 때마다 다음 검색 결과로 이동. 이전 검색 결과는 N을 누른다.
-
치환
문자열 치환
:%s/<검색할 문자열>/<치환할 문자열>/g
Vim의 도움말과 공식 문서
-
튜토리얼
$ vimtutor
-
Vim 도움말
:help
도움말 중 다른 항목에 대한 링크로 넘어가기 : Ctrl+]
링크로 넘어가기 전으로 돌아가기 : Ctrl+t