구디아카데미/JAVA

Linux 배포, 명령어

COCO_develop 2025. 2. 17. 12:13

리눅스

- 윈도우, 유닉스 등과 같은 OS 중 하나

- 우분투: 리눅스 배포판 중 하나

 

리눅스 서버에 배포하기

WSL, 우분투 설치하기

cmd 창 - 관리자 권한으로 열기

wsl --install

 

Microsoft store

1234

 

MobaXterm 설치

 

cmd 창

ip addr

-> ip 주소: 172.22.186.71

sudo apt update

sudo apt install openssh-server : openssh 서버 설치

sudo systemstl status ssh

 

MobaXterm

Sesstion - SSH

ip와 username 입력 -> passward 입력

 

 

!!  비밀번호 오류? !!

-> 비밀번호 재설정

cmd 관리자 창

wsl -u root

passwd {username} -> 새 pw 입력

 

{username} cmd

sudo apt update

 

--> 다시 MobaXterm으로..

 

 

접속 후

zip 파일 drag & grop으로 업로드

ls

-> 업로드한 zip 파일

sudp apt install unzip : 압축해제 프로그램 설치

unzip 파일명.zip

ls -> 폴더 생성 완료

 

sudo apt install tree : 구조를 볼 수 있는 프로그램 설치

tree 파일명 : tree 구조 정리

 

sudo apt install -y openjdk-17-jdk : jdk 패키지 설치

java -version : jdk 설치 확인

sudo apt install mariadb-server : maria DB 설치

 

cd {파일명} : 디렉토리 변경(위치 이동)

cat application.properties : properties 파일 확인

cd - : 디렉토리 변경 전 위치로 이동

 

sudo mariadb -uroot -p : db 설정

create datebase classdb;

create user scott@'localhost' identified by '1234';

grant all privileges on classdb.* to scott@'localhost';

 

ls -l : l=long

-유저-그룹-소유주

r (read) w (write) x (excute)

chmod u+x mvnw : user에게 실행(x) 권한 부여

./mvnw clean package : 빌드( ./ = 현재 디렉토리)

sudo java -jar target/stswebjpa-0.0.1-SNAPSHOT.jar -> pw 입력

--> 크롬 주소창 {ip}:{port} 입력(172.~~:8080) -> 접속 가능

 

- 이 방법은 서버 여러개를 배포할 때, 똑같은 작업을 여러번 해야함

 

 

 

리눅스 명령어

pwd : 현재 디렉토리 확인

ls : 파일 목록

cd ~ : 사용자의 home 디렉토리

= cd

cd .. : 하나 위 디렉토리cd

ls -al : 숨긴 파일까지 출력 (.으로 시작하는 파일=숨긴 파일)

 

mkdir {이름}: 디렉토리 생성

touch {파일명}: 빈 파일 생성

rm {이름} : 파일 및 디렉토리 삭제 (remove)

ctrl + c : 현재 작업 중단 및 취소

ctrl + z : 현재 작업 (잠깐) 멈춤

sleep 1000 : 1000초 동안 프롬프트 잠김

 

cp {파일} {위치} : 파일/디렉토리 복사

mv {파일} {위치} :이동(move)

mv {파일} {파일2} :파일명 변경

cat {파일}: 텍스트파일 출력

 

sudo apt remove {패키지명} : 패키지 삭제

sudo apt purge {패키지명} : 설정 파일까지 삭제

 

sudo: 일반 사용자가 root 권한으로 명령 실행

id -> 27(sudo)가 포함되어 있으면 sudo 사용 가능

su : 사용자 전환

sudo passwd root : root에 pw 설정

grep : 텍스트 파일이나 출력 결과물에서 패턴 검색

grep ^#{text} : {text}로 시작하는 것 검색

netstat : 네트워크 상태 출력

sudo nano {파일}: 편집