일반적인 개발자가 아닌 사람들은 GUI(Graphic User Interface)에 익숙하다. 터미널을 이용할 일이 거의 없기 때문이다. 개발을 처음 시작하기로 마음 먹었을 때 터미널을 처음 사용하였는데 매우 어려웠었던 것 같다. 클라우드 (AWS, Gcp, Azure) 서비스의 Instance를 이용하다보니 자연스레 리눅스 운영체제인 우분투를 사용하게 되어 커맨드에 익숙해진 것 같고 많이 쓰이는 커맨드에 대해서 정리해보고자 한다.
ls
: 현재 위치의 파일 목록 조회cd
: 작업 디렉토리 이동mkdir
: 디렉토리 생성cp
: 파일/디렉토리 복사mv
: 파일/디렉토리 이동rm
: 파일/디렉토리 삭제cat
: 파일의 내용을 출력touch
: 내용이 없는 파일 생성pwd
: 현재 경로 표시 ls
(List segments) : 현재 위치의 파일 목록 조회ls -a
: 숨김 파일 표시ls -l
: 파일의 상세 정보ls -t
: 생성 시간 순 표시ls -rt
: 오래된 생성 시간 순으로 표시cd
(Change directory) : 작업 디렉토리 이동cd 디렉토리_경로
: 디렉토리로 이동cd ~
: 홈 디렉토리로 이동cd ..
: 상위 디렉토리로 이동cd -
: 이전 경로로 이동cd .
: 현재 디렉토리cd /
: 최상위 디렉토리로 이동 mkdir
(Make directory) : 디렉토리 생성mkdir hi
: hi라는 이름의 디렉토리 생성mkdir a b
: a,b 이름의 디렉토리 생성 (다중 생성)cp
(Copy) : 파일 복사cp a b
: a 파일을 b라는 파일로 복사cp -f a b
: b가 존재하는 경우 b를 지우고 재 생성cp -r a b
: 디렉토리 복사, 하위 경로의 모든 파일& 디렉토리 복사mv
(Move) : 파일 이동mv a b
: a를 b 이름으로 변경mv a 경로
: 파일 a를 특정 경로로 이동 mv a b 경로
: a, b 파일을 특정 경로로 이동rm
(Remove) : 파일/디렉토리 삭제 rm a
: a 파일 삭제rm -f a
: a 파일 강제 삭제rm -r a
: a 디렉토리 및 하위 폴더/디렉토리 삭제 cat
(Catenate) : 파일의 내용을 화면에 출력cat a
: a의 내용을 출력cat a b
: a, b 의 내용을 출력touch
: 내용이 없는 파일 생성touch a
: a 파일 생성 pwd
: 현재 경로 표시 이외에도 다양한 옵션이나 커맨드가 존재하지만 이정도만 익숙해져도 CLI 환경에서 작업하는데는 큰 문제가 없을 것이다.