실행(서비스)을 위한 환경
platform
Unix
Linux 패키지
데비안 - ubuntu
환경 구성 (환경 구성 위해 명령어 습득)
tomcat
mariadb
슬랙웨어
레드햇
MS
windows 10 / 11
windows server
MAC
root
최상위 관리자( ubuntu에서는 최상위 관리자가 가려져 있고 직접 로그인하지 않음 )
암호 관리 잘해야 함
인스톨시 설정한 사용자 - root 권한 대체 (Master)
Gui - X-window
Gnome
KDE
( shell에 명령을 주는 프로그램을 터미널이라고 함, 명령어를 어떻게 주냐에 따라 셸을 바꿀 수 있다.)
ctrl + alt + f2 누르면 원래 화면(X-window)으로 돌아 감.
이후 ctrl + alt + f4,f5,f6... 누를 때마다 새로운 터미널 창(console) 생김(f6까지)
(한글 먹지 않음, 쓰려면 복잡한 과정 거쳐야 한다)
저렇게 들어가면 한글 작동하는 터미널 사용 가능 함
이 터미널의 정보
web에서 랜선 들어오면 vm이 공유기 역할을 하여 리눅스 네트워크가 돌아감
window에서도 vm로 인하여 연결이 가능하다!
이 컴퓨터가 살아있다라고 해석(리눅스 아이피임)
ubuntu 네트워크 설정(아이피 확인 등)
프롬포트에서 다양한 명령어를 사용할 수 있다.
오타시 오류문구도 나옴
도움말을 보고 싶으면 --help 사용, date에 대한 다양한 도움말이 나온다.
도움말을 참조하여 다양하게 date 사용 가능
man date라고 치면 더욱 자세한 도움말이 나온다.
enter : 한 자씩 읽어가게 내려감
space : 한 장씩 내려감
q : 종료
화면 청소
터미널 종료
ms window : 드라이브(가장 상위 개념) : hdd / usb / cd-rom
리눅스 : 드라이브 개념이 없고 directory 개념
/ = root directory(최상위)
서브 디렉토리
home 디렉토리 : master클릭하면 바탕화면의 구성요소들 나옴
ls : 현재 디렉토리 내부에 파일 / 디렉토리 대한 정보를 줌
ls 디렉토리/파일 : 디렉토리 / 파일에 대한 정보를 줌
절대경로 : / 부터 시작
상대경로 : . / ..
~ : 홈(로그인) 디렉토리
ls -l : 자세히 보기
ls -a : 히든 파일 보여줌
ls -al : 합성어(히든 파일 보이면서 자세히 보기)
ls
ls / : (root에 대한 정보 주는 것)
절대, 상대 경로
ls -l
잘라서 자세히 보기
drwx----- 4 master master 4096 ~~~
d : directory / file 구분
- : 지금 생각 x
4 : 링크 개수? (지금 생각 x)
ls -a : 히든 파일을 보여줌
ls -al ( a,l 합친 것) : 히든파일까지 보여주면서 자세히 보여 줌
d 없는 건 파일
윈도우에서 사용하는 방법도 사용 가능하긴 하다. (dir / vdir)
리눅스는 파일명, 디렉토리 대소문자 구분( 윈도우와 차이점 )
ex> l
l로 시작하는 것들이 많으면 제시어를 줌
~~로 시작하는 것이 하나면 자동완성 됨, 예시는 lo로 시작하는 것이 하나라 local로 자동완성 된 모습
pwd가 바뀐다고 생각
작업 공간 / 로 바뀐 모습 (윈도우 cmd와 비슷함)
~ : home 디렉토리 (내가 로그인 한 디렉토리, 그냥 cd만 쳐도 되긴 한다.)
cd - : 내가 왔던 곳으로 돌아감 ( 예시는 ~에서 /home/master/ )
상대 경로도 사용 가능하나, 디렉토리와 그 경로들을 좀 알아야 수월하게 사용 가능하다.
디렉토리 / 파일 관련된 기본 명령어 - cui 기반
이렇게 다량으로 만들 수도 있음
-p를 붙여서 폴더 안에 폴더안 생성 가능
-R : 반복적으로 수행해서 보여주는 것(위의 폴더 안 폴더 안 ... 보는 행위를 반복적으로 보여 줌)
사용시 디렉토리 삭제되고 마찬가지로 동시에 지우기도 가능
-p 이용하여 폴더 안 폴더 ... 지우기
리눅스는 확장자 그렇게 의미 없음
파일과 디렉토리의 구분이 힘들어서 ls -l로 확인해주기(d가 있냐 없냐에 따라 디렉토리/파일 갈림)
같은 디렉토리에서 복사
다른 디렉토리에 복사도 가능
같은 디렉토리에서 사용하면 rename(이름 변경)
다른 디렉토리에서 사용하면 move(이동)
rm -r : 디렉토리가 파일이 있어도 지워짐, 사용 주의!!(rmdir : 파일이 있으면 디렉토리가 지워지지 않는다)
rm -fr : 강제로 지워버림, 사용 주의!!
cat
head
tail
먼저 파일 하나 복사( etc에 있는 passwd 파일 현재 디렉토리에 복사한 것)
cat 사용하여 파일 내용 보기(워드 개념은 아님)
-n으로 줄번호 추가
cat > test.txt -> 간단한 텍스트 입력 후 저장 가능, 입력 후 ctrl+d 누르면 저장
후에 cat test.txt 사용하면 해당 입력한 내용 읽기 가능하다.
-n 3 : 3줄만 보기(db의 limit와 유사)
마찬가지로 3줄만 보기
전체 긴 문서를 장(화면) 단위로 끊어서 보여줌
enter누르면 한 줄씩 / space 누르면 한 장씩 넘겨주고 카운트(%)로 알려준다. (종료는 q)
심벌릭 링크: 원본 파일을 가리키는 새로운 파일을 생성(바로가기 파일 만드는 것)
ln(link) -s(심벌릭 링크) 바로가기 대상 바로가기 이름
-l로 확인하면 pass 확인 가능( 연결 역할을 함 )
(passwd 가 보여짐)
자바 jdk 설치
설치 후 버전 확인
파일 보면 바로가기가 있고 바로가기를 보면 바로가기가 하나 더 있음(맨 마지막이 본 내용)
root를 찾아서 보여줌 (-n 붙이면 라인 번호까지 알려준다)
찾아서 root.txt에 넣어줘 라는 뜻
파일 내용 검색( 더 찾아보기)
/usr 에서 이름이 ls인 파일을 찾는 것 (가끔가다 나오는 허가 거부는 root 전용 파일)
첫번째는 파일 위치, 두번째는 메뉴얼 뜻함
-b 붙이면 바이너리 파일만 찾아 줌
자바와 다르게 파이썬은 디폴트로 들어가있다. (종료는 exit() 입력 )
파이썬도 심벌릭 링크되어 있다.
GUI - gedit
- visiual Studio code
Cui - vi, emacs, nano
shift + space로 한 영 변환 가능 (먼저 키보드 형식 한글로 바꿔주기)
리눅스에 포함된 기본 에디터
터미널 창에 vi 치면 vi 실행 (종료버튼은 :q)
vi 업그레이드 설치
전에 만든 HelloWorld.java 편집
↓
i : 끼워넣기 ( vi 안에서 입력할 수 있게 해주는 기능 )
wq : 저장하고 종료
:q! : 저장하지 않고 나가기
:q : 그냥 종료
i외 입력기능 참고
ex> /dir1/passwd m자 기준으로
i -> m 앞에 써짐
a-> m 뒤에 써짐
I ->
vi로 특정 파일 이름 만들고 실행
vi에서 i입력 후 작성하고 wq(저장하고 종료) 누르고 나가기
java 실행구문 써서 실행
참고1
참고2 : $ / ^ 잘 쓰임
참고3
특정 행 이동 위해서는 행 번호를 알야아 한다.
:set nu(set number) : 행 번호 추가
:set nonu(set nonumber) : 행 번호 삭제
50G - 50행으로 이동
:50 - 50행으로 이동
:$ - 마지막행으로 이동
x : 한 자 지움
u : 살리는 것 (ctrl + z)
숫자 + x = 숫자만큼 지움(화면엔 안보임)
dw : 단어 지움, 특수문자는 따로 하나만 지워짐
dd : 잘라내기 (숫자 + dd = 숫자만큼 잘라내기 지움), p로 붙인다( 대문자 P : 윗 줄에 복사, 소문자 p : 아랫줄에 복사)
yy - p : 복사 (숫자 + yy p 하면 숫자만큼 줄 복사)
/~ : ~ 찾아준다 (아래방향으로 검색)
?~~~ : (위로 검색)
:s/bin/xin -> bin을 xin 치환 (검색한 것 중에서 제일 처음인 것)
1번째에 bin이 있어서 1번째를 bin -> xin 치환
:%s/bin/xin/g -> 전체적으로 bin을 xin로 치환
마지막행까지 바꾼 모습
:r ~~~ : 외부파일 선택된 행에 붙임
:r HelloWorld.java로 붙인 모습
:w - 중간 저장 / :w 파일명 : 다른 파일명으로 저장
:w test.txt -> test.txt에 현재 파일 저장한다는 뜻
:! ls = 잠시 빠져나감 / esc 누르면 다시 돌아 감
esc누를 시 돌아간다.
:sh -> 완전히 빠져나감 / exit 치면 다시 돌아 감
누르면 돌아간다.
vi .exrc 실행하고 안에 set nu 적기( home 디렉터리에서 사용해야 함!)
vi HelloWorld.java 들어가면 처음부터 번호가 있음
vi와 비슷한 에디터
ctrl + ~로 기능 사용 가능
root -> /root
master -> /home/master
그 외 새로운 사용자 만들고 싶을 때 - root에 의해 만들 수 있는데,
master가 root의 권한을 빌려서 사용하는 명령어 : sudo
sudo adduser 사용자id --> 새로운 사용자 생성 가능
사용자는 반드시 그룹을 같이 만들어야 한다.
비밀번호 경고 무시하고 치면 됨 (8자보다 작을 경우)
로그아웃 하고 로그인 화면 가면 사용자 추가된 것 확인
pwd로 현재 위치 확인
tail /etc/passwd로 사용자 정보 확인( tester1 추가된 것도 확인 )
암호는 tail /etc/shadow 에서 확인 -> 관리자 권한이라 sudo를 써서 확인 (암호는 암호화 되어있음)
사용자 정보 확인
사용자 그룹에 대한 정보
암호 바꾸기 passwd <-