Ubuntu Linux

준동이·2023년 6월 14일
0
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(최상)



CUI환경에서 작업 - 숨겨서 작업

컨트롤 + 알트 + 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

상대경로 : ls /home/ 하면 home 디렉토리 안에있는 것들 보여줌
절대경로 : ls ../../home/ 같음
pwd : 현재 디렉토리 위치



ls -l : 자세히 보기 / 파일, 디렉토리 정보

앞에 d가 붙어있는것은 디렉토리라는 것



ls -a : 숨김 파일을 볼 수 있다.

"."이 붙은것은 히든파일



ls -al : 파일과 디렉토리 보기

d가 없는 것은 파일 / 있는 것은 디렉토리



➖➖➖➖➖➖➖➖➖➖➖➖



💡특정 경로에 대한 정보 가져오기

ls /usr/local : 경로를 알고있는 경우 사용

경로를 알고있는경우 위처럼 적어주면 된다.



ls /usr/l + tap2번 : l이 있는 경로 다 출력



ls /usr/lo + tap : lo가 있는것이 한 개인 경우 이름이 그대로 바뀌어짐



리눅스는 대 / 소문자를 구별하기때문에 주의해야한다.

이름을 설정할 때 윈도우처럼 대/소문자 구분없이 해도 괜찮은 것이 아니라 구분해줘야한다.



cd 경로 / cd - : 전 경로로 돌아간다



back : 왔던 디렉토리로 돌아가기



상대경로로 하기



➖➖➖➖➖➖➖➖➖➖➖➖



💡리눅스 파일의 종류와 특징

아직은 다 알지는 못해도 체크해놓은 것은 알아두기



➖➖➖➖➖➖➖➖➖➖➖➖



💡디렉토리 만들기

mkdir dir명 / dir명은 여러 개 가능



디렉토리 안에 디렉토리 만들기 : -p

mkdir dir명/dir명/dir명 <- 이런식으로는 만들 수 없음
-p를 붙여줘야한다.



경로 편하게 한번에 찾아서 보기

-R : 하위 경로와 그 안에 있는 파일들 보여줌



지우기 - rmdir (rm은 remove의 약자)

rmdir 이름 이름 이렇게 선언하여 지우기 가능
안에 파일이 있는 디렉토리는 경로를 적어줘야함



➖➖➖➖➖➖➖➖➖➖➖➖



💡명령어 - 파일

cp(복사) / mv(이동)
				같은 디렉토리에서 사용하면 rename
                다른 디렉토리에서 사용하면 move
                
rm(삭제)
		* rm -r : 조심해서 사용 - 시스템 파일 자체를 지울 수 있어서 조심
        * rm -fr : 조심해서 사용(f: 강제) - 그냥 묻지도 따지지도않고 지워버림
        
viewer(파일내용 보기)

cat
		head - 문서의 첫 부분
        tail - 문서의 끝 부분
        을 조회하기 위함



파일이나 디렉토리에 대한 정보

.base_history는 ASCII text파일이라는 뜻
snap은 디렉토리
라는 정보들을 알 수 있다.



파일 만들기

touch : 빈 파일 생성하기, 수정 시간 변경하기
리눅스는 확장자가 의미가 별로 없어서 .확장자명 없이 하기도 함

확장자가 없어서 디렉토리인지 파일인지 구별이 어렵기때문에 ls -l로 확인 해봐야한다.



cp - 파일 복사

test.txt -> test1.txt로 복사 (같은 디렉토리에)



dir1 디렉토리에 test1.txt 복사 파일 생성

test.txt를 dir1디렉토리에 test1.txt로 복사해준 것 (다른 디렉토리에)



mv - 파일을 다른 디렉터리로 이동하거나 파일명을 바꿀 때는 mv(move) 명령을 사용

같은 디렉토리에 사용하면 rename
다른 디렉토리 사용하면 move

mv test1.txt test2.txt는 test1을 test2로 이름 변경

mv test2.txt ./dir1/은 test2를 dir1디렉토리로 옮김



rm - 삭제

rm 파일명 : 파일 삭제됨
디렉토리를 지우기 위해서는 -r 추가해줘야한다



viewer - 파일내용 보기

etc디렉토리의 passwd파일을 현재 디렉토리로 복사하였음.



cat - 파일내용 출력



-n 줄번호



문서 내용을 저장

cat > text.txt : 문서 내용을 저장하는 명령어
후 Hello Text를 적어줘서 저장

내용 쓰고 컨트롤 + d 눌러서 빠져나오기

그리고 cat test.txt를 하면 내용을 볼 수 있음 / 간단하게 문서를 만든 것



문서 일부만 보기 - head

기본 10줄정도 보여준다



-n 숫자 로 원하는 줄만큼 보기



끝에서 몇개만

끝에서 n개만



전체 내용에서 짤라서 보기 - more

엔터 누르면 조금씩 증가 / 스페이스바는 한 장씩 보여줌 / 종료는 q



심벌릭 링크 : 원본 파일을 가리키는 새로운 파일을 생성 / 바로가기 ln -s

