관리 메뉴

거니의 velog

(23) 리눅스 본문

대덕인재개발원_final project

(23) 리눅스

Unlimited00 2024. 2. 13. 12:21

https://e-7-e.tistory.com/124

window에  wsl로  ubuntu 설치하깅

이젠 window에서도 wsl(window sub linux)로 쉽게 리눅스를 설치하고 window와 같이 linux를 사용할 수 있게 되었당 아직도 사용하다 보면 문제는 꽤 있지만, 그래도 wsl2로 버젼업 되면서 꽤 쓸만하당!. 진짜

e-7-e.tistory.com


리눅스 설치 후 재부팅


<리눅스>

1. 유닉스에서 나옴. 비싼 편(Mac OS). 토발즈가 유닉스를 공부하고 싶은데 너무 비싸서 공부할 수 없었음.
2. 이를 모방한 작품을 만들고 싶어 했는데, 그 당시 그런 생각을 가진 사람들이 많아 이들이 모여 리눅스를 만듦.
3. 래드햇, 페도라, 센트OS, 우분투 등...
4. 우분투가 핫한 이유는 도커가 만들어져서 퍼포먼스 성능이 가장 뛰어남.
5. 래드햇은 엔터프라이즈로 쓰면 유료. 
6. 어제 우리가 깐 WSL은 우분투를 흉내낸 리눅스임.


* 윈도우 서버가 점유율이 가장 높음. 돈내면 AS를 받을 수 있기 때문이다.
* 빅데이터의 급부상. AI의 등장. 빅데이터를 처리하는 툴들이 윈도우 쪽에는 유료가 있으나 성능이 떨어짐. 
* 리눅스에는 이런 기능들이 무료인데다가 성능도 좋음. 굳이 돈 내고 쓸 이유가 없음.
* UI/UX는 불편하지만 빅데이터 툴이 사용하기 편하므로 리눅스가 다시 급부상하는 중.


* 리눅스도 OS이므로 이클립스나 오라클 사용이 가능하다. 단지 OS의 기본 명령어를 알아가지고 오길 바란다.
* 하나 중요한 것은 일반적으로 서버 OS에는 GUI가 없다. 사람이 직접 컨트롤할 필요가 없고, GUI가 메모리를 엄청 잡아 먹기 때문에 이를 설치할 이유가 없다.
* 그래서 터미널 방식을 선호한다. CLI, CMD -> Commend Line Interface
* 가장 많이 질문하는 것이 명령어 5개 정도 제시.


* 우분투 설치 후 자동으로 root 계정이 만들어짐. 최고 관리자 계정.

* 윈도우의 드라이브 개념이 없고 / 가 최상위 디렉토리이다.

print working directory
사용자 홈 디렉토리로 이동한 상태에서 시작함


* 리눅스와 유닉스에서는 파일 이름이나 디렉토리 이름이 .으로 시작하면 자동으로 숨김 파일(Hidden File)이 된다.

* clear를 치면 화면이 깨끗하게 바뀐다.


표준 출력

* > 출력 리다이렉트의 의미
* 화면에 출력된 것이 나오지 않고, 폴더를 새로고침 하면 파일이 하나 생성된 것이 보인다.

* 정확히는 출력 리다이렉트(출력 방향 전환)라고 부른다.
* < 이 모양은 입력 리다이렉트인데 많이 쓰이진 않음


&gt; : 파일 덮어쓰기
&gt;&gt; : 내용 추가하기

* 서버 터미널에서 파일의 내용을 보는 명령어도 필요하다.



디렉토리는 dr이 붙고, 일반 파일은 -가 붙는다.

* 소유자 권한 : rwx, 그룹 권한 : rwx, 기타 다른 소유자 rwx 권한 표시


본인 아이디 보기

* 디렉토리 구조는 강제사항은 아니고 오랫동안 사용해 온 구조를 관례적으로 사용. 왠만한 설정 파일은 etc, 외장 하드 디스크는 mnt 등의 관례적 사용법이 있음.


