Network

[Linux] ✍ 자주쓰는 리눅스 명령어 정리

kyunge_ev 2023. 1. 19. 15:51

📢 사용했던 리눅스 명령어를 위주로 까먹지 않게 정리하는 글

리눅스 명령어

📌 apt

 apt 는 리눅스에 기본적으로 설치되어있는 명령어로 여러 가지 기능을 하기 때문에 사용하기 전 미리 업데이트 & 업그레이드를 해서 최신으로 유지시켜준다.

#apt 명령어 업데이트
$ sudo apt update

#apt 명령어 업그레이드
$ sudo apt upgrade
#사용예시
#java17 설치
$ sudo apt install openjdk-17-jdk

📌 ssh -i [.pem 경로]

 원격지로 접속할 때 사용하는 명령어로 -i 옵션은 원격지로 접속 시 필요한 .pem의 경로를 입력해 줄 수 있다.
매번 EC2 서버로 접속할 때 사용함

$ ssh [원격지계정]@[원격지주소] -i [접속할 원격지의 ,pem가 있는 경로]/[.pem파일명]

📌 scp -i [.pem 경로] [복사할파일경로] [원격지계정]@[원격지 ip 주소]:[복사될 경로]

$ scp -i ~/Downloads/xxx.pem ~/Downloads/xxx.pem ubuntu@ec2-xx-xxx-xx-xx.ap-northeast-2.compute.amazonaws.com:/home/ubuntu/

📌 cp [복사할파일경로] [이동할경로]

$ cp ~/home/ubuntu/aaa ~/home/ubuntu2

📌 cp -r [복사할폴더경로] [이동할경로]

 복사할 폴더의 하위 파일 모두 이동 ( 한번에 이동 가능 )

$ sudo cp -r /home/ubunt/folder1 /home/ubunt/folder2

📌 mkdir

 새로운 '폴더' 생성
만약, bash: cd: too many arguments 라는 에러가 나면 폴더명에 띄어쓰기가 있기 때문 이 경우엔 "",'' 를 사용하여 감싸주면 된다.

$ mkdir aaa

📌 chmod -R [권한부여] [권한변경할파일명]

 sudo su - 를 사용하여 root 계정으로 변경한 상태에서 권한 부여가능

$ chmod -R 755 aaa

📌 rm [삭제할 파일명]

 '파일' 삭제

$ sudo rm aaa

📌 rm -r [삭제 할 폴더]

 '폴더' 삭제

$ sudo rm -r dir1

📌 rm -rf *

 삭제 할 폴더 하위에 있는 파일 모두 삭제

$ sudo rm -rf *

📌 netstat -lnp | grep [포트]

 [포트]로 돌아가고 있는 상태 확인

$ sudo netstat -lnp | grep 8081

📌 (Docker 명령어) docker exec -it [컨테이너 ID] /bin/bash

 생성 된 컨테이너 내부로 들어가는 명령어로 컨테이너로 만든 가상환경에 접근할 수 있다.

📌 (Docker 명령어) docker cp [복사할 파일 경로] [컨테이너ID]:[이동할경로]

 호스트 👉 도커컨테이너로 파일 복사 ( 경로를 반대로하면 도커컨테이너 👉 호스트로 가능 )


memo

무중단 배포 시 처음 빌드 후 컨테이너를 돌릴 땐 직접 해야함

  • .jar 파일이 생성된 폴더 안에서 아래의 코드를 돌려준다. 
  • 해당 [이미지이름]:[버전]이 생성
$ sudo docker build --build-arg IDLE_PROFILE=[지정할 profile] -t [이미지이름]:[버전] .
  • 만들어진 이미지로 docker 컨테이너를 생성한다.
$ sudo docker run --name [profile] -d --rm -p [profile port]:[profile port] [이미지이름]:[버전]

 이후 저장소에 push 를 하게 되면 자동으로 CI tool로 빌드를하고 포트를 변경해서 push한 docker 컨테이너를 생성해준다.