ssh -i 다운받은키페어.pem ubuntu@퍼블릭ip
를 치면 내가 킨 인스턴스와 터미널 창이 연결된다. 이때 키페어 관련 에러가 뜰 수 있으니 키페어의 모드를 미리 확인하자. ubuntu 는 내가 우분투로 서버를 켰기 때문에 ubuntu@로 써준 것이다.
그러면 인스턴스와 연결된 터미널 화면이 나온다.
파일 / 디렉토리와 관련된 명령어 중 익숙하지 않은 명령어만 정리했다.
*
(와일드 카드) : 같이 쳐준 문자를 포함한 모든 이름의 파일 / 디렉토리를 보여준다.grep word ./* # 현재 경로의 모든 파일을 대상으로 word라는 단어가 포함된 파일 찾기
grep word ./* -r # -r 옵션을 붙이면 디렉토리 내부까지 모두 탐색한다.(recursive)
pwd
: 현재 경로를 보여준다.ls -a
: 숨김 파일을 포함하여 파일과 관련된 모든 정보를 보여준다.touch
: 파일을 생성한다. (디렉토리를 생성하는 mkdir
과 헷갈리지 말자)
cp
: 파일을 복사한다.
-r
옵션을 줄 경우 폴더를 복사한다. cp -r directory directory_copy # 폴더를 복사할 경우 -r 옵션 사용
mv
: 파일을 이동한다.
mv test.txt text2.txt # test.txt 파일의 이름을 test2.txt로 변경
리눅스에서는 숨김 파일을 취급할 때 앞에 '.' 을 붙인다. ex) .conf
(처음에는 파일 경로를 잘못 쓴 줄 알고 .을 지워야하는 거 아닌가 했는데 숨김 파일이라는 뜻이었다.)
vi 에디터는 파일을 편집할 수 있는 insert mode 와 특수한 커맨드를 사용할 수 있는 command mode 가 있다. i, a 등의 키를 누르면 insert mode 로 진입할 수 있고, 그 상태에서 esc 를 누르면 다시 command mode 로 갈 수 있다.
i
: 현재 위치에서 insert mode 진입(insert)a
: 현재 위치에서 커서를 한 칸 앞으로 이동 후 insert mode 진입(append)A
: 현재 위치에서 가장 마지막 텍스트로 이동 한 후 insert mode 진입o
: 현재 위치에서 한칸 개행 한 후 insert mode 진입(open a new line)esc
: insert mode 나가기u
: undo (ctrl + z와 동일)ctrl + r
: redogg
: 커서를 가장 처음으로 옮김 (go)G
: 커서를 마지막 줄로 옮김dd
: line 잘라내기 (delete)yy
: line 복사 (yank)p
: 붙여넣기 (paste):se nu
: 라인 줄 표시 (see number):숫자
: 숫자 라인으로 이동 (ex - :10
: 10번째 라인으로 이동)/word
: word라는 단어를 검색/\cword
: 대소문자를 구분하지 않고 word라는 단어를 검색 (ex - /\cword)n
: 다음 단어 검색N
: 이전 단어 검색:w
: 저장 :q
: 나가기 (quit) :wq
: 저장 하고 나가기 :q!
: 수정내역이 있어도 저장하지 않고 강제로 나가기RedHat 웹사이트에서 보다 많은 명령어를 볼 수 있다.
cat
: 파일 내용을 볼 수 있다.cat test.txt # test.txt 파일의 내용 보기
head
: 파일의 시작 부분을 볼 수 있다.head test.txt # test.txt 파일의 첫 10줄 내용 보기
head -50 test.txt # text.txt 파일의 첫 50줄 내용 보기
tail
: 파일의 끝 부분을 볼 수 있다.리눅스 명령어 apt를 통해 파이썬의 pip 처럼 패키지를 설치할 수 있다. 우분투에서는 ifconfig
를 통해 네트워크와 관련된 정보를 확인할 수 있지만, 이러한 부가적인 명령어를 사용하기 위해서는 우선 패키지를 설치해야 한다. 그리고 그런 기본적인 패키지를 설치할 수 있도록 도와주는 명령어가 바로 apt
이다.
해서 aws 와 연결시킨 우분투를 처음 실행시킬 경우, 아래의 명령어들을 먼저 쳐줘야 한다. (처음에만 실행시켜주면 된다.)
sudo apt update # 설치할 수 있는 패키지들 최신화
sudo apt install net-tools # ifconfig 를 실행하기 위한 툴
apt install package # package 설치하기
리눅스에서 자주 사용하는 명령어는 linux commands cheat sheet 라고 치면 나오는 문서들을 보고 알 수도 있지만, 직접 사용하면서 손에 익히는 것이 훨씬 좋은 방법이라고 생각한다.
특히 -grep 이나 find 같이 정규표현식이 자주 쓰이는 명령어는 직접 써보고 많이 틀리거나 찾아보는 게 제일 좋은 방법이다.
명령어가 많지만 외우는 것보단 정말 자주 사용에서 익히는 법이 제일인것 같아요!