심벌릭 링크 : 바로가기를 만드는 것. / 어떤 파일이 있는데, 그 파일의 바로가기를 만듦. / 누르면 파일로 접근 이것들이 심벌릭 링크

dir1을 하면 passwd가 보이게 설정

mv ./passwd ./dir1/ : passwd파일을 dir1디렉토리로 옮김

ln(링크) -s(심벌릭) /home/master/dir1/passwd ./pass(연결을 시켜주겠다)

그러면 뒤에 /home/master/dir1/passwd가 원본파일, pass를 참조하면 볼 수 있음.
pass 에는 내용이 있는 것이 아닌 링크가 걸려있는 것



tail pass 로 보기



➖➖➖➖➖➖➖➖➖➖➖➖



💡심벌릭 링크 - JDK 설치

암호는 보이지 않으니 조심
그럼 다운로드가 시작됨



다운로드 완료 후 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 로 실행하여 출력



➖➖➖➖➖➖➖➖➖➖➖➖



💡문서 내부의 검색기능

grep - 파일 내용 검색 / 문서 검색

./dir1/passwd 에서 root를 찾아달라는 것 / 검색 후 출력해줌



라인 번호넣기 : -n



찾은걸 적용시키기 - 방향지시자 ">"로 넣기

처리 된 것을 root.txt로 넣음



파일 내용 검색 - grep

" | " 파이프로 출력결과를 파이프에 넣고 통과시키고 sbin으로 검색을 한다. / 파이프틑 말 그대로 관 역할



find - 파일 이름 검색

특정 조건에 맞는 파일을 지정한 위치에서 찾는다
usr 디렉토리 밑에서 name이 ls인 것을 출력



관리자의 root - 허가 거부

허가 거부가 뜨는 이유는 관리자만 볼 수 있는 파일인데 접근하려고 해서 거부가 난다
root(관리자) 전용 파일



whereis - 명령어 위치 찾기



-b 바이너리 파일만 찾아준다.



python3 사용

python은 디폴트라서 설치 필요 없이 들어가있음. / 누구나 다 사용 가능



python 실행파일 위치



➖➖➖➖➖➖➖➖➖➖➖➖



💡문서 편집기(워드X)

소스코딩을 위한 것

GUI환경에서		- gredit
				- Visual Studio Code
                ...
CUI				vi(O), emacs, nano

:w		- 중간 저장
:w파일명 - 다른 파일명으로 저장



한글 쓰기

선택 후 쉬프트 + 스페이스바 하면 바뀜



VI 사용

내부적으로 입력모드와 명령모드로 구분



vi

vi 입력하면

이런식으로 창이 뜬다

끄기 위해서는 :q 하면 꺼진다.
콜론 누르는 순간 커서는 맨 마지막으로 가며 맨 마지막에서 입력된다.



vi가 구형버전이여서 업데이트 시켜주기

조 ~ 금 더 향상됨.
암호는 보이지 않으니 조심 !



끼워넣기 해보기 - i누르면 입력모드(끼워넣기) 됨

끼워넣기 하면 데이터 수정 가능하다.
입력 다 했으면 Esc 2 ~ 3번 누르면 명령모드로 다시 돌아옴

저장하고 끄기



JFrame 띄우기

실행



입력모드 전환 명령키



커서 이동



특정 행으로 이동

행 번호를 알아야한다.

행 번호 보이기 - set number / set nu



행 번호 지우기 - set nonumber / nonu



내용삭제

지우기 x, 되돌리기 u / 숫자 + 명령키 하면 명령키만큼 됨

dd 는 아예 지우는 것이 아닌 잘라내기 기능



복사 붙이기

숫자 + 명령키하면 숫자만큼 적용



문서에서 검색하기 - /dev

후 n 누르면 하나씩 찾아줌
N 은 거꾸로 찾으면서 올라간다.



치환



파일 불러오기



환경 설정

vi .exrc 하고 set nu 입력 후 저장후 나옴



nano

수정하고 컨트롤 + x 누르면 저장하겠냐는 문구뜨고 y 누르고 엔터



➖➖➖➖➖➖➖➖➖➖➖➖



💡사용자

사용자
		root 			  /root
		master 사용자 		/home/master
        
        새로운 사용자 - root
        					master가 root의 권한을 빌려쓸 수 있음. sudo
                            
        사용자 생성 - sudo	adduser		사용자아이디

사용자 생성


로그아웃 후 다시 보면 tester 생성되어있음

프롬프트에서 pwd하여 사용자 경로 확인

master에서 tester1 정보 확인

생성된 것 확인

비밀번호는 sodu를 앞에 넣어줘야한다 / 암호는 암호의 암호로 복잡하게 나옴



그룹에 대한 정보



암호변경 - passwd

새암호 후 새암호 나온 이유는 암호 변경이 안돼서 다시 입력하라는 것.



➖➖➖➖➖➖➖➖➖➖➖➖



💡주민등록번호

주민등록번호

java CheckJumin 
=> 주민번호 입력 :

형식이 정확 / 부정확 출력

안되는 이유 찾기

profile
개발자 꿈나무

0개의 댓글