* >, >>, sudo
* sudo(관리자 권한이 필요할 때 사용하는 명령어)
* 유닉스와 리눅스에서는 루트로 로그인하는 경우가 많이 없다. 권한이 막강하므로 실수하면 큰일. OS의 정합성을 깨뜨릴 수 있기 때문에 일반 사용자로 로그인 한 후 필요한 권한만 사용할 수 있게 함.
* 원래 sudo의 의미는 아닌데 Super User라고 붙임. 
* apt. 우분투에서 사용하는 문법으로 윈도우의 프로그램 추가/삭제 제어 기능. 어드밴스드 패키지 툴.

마우스 포인터 찾기 툴

* 프로그램 띄우고 명령어 입력 불가한 경우가 종종 있음. 명령 프롬프트라고 부르는데 다시 나타나지 않음.
* 그래서 컨트롤+c를 누르면 강제 종료가 됨.


* 백그라운드 작업을 돌려서 프로그램 실행하면서 포그라운드 작업을 동시에 하려면? &(ampersand)


현재 돌고 있는 프로세스 확인 가능

* bash => sh는 shell의 약자이다.
* 끝에 sh가 붙는 파일이 엄청 많음. ksh, csh, tesh...
* OS core => 이 바깥에 Shell이 있다. => 이 바깥에 GUI 프로그램이 있다.
  - OS core는 보통 C언어로 만듦.
  - GUI는 객체 지향 언어로 만듦(C++)
  - 이 사이에 OS core를 둘러싼 Shell이 명령어 해석기에 해당한다.
* ls라고 치면 ls라는 명령어를 알아듣지 못하므로 OS가 알아듣게 바꿔주고 그 결과를 받아서 화면에 표현해 주는 것을 Shell이라 한다. 그 중에 가장 유명한 해석방법 툴이 bash 임.


컴퓨터에서 돌아가는 모든 프로세스를 볼 때? ps -ef

가독성이 떨어지는 명령어
화면이 스크롤되지 않고 멈추며, 엔터를 치면 한 줄씩 올라가고, 스페이스바를 치면 한 페이지가 올라간다.

리눅스 grep 명령어 (파일 내 특정 문자열 찾기)

* grep 명령어
리눅스에서 grep 명령어는 특정 파일에서 지정한 문자열이나 정규표현식을 포함한 행을 출력해주는 명령어입니다. 특히 tail이나 ls 등 다양한 명령어와 조합하여 응용되는 경우가 많아서 이 grep명령어는 리눅스에서 능숙하게 사용할 줄 알아야 하는 기본 명령어입니다
* -i : 대소문자 무시. 필수 옵션.


* | : 파이프라인. 명령의 결과가 뒤 명령의 매개 변수로 들어가게 된다.


* 가끔 악성 코드나 바이러스가 들어오는 경우는 kill -9 옵션. 살아나면 또 죽임. 바이러스의 활동을 막은 후 원본 파일을 찾아서 삭제해 준다.


그 동안 친 명령어 목록이 나타남


* !숫자 : history의 실행번호에 해당하는 명령어가 실행된다.


* !! : 바로 이전 명령을 다시 반복하고 싶은 경우 사용. !! 단위로 이전 명령어를 친 것으로 판단하여 여러번 실행되는 것임



* sudo apt install x11-utils -y 이렇게 해도 됨

GUI 프로그램 죽일 때 자주 사용하는 방법. 마우스 클릭으로 프로세스 삭제 가능


* find 시작위치 -name


* sudo find / -name "*.c"
* sudo find / -name "*.c" > allcfilelist.txt


절대 경로와 상대 경로


사용자 홈 디렉토리로 이동

앨리어스 등록 및 사용 방법
앨리어스 삭제 방법

환경변수 $PATH

* 환경변수에 등록된 디렉토리에서 명령어로 입력한 값을 찾음. 하드디스크 전체를 찾지 않는다는 말임.


* 원하는 변수명을 주고 값을 주면 값이 들어감. 값을 줄 때는 ""를 사용.


mv ./dododo ../ 로 쓰는 것이 좋다.
잘라내기 + 이름바꾸기
이름 바꾸기 테크닉
파일 안에 있는 명령어를 실행할 시 : source 일괄 배치 처리할 경우 많이 활용
source 대신 .을 사용해도 똑같은 의미이다.

* chmod : 권한 설정 명령, 정말로 많이 쓰이는 명령어 중 하나
* chown : 소유자 변경 명령


