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 컨테이너를 생성해준다.