리눅스(Linux) 기본 명령어
리눅스 기본 명령어와 vi 편집기 기초 사용법
리눅스 강의를 듣고 리눅스 기본 명령어와 vi 편집기 기초 사용법에 대해 정리해본다.
apple의 전 최고 디자인 책임자 조너선 아이브가 ‘처음부터 다시 시작해야한다’고 말하는 이 유명한 짤에 써진 명령어가 과연 어떤 의미를 가지는지 알아보자.
리눅스 명령어
쉘 프롬프트 상에서 입력 토큰의 종류
- 명령어
- 옵션: -기호로 시작되는 토큰
- 인자: -기호로 시작되지 않는 토큰
기본 명령어
sudo
: super user(root)인 관리자 권한(root 계정)으로 실행
pwd
: 현재 자신이 위치한 디렉토리 출력
cd
: 디렉토리 이동
ls
: 현재 자신이 속해있는 디렉토리 내용 확인(-a
모든 파일 보기, -l
더 자세한 정보 출력, -t
시간 순 정렬, -S
크기 순 정렬)
mkdir
: 디렉토리 생성
rmdir
: 디렉토리 삭제
help
: 내장 명령어에 대한 도움말 출력 (명령어 뒤에 --help
붙이는 것과 동일)
echo
: 화면에 문자열 출력
touch
: 파일 생성 (크기 0)
cp
: 파일 및 디렉토리 복사 (-r
디렉토리 안의 모든 내용을 재귀적으로 복사)
mv
: 파일 이동
rm
: 파일 및 디렉토리 삭제 (-r
디렉토리 안의 모든 파일을 재귀적으로 삭제하는 옵션, -f
존재하지 않는 파일이나 엑세스 권한이 없는 파일에 대하여 확인 메시지를 무시하라는 옵션)
rmdir
: 비어있는 디렉토리 삭제
cat
: 파일의 내용을 화면에 출력
more
: 텍스트 파일을 화면 단위로 출력(space
/f
다음 페이지로 이동, b
이전 페이지로 이동, enter
라인 단위 이동, q:
종료)
less
: more보다 조금 더 보기 편함
find
: 특정한 파일을 찾는 명령어
grep
: 특정 패턴으로 파일을 찾는 명령어
>>
: 리다이렉션 (파일 끼워넣기 등)
file
: 파일 종류 확인
ping
: 네트워크 상태 점검 및 도메인 IP 확인
ifconfig
: 리눅스 IP 확인 및 설정
netstat
: 네트워크의 상태 정보 출력
wget
: 비대화식 네트워크 다운로더로 뒤에 다운로드할 주소를 인자로 적음
vi 편집기
visual editor의 줄임말인 vi는 리눅스에 기본 편집기이다. vi가 오래됐기 때문에 vi를 보완한 vim(visual editor improved)이 있는데 이 편집기는 apt-get install vim
의 명령어를 통해 설치하여 사용할 수 있다.
vi
를 통해 편집기를 실행하거나 vi 파일명
로 파일과 함께 편집기를 실행한다.
vi는 모드가 3개 존재한다.
- 명령모드: 문서 복사, 이동 등의 작업(명령모드 집입은 ESC)
- 편집모드: 문서 작성 및 편집(편집모드 진입은 i, a, o)
- 실행모드: 파일 저장, 종료 등 수행(실행모드 진입은 명령모드에서 가능하며 :를 누름)
명령모드
h
j
k
l
: ← ↓ ↑ → 커서 이동
x
: 커서 뒤 위치한 문자 1개 삭제
yy
: 현재 행을 복사
p
: 현재 행에 붙여넣기
dd
, :d
: 현재 행 잘라내기
u
: 바로 이전 명령 취소
:set nu
: 행 번호 표시
:set nonu
: 행 번호 표시 제거
편집모드
i
: 현재 커서 앞쪽에 입력
I
: 현재 라인 처음에 입력
a
: 현재 커서 뒤쪽에 입력
A
: 현재 라인 마지막에 입력
o
: 현재 라인 아랫줄에 입력
O
: 현재 라인 윗줄에 입력
실행모드
:w
: 저장
:w FILENAME
: FILENAME에 저장
:q
: 종료
:wq
: 저장하고 종료
:q!
: 저장하지 않고 종료
:!
: 외부 명령어 실행
따라서 아래 명령어를 이해해보자.
sudo rm -rf /
sudo
는 관리자의 권한으로 명령어를 실행한다는 의미이고, rm
은 파일을 삭제하는 명령어인데 -r
는 재귀적으로 디렉토리와 그 안의 모든 것을 삭제하는 옵션이고,-f
는 존재하지 않거나 액세스 권한이 없는 파일도 확인 메세지 없이 강제로 삭제하는 옵션이다. 그리고 /
는 리눅스의 최상위 디렉토리인 root이다.
‘진정 새로운 무언가를 창조하려 한다면 처음부터 다시 시작해야 합니다..’
즉, 최상위 디렉토리와 그 밑에 있는 모든 파일과 디렉토리를 한꺼번에 포맷하는 무시무시한 명령어이다..
따라서 디렉토리를 안전하게 삭제하는 방법으로 아래 방법을 추천한다.
- rmdir 명령어를 사용하여 빈 디렉토리를 삭제하기
- ls 명령어를 사용하여 디렉토리 내용 확인하며 테스트하기