* 소유자, 유저 그룹, 다른 사용자의 읽기, 쓰기, 실행권한
* 어떤 파일이나 디렉토리에 소유자의 권한을 주려면 101, 101, 101
* 이를 10진수로 변환한다. 5, 5, 5 이를 명령어로 치환한다.


* 환경변수 PATH에 sohyun 디렉토리가 명시되어 있지 않으므로 명확히 알려주어야 한다.

* 환경변수에 현재 디렉토리를 등록해보쟈.

이제는 실행 가능

* 소유자는 111, 101, 101 패턴 => 7,5,5로 실행 파일을 많이 설정한다. 혹은 754

755 패턴
754 패턴

* UGO => 앞 글자를 따서 의미를 명확히 한다.

권한 설정을 줄 때는 +, 권한을 제거할 때는 -

폴더의 소유 권한 변경
폴더를 1개만 생성 후 다시 소유자를 root로 변경

ln -s /home/java/sohyun ~/shn => 바로가기 생성


파일이 최근에 접근한 시각으로 바뀜

* touch 명령어로 버그 원인을 못 찾으면 이 명령어를 써서 당신네 직원이 이 파일 건드렸다고 덮어 씌우고 안에서 싸움 난 사이에 디버깅 해서 물먹임. 이제는 명령어를 사용하지 못하게 막음.


파일을 묶고 확장자 명을 tar로 지정. 압축률은 거의 없음
파일을 압축 후 상위 폴더로 잘라내기 한 후 역순으로 압축 풀고 묶음 풀기
rm 명령어는 파일을 완전 삭제하므로 거의 복구가 불가능하다. 사용에 유의하자.
한번에 압축과 묶음 풀기. 원본 파일은 그대로 남는다.

* $는 일반 사용자, #일 때는 최고 관리자로 변경된다.

일반 사용자와 최고 관리자로 자유자재 변경 가능. 다만 명령어 사용에는 유의해야 한다.

디스크 사용량을 사용자가 알기 쉽게 표현

* 윈도우의 c, d 드라이브가 /mnt/c, /mnt/d에 마운트 되어 있다.


* c, d 드라이브에 접근하는 방법


도스의 앨리어스 기능

호환성 문제로 잘 쓰지 않은 비운의 PowerShell...

* Docker 설치
- 도커는 시스템 운영자, 서버 관리, 클라우드 등에 많이 활용되지만, 개발자도 어느 정도 알아야 한다. 개발 환경 구축 시에 다른 사람이 만든 것을 끌어 올 수 있기 때문이다.
- 가상 컨테이너와 가상 머신의 차이점을 알아두자.
https://daaa0555.tistory.com/464

VM(가상머신) 과 Container(컨테이너)의 차이

# VM vs Container # VM 공통적으로 하나의 서버가 있고 한서버에는 어떤 운영 체제가 있건 HostOS (맥 OS, 리눅스, 마이크로소프트 윈도우) 가 올라간다. VM의 경우 호스트OS에 의해 VM을 가상화 시켜주는

daaa0555.tistory.com

Docker Hub

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

https://e-7-e.tistory.com/190

오라클 도커(Docker) 설치 (free 23c)

오라클에서 데이터베이스 23c 개발자용 무료 버전을 공개했단당 https://www.oracle.com/kr/news/announcement/oracle-database-23c-free-developer-release-2023-04-03/ 개발자를 위해 공개 했다닝 어찌 아니 사용하지 아니

e-7-e.tistory.com


* docker run -d -p 8521:1521 --name OraFree -e ORACLE_PASSWORD=oracle gvenzl/oracle-free




docker exec -it OraFree /bin/bash

-it interactive : 안에 들어가서 상호작용으로 제어하겠다.
도커 이미지 만들 시에 대부분 우분투 이미지를 많이 사용한다. 
아까 말한 가장 많이 사용하는 shell.

가상 머신에서 탈출~
지우면 컴퓨터 속도가 다시 빨라짐.

 

'대덕인재개발원_final project' 카테고리의 다른 글

(24) CICD  (0) 2024.02.19
(22) 토요일 수업 5  (0) 2024.02.03
(21) 웹 소켓 세팅  (1) 2024.02.01
(20) 토요일 수업 4  (0) 2024.01.13
(19) 보강 12  (0) 2024.01.08