
일반적인 개발자가 아닌 사람들은 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 환경에서 작업하는데는 큰 문제가 없을 것이다.