cd
는 "change directory"의 약자로 특정 디렉토리로 이동하고 싶을 때 사용. cd
뒤에 가고 싶은 디렉토리 경로를 입력. cd <가고자 하는 디렉토리 경로>
cd # 사용자 디렉토리로 이동
cd / # root 디렉토리로 이동
cd .. # 상위 디렉토리로 이동
cd Desktop/wecode # Desktop 하위 wecode 디렉토리로 이동
ls
는 "list"의 약자로, 현재 디렉토리에 속한 파일 및 디렉토리를 나열. ls #현재 디렉토리에 있는 내용 출력
ls -a # 숨겨진 파일이나 디렉토리도 함께 보여줌
ls -l # 자세한 내용(권한, 포함된 파일 수, 소유자, 그룹, 파일크기, 수정일자, 파일이름)
ls -al # a와 l의 기능을 모두 포함
ls -h -al # -h를 붙이면 K, M, G 단위의 파일크기를 사용하여 보기 좋게 표시
mv
는 "move"의 약자로 파일이나 디렉토리를 원하는 곳으로 옮기거나, 이름을 변경할 때 사용할 수 있는 명령어. mv <원본 파일명> <옮기고 싶은 디렉토리명> # 해당 디렉토리로 파일 이동
mv <원본 파일명> <바꾸고 싶은 파일명> # 원본 파일 이름 변경
mv <원본 디렉토리명> <옮기고 싶은 디렉토리명> # 해당 디렉토리로 디렉토리 이동
mv <원본 디렉토리명> <바꾸고 싶은 디렉토리명> # 원본 디렉토리 이름 변경
#두 번째에 있는 옮기거나 바꾸고 싶은 파일/디렉토리명이 존재하면 '이동'이 진행되고, 없으면 '이름 변경'이 진행됨
cp
는 "copy"의 약자로 파일이나 디렉토리를 원하는 곳에 원하는 이름으로 복사할 수 있는 명령어.cp <원본 파일명> <옮기고 싶은 디렉토리명> # 해당 디렉토리로 원본 파일 복사
cp <원본 파일명> <복사해서 만들고 싶은 파일명> # 해당 파일명으로 사본 파일 생성
cp <원본 파일명1> <원본 파일명2> <옮기고 싶은 디렉토리명> # 여러 파일을 한 번에 해당 디렉토리로 복사
cp <원본 디렉토리> -r <옮기고 싶은 디렉토리명> # 원본 디렉토리의 하위 파일까지 모두 해당 디렉토리로 복사
cp <원본 디렉토리> -r <복사해서 만들고 싶은 디렉토리명> # 위의 방식을 응용해서 복사해서 만들고 싶은 디렉토리 생성
cat
은 "concatenate"의 약자로 두 개 이상의 파일을 연결해서 출력할 때 사용cat <파일명1> <파일명2> ... # 기본적인 사용방법. 두 개 이상의 파일을 연달아 출력함
cat <파일명> # 파일의 내용 출력
rm
은 remove의 약자로 파일과 디렉토리 삭제에 사용되는 명령어rm <파일명> # 해당 파일을 삭제
rm .txt # .txt로 끝나는 모든 파일을 삭제
rm # 전체 파일 삭제
rm -r <파일명/디렉토리명> # 해당 파일/디렉토리 삭제
rm -rf <파일명/디렉토리명> # 해당 파일/디렉토리 강제 삭제(경고문구 없이 삭제)
mkdir
은 "make directory"의 약자로 새로운 디렉토리를 만들 수 있는 명령어. mkdir <새로운 디렉토리명> # 해당 경로에 새로운 디렉토리를 만들어줌
mkdir -p <새로운 디렉토리명 +"/" + 새로운 하위 디렉토리명> # 하위 디렉토리까지 함께 생성
mkdir -p dir1/subdir1 # dir1이라는 새로운 디렉토리와 그 안에 하위 디렉토리인 subdir1까지 함께 만들어줌
pwd
는 "print working directory"의 약자로 현재 작업 중인 디렉토리의 절대 경로를 반환Linux
의 대표적인 텍스트 편집기 vi
와 호환되는 텍스트 편집기
- 일반(Normal)모드 or 명령(Command)모드
- 명령줄 모드(Command Line Mode)
- 편집/입력모드(insert mode)
- 비쥬얼 / 선택모드(Visual)
사용자가 키보드를 통해서 타이핑하는 모든 내용을 하나의 명령으로서 받아들이는 모드
사용자가 입력한 문장이 특정 명령어가 되는 모드
입력하는 모든 내용들이 문서의 내용이 되는 모드, 단순히 타이핑할 수 있는 모드에 해당한다.
문서를 구성하는 특정 부분의 내용을 선택할 때 사용하는 모드
i
를 사용한다.Esc
키를 누르면 된다.명령어 | 설명 | 예제 |
---|---|---|
vi {파일명} | 파일열기, 작성 | vi test.txt |
vi +{행번호} {파일명} | 파일을 열고, 입력한 행으로 커서 이동 | vi -100 test.txt |
vi +/"{검색 문자열}" {파일명} | “문자열”의 처음발생 단어부터 열기 | vi -/"adc" test.txt |
vi –r {파일명} | 손상된 파일 회복 | vi -r test.txt |
view {파일명} | 읽기 전용으로 열기기 | view test.txt |
커서 | 설명 |
---|---|
h (←) | 왼쪽으로 커서 이동 |
j (↓) | 아래로 커서 이동 |
k (↑) | 위로 커서 이동 |
l (→) | 오른쪽으로 커서 이동 |
e | 오른쪽 한 단어의 끝 부분으로 커서 이동 |
w | 오른쪽 한 단어의 앞 부분으로 커서 이동 |
b | 왼쪽 한 단어의 앞 부분으로 커서 이동 |
Enter | 한 행 아래로 커서 이동 |
Back space | 한 문자 왼쪽으로 커서 이동 |
Space Bar | 한 문자 오른쪽으로 커서 이동 |
^ | 행의 맨 왼쪽으로 커서 이동 |
$ | 행의 맨 오른쪽으로 커서 이동 |
H | 화면의 맨 위로 이동 |
M | 화면의 중간으로 이동 |
L | 화면의 맨 아래로 이동 |
숫자G | ‘숫자’ 만큼 지정한 줄로 커서 이동 |
Ctrl + i | 한 화면 위로 이동 |
Ctrl + b | 한 화면 아래로 이동 |
Ctrl + d | 반 화면 위로 이동 |
Ctrl + u | 반 화면 아래로 이동 |
Ctrl + e | 한 줄씩 위로 이동 |
Ctrl + y | 한 줄씩 아래로 이동 |
vi {파일명}
명령어로 입력했을 때, 입력한 파일명이 실제 존재 하지 않는 경우 파일을 생성. 커서 | 설명 |
---|---|
a | 커서 오른쪽에 문자 삽입 |
A | 커서 오른쪽, 행의 끝에 문자 삽입 |
i | 커서 왼쪽에 문자 삽입, insert mode |
I | 커서 왼쪽, 행의 처음에 문자 삽입 |
o | 커서 아래에 행 삽입 |
O | 커서 위에 행 삽입 |
ESC | 종료, Normal mode |
명령어 | 설명 |
---|---|
cw | 단어 변경 |
cc | 행 변경 |
C | 커서 오른쪽의 행 변경 |
s | 커서가 위치한 문자열 대체 |
S | 커서가 위치한 라인의 문자열 대체 |
r | 커서 위치 문자를 다른 문자로 대체 |
r-Enter | 행 분리 |
J | 현재 행과 아래 행 결합 |
xp | 커서 위치 문자와 오른쪽 문자 교환 |
~ | 문자형(대, 소문자) 변경 |
u | 이전 명령 취소 |
U | 행 변경 사항 취소, 이전의 최종 행 취소 |
. | 이전 최종 명령 반복 |
명령어 | 설명 |
---|---|
x | 커서가 있는 문자 삭제 |
nx | 커서가 있는 위치부터 n개의 문자를 삭제 |
dw | 현재 커서에 있는 한 단어 삭제 |
dd | 커서가 있는 라인 삭제 |
ndd | 커서가 있는 라인부터 n개의 라인 삭제 |
db | 커서의 위치에서 거꾸로 한 단어 삭제 |
D | 커서 오른쪽 행 삭제 |
:5,10d | 5~10번째 행 삭제 |
명령어 | 설명 |
---|---|
yy | 커서가 위치한 줄 복사 |
Y | 행 yank 또는 복사 |
yh | 커서의 왼쪽 문자 복사 |
yl | 커서에 위치한 문자 복사 |
yi | 커서가 위치한 줄과 그 아랫줄 복사 |
yk | 커서가 위치한 줄과 그 윗줄 복사 |
p | yank 되거나 삭제된 행 현재 행 위로 삽입 |
P | yank 되거나 삭제된 행 현재 행 아래에 삽입 |
:1,2 co 3 | 1~2행을 3행 다음으로 복사 |
:4,5 m 6 | 4~5행을 6행 위로 이동 |
명령어 | 설명 |
---|---|
:w | 변경사항 저장 |
:wq | 변경사항 보관 후 vi 종료. ZZ 명령과 같음. :w(기록)과 :q(종료) 를 연속적으로 수행. |
:q! | 변경사항 보관하지 않고 종료 |
q | 수정한 파일을 저장하지 않고 vi 종료 |