java
jsp
spring => 전자정부프레임워크 / 웹사이트
실행(서비스)을 위한 환경
platform
Unix
Linux 패키지
데비안 - ubuntu 패키지로 Linux
환경 구성
tomcat
mariadb
슬랙웨어
레드햇
MS
Window 10 / 11(platform X)
windows server
Mac(사용X)
환경 구성
명령어를 습득
로그인
root - 최상위 관리자
* ubuntu - 가려져 있고, 직접 로그인하지 않음
* 암호관리 잘 해야한다
인스톨시에 설정한 사용자 - 루트 권한 대용
master
GUI - X-window 환경
Gnome
KDE
..
CUI
Ctrl + Alt + F2 = X-Window
(터미널을 기본 환경으로 본다)
Ctrl + Alt + F3 = terminal(console)
Ctrl + Alt + F4 = terminal(console)
Ctrl + Alt + F5 = terminal(console)
Ctrl + Alt + F6 = terminal(console)
=> shell에 명령을 주는 것이 terminal
linumx - firefox 기본브라우저
ms window
드라이브(가장 상위개념)
hdd / usb / cd-rom
lunux 드라이브 => directory
/ - root directory(최상)
컨트롤 + 알트 + F3 ~ F6까지 가능
컨트롤 + 알트 + F2 하면 원래 화면으로 돌아간다
date : 현재의 date 보여준다
clear : 프롬프트창일 지워줌
exit : 끄기
date --help : date도움말
man date : date에 대한 메뉴얼 페이지 보여준다
pwd : 작업하고있는 현재
ls
현재 디렉토리 내부에 디렉토리 / 파일에 대한 정보
ls 디렉토리 / 파일
절대경로
/로 부터 시작
상대경로(절대경로보다 조금 더 많이 사용)
./ ..
~(홈(로그인) 디렉토리)
디렉토리 / 파일에 대한 정보
dir / vdir : 윈도우에서 온 사람들을 위해 dir도 사용 가능
cd (change directory)
pwd
mkdir / rmdir
상대경로 : ls /home/ 하면 home 디렉토리 안에있는 것들 보여줌
절대경로 : ls ../../home/ 같음
pwd : 현재 디렉토리 위치
앞에 d가 붙어있는것은 디렉토리라는 것
"."이 붙은것은 히든파일
d가 없는 것은 파일 / 있는 것은 디렉토리
경로를 알고있는경우 위처럼 적어주면 된다.
이름을 설정할 때 윈도우처럼 대/소문자 구분없이 해도 괜찮은 것이 아니라 구분해줘야한다.
아직은 다 알지는 못해도 체크해놓은 것은 알아두기
mkdir dir명 / dir명은 여러 개 가능
mkdir dir명/dir명/dir명 <- 이런식으로는 만들 수 없음
-p를 붙여줘야한다.
-R : 하위 경로와 그 안에 있는 파일들 보여줌
rmdir 이름 이름 이렇게 선언하여 지우기 가능
안에 파일이 있는 디렉토리는 경로를 적어줘야함
cp(복사) / mv(이동)
같은 디렉토리에서 사용하면 rename
다른 디렉토리에서 사용하면 move
rm(삭제)
* rm -r : 조심해서 사용 - 시스템 파일 자체를 지울 수 있어서 조심
* rm -fr : 조심해서 사용(f: 강제) - 그냥 묻지도 따지지도않고 지워버림
viewer(파일내용 보기)
cat
head - 문서의 첫 부분
tail - 문서의 끝 부분
을 조회하기 위함
.base_history는 ASCII text파일이라는 뜻
snap은 디렉토리
라는 정보들을 알 수 있다.
touch : 빈 파일 생성하기, 수정 시간 변경하기
리눅스는 확장자가 의미가 별로 없어서 .확장자명 없이 하기도 함
확장자가 없어서 디렉토리인지 파일인지 구별이 어렵기때문에 ls -l로 확인 해봐야한다.
test.txt를 dir1디렉토리에 test1.txt로 복사해준 것 (다른 디렉토리에)
같은 디렉토리에 사용하면 rename
다른 디렉토리 사용하면 move
mv test1.txt test2.txt는 test1을 test2로 이름 변경
mv test2.txt ./dir1/은 test2를 dir1디렉토리로 옮김
rm 파일명 : 파일 삭제됨
디렉토리를 지우기 위해서는 -r 추가해줘야한다
etc디렉토리의 passwd파일을 현재 디렉토리로 복사하였음.
cat > text.txt : 문서 내용을 저장하는 명령어
후 Hello Text를 적어줘서 저장
내용 쓰고 컨트롤 + d 눌러서 빠져나오기
그리고 cat test.txt를 하면 내용을 볼 수 있음 / 간단하게 문서를 만든 것
기본 10줄정도 보여준다
끝에서 n개만
엔터 누르면 조금씩 증가 / 스페이스바는 한 장씩 보여줌 / 종료는 q
심벌릭 링크 : 바로가기를 만드는 것. / 어떤 파일이 있는데, 그 파일의 바로가기를 만듦. / 누르면 파일로 접근 이것들이 심벌릭 링크
mv ./passwd ./dir1/ : passwd파일을 dir1디렉토리로 옮김
ln(링크) -s(심벌릭) /home/master/dir1/passwd ./pass(연결을 시켜주겠다)
그러면 뒤에 /home/master/dir1/passwd가 원본파일, pass를 참조하면 볼 수 있음.
pass 에는 내용이 있는 것이 아닌 링크가 걸려있는 것
암호는 보이지 않으니 조심
그럼 다운로드가 시작됨
다운로드 완료 후 java -verison으로 다운받아졌는지 확인
명령어는 java 하나인데
jdk 11
jdk 18
jdk 11 그 이상일때
그때그때마다 따로 연결하기는 힘들기때문에 jdk가 뭐가 설치가 되어있든 java 하나로 다 연결을 시켜놓은 것
그럼 java만 알면 어떤 jdk가 설치가 되어있던 상관이 없다
링크가 걸려있는 구조 : java(동그라미 된)를 사용하는데 1번으로 걸려있고 1번은 2번으로 걸려있는데 2번으로 걸려있는 것이 실제 파일이다. 실제 파일은 버전이 있음
수정 불가해서 잘 작성해야한다.
cat > HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
javac HelloWorld.java로 컴파일 후
java HelloWorld 로 실행하여 출력
./dir1/passwd 에서 root를 찾아달라는 것 / 검색 후 출력해줌
처리 된 것을 root.txt로 넣음
" | " 파이프로 출력결과를 파이프에 넣고 통과시키고 sbin으로 검색을 한다. / 파이프틑 말 그대로 관 역할
특정 조건에 맞는 파일을 지정한 위치에서 찾는다
usr 디렉토리 밑에서 name이 ls인 것을 출력
허가 거부가 뜨는 이유는 관리자만 볼 수 있는 파일인데 접근하려고 해서 거부가 난다
root(관리자) 전용 파일
python은 디폴트라서 설치 필요 없이 들어가있음. / 누구나 다 사용 가능
소스코딩을 위한 것
GUI환경에서 - gredit
- Visual Studio Code
...
CUI vi(O), emacs, nano
:w - 중간 저장
:w파일명 - 다른 파일명으로 저장
선택 후 쉬프트 + 스페이스바 하면 바뀜
내부적으로 입력모드와 명령모드로 구분
vi 입력하면
이런식으로 창이 뜬다
끄기 위해서는 :q 하면 꺼진다.
콜론 누르는 순간 커서는 맨 마지막으로 가며 맨 마지막에서 입력된다.
조 ~ 금 더 향상됨.
암호는 보이지 않으니 조심 !
끼워넣기 하면 데이터 수정 가능하다.
입력 다 했으면 Esc 2 ~ 3번 누르면 명령모드로 다시 돌아옴
저장하고 끄기
행 번호를 알아야한다.
dd 는 아예 지우는 것이 아닌 잘라내기 기능
숫자 + 명령키하면 숫자만큼 적용
후 n 누르면 하나씩 찾아줌
N 은 거꾸로 찾으면서 올라간다.
vi .exrc 하고 set nu 입력 후 저장후 나옴
수정하고 컨트롤 + x 누르면 저장하겠냐는 문구뜨고 y 누르고 엔터
사용자
root /root
master 사용자 /home/master
새로운 사용자 - root
master가 root의 권한을 빌려쓸 수 있음. sudo
사용자 생성 - sudo adduser 사용자아이디
생성된 것 확인
비밀번호는 sodu를 앞에 넣어줘야한다 / 암호는 암호의 암호로 복잡하게 나옴
새암호 후 새암호 나온 이유는 암호 변경이 안돼서 다시 입력하라는 것.
주민등록번호
java CheckJumin
=> 주민번호 입력 :
형식이 정확 / 부정확 출력
안되는 이유 찾기