■ 가상화 플랫폼
가상화 플랫폼을 이용하면 윈도우 사용자가 하나의 pc내에서 시뮬레이션 또는 가상화된 다른 시스템을 실행 할 수 있다.
예를 들어 윈도우11에서 리눅스를 설치해서 사용할 수 있다.
- VM WARE Workstation
- Oracle VirtualBox
- MS Hyper-V


■  호스트(host) OS(운영체제), 게스트(guest) OS
- 호스트(host) OS : Oracle VirtualBox가 설치된 운영체제
- 게스트(guest) OS : 가상머신 위에 설치되는 운영체제


■ Linux
오픈 소스 운영체제 = 무료
1991 Linus Torvalds(리누즈 토발즈)가 취미 삼아 만든 것으로 알려져 있다.
Linus는 대학생 시절에 UNIX의 원칙과 설계를 기반으로 했던 MINIX 운영체제를 대체할 무료 오픈 소스 버전을 만들었다.

리누즈 토발즈가 개발한 것은 리눅스의 커널(자동차 엔진)을 개발하고 소스를 무료로 공개하고 전세계의 많은 개발자들이 이 오픈소스를 가져다가 더 좋게 개선해서 다시 인터넷에 올리고하는 작업을 반복하다보니 리눅스가 유닉스보다 더 가볍고 안정적이게 되었다.

GNU 프로젝트
누구든지 이 배포된 오픈소스를 가져다가 개발할 수 있고 돈을 벌 목적으로 상용화할 수도 있는데 한가지 지켜야 할 약속은 이 소스를 가져다가 더 좋게 수정했으면 그 코드를 인터넷에 올려줘야하는 약속이 있다.


Red hat(상용버젼) ----------> centos
ㄴ 유료 : 기술지원 가능        ㄴ 무료





https://www.virtualbox.org/

 

Oracle VM VirtualBox

Welcome to VirtualBox.org! News Flash New October 17th, 2023VirtualBox 7.0.12 released! Oracle today released a 7.0 maintenance release which improves stability and fixes regressions. See the Changelog for details. New October 17th, 2023VirtualBox 6.1.48 r

www.virtualbox.org

VirtualBox-7.0.12-159484-Win


Visual C++ 우선 설치가 필요하다


https://learn.microsoft.com/ko-kr/cpp/windows/latest-supported-vc-redist?view=msvc-170

 

지원되는 최신 Visual C++ 재배포 가능 패키지 다운로드

이 문서에서는 최신 버전의 Visual C++ 재배포 가능 패키지 패키지에 대한 다운로드 링크를 나열합니다.

learn.microsoft.com

X64    VC_redist.x64



Visual C++ 설치 >> VirtualBox 설치



https://www.centos.org/

 

The CentOS Project

DevConf.US Dojo Jun 10, 2022 — CentOS is hosting an in-person Dojo at DevConf.US. The Dojo will take place at Boston University on August 17, the day before the main DevConf talks. The CFP and registration are open. The Dojo is free as always, but regist

www.centos.org

CentOS-7-x86_64-DVD-2009.iso
-->> 다운받은 파일 4기가 용량 확인




https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.80)

This page contains download links for the latest released version of PuTTY. Currently this is 0.80, released on 2023-12-18. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

putty.exe (the SSH and Telnet client itself)
64-bit x86





Oracle VM VirtualBox


* 도구 - 네트워크
VirtualBox Host-Only Ethernet Adapter -----> 가상주소
DHCP 서버 활성화

* 환영합니다 - 환경설정 - 입력 - 가상머신
호스트 키 조합 : 가상 안팍 전환키

* 환영합니다 - 새로만들기

* 하드웨어
기본메모리 : 16기가 중 2기가
프로세서 : CPU 16개 중 2개

* 가상 하드 디스크 50기가

-----> 설치


* centos - 설정
일반 - 고급 - 클립보드 공유, 드래그 앤 드롭 : 양방향
저장소 - 컨트롤러:IDE - ISO 연결
네트워크 - 어댑터2 활성화 - 호스트 전용 어댑터
-----> 확인


* 시작 - Instal CentOS 7 - English

 

디스크를 다시 선택 후 확인

 

이더넷 두개 다 ON + 설정에서 네트워크 자동연결 체크

 

Host Name 변경 : centos

-----> 설치 시작

* 설치 중
마스터 비번설정 : 1234
'미리' 계정생성 - user1 / 1234

* 리부트 - 라이센스 동의 - 완료

* 계정 root로 접속
not listed? - root / 1234 - 영어로 설정 - 위치 OFF - SKIP


* 창 화면조정 설치

-----> run
완료되면 창닫고 이후 창 크기에 따른 화면조정 가능
바탕화면의 CD - eject (꺼내기)



바탕화면 - 마우스오른쪽 - 오픈 터미널
> ifconfig - ip확인



putty

 


-----> Open - 리눅스 계정으로 로그인

* 내용 복사 : 화면 블럭
* 붙여넣기 : 마우스 오른쪽 클릭

> su -
마스터 계정으로 변경

> su - user1
> user1 계정으로 변경

> exit
계정로그아웃 또는 접속종료 





■ 리눅스 시스템 종료
root사용자가 리눅스 시스템을 종료할 수 있다.

init 0
shutdown -h now





■ 리눅스 시스템 재부팅
root사용자가 리눅스 시스템을 재부팅할 수 있다.
reboot
init 6
shutdown -r now





ls (list)

디렉터리 안에 있는 파일이나 서브 디렉터리 등 디렉터리의 내용을 보는 명령

옵션 : ls -lh 또는 ls -hl 또는 ls -l -h 옵션 순서 무관

-l 파일들을 나열할 때 자세히 출력한다.
이름(파일,디렉터리,심볼릭마크) 기준으로 오름차순  정렬
-h -l 옵션과 함께 사용하면 파일의 크기를 K,M,G 읽기쉬운 단위로 변경해서 출력한다.
-rw-rw-r--. 1 user1 user1 1.1K Dec  1 10:50 asia
-S -l 옵션과 함께 사용하면 파일 크기순으로 내림차순 정렬 한다.
-t -l 옵션과 함께 사용하면 출력결과를 파일이 수정된 시간을 기준으로 내림차순 정렬한다.
-r -l 옵션과 함께 사용하면 출력결과의 정렬을 반전한다.(오름차순 -> 내림차순)
-R 서브디렉터리 안에 있는 파일, 디렉터리 모두 표시
-a 경로안의 모든 파일을 나열한다.(숨김파일 포함)
-d 디렉터리 자체 정보 확인
-F 파일의 종류를 자세히 표시한다.
* : 실행파일
/ : 디렉터리 home/ dev/
@ : 심벌릭 링크(윈도우 바로가기와 비슷) lib64@ bin@

 

[root@centos ~]# ls -l
drwxr-xr-x. 2 root root    6 Nov 29 21:18 Desktop
d rwxr-xr-x. 2 root root
6 Nov 29 21:18 Desktop
1 2 3 4 5 6 7 8
1 파일 종류
    - : 일반파일
    d : 디렉터리
    | : 심볼릭 링크 파일(symbolic link file), 윈도우 바로가기 비슷하다.
2 파일 접근 권한, 소유자, 그룹, 기타사용자
    r : 읽기권한
    w : 쓰기 권한
    x : 실행 권한
3 하드 링크의 개수
4 파일 소유자
5 파일이 속한 그룹
6 파일의 크기(byte)
7 최종갱신일
8 파일명(파일, 디렉터리, 심볼릭 링크)



# 다수의 목록 확인
[user1@centos ~]$ ls ~/test1 ~/test2
/home/user1/test1:
ex1.txt  ex2.txt  ex3.txt

/home/user1/test2:
bashrc  ex1.txt  ex1.txt~  ex2.txt


# 다수의 상세목록확인
[user1@centos ~]$ ls -l ~/test1 ~/test2
/home/user1/test1:
total 12
-rw-rw-r--. 1 user1 user1  29 Dec  1 11:05 ex1.txt
-rw-rw-r--. 1 user1 user1 150 Dec  1 11:05 ex2.txt
-rw-rw-r--. 1 user1 user1  29 Dec  1 11:10 ex3.txt

/home/user1/test2:
total 16
-rw-r--r--. 1 user1 user1 2853 Dec  1 11:24 bashrc
-rw-rw-r--. 1 user1 user1   29 Dec  1 11:50 ex1.txt
-rw-rw-r--. 1 user1 user1   29 Dec  1 11:45 ex1.txt~
-rw-rw-r--. 1 user1 user1  150 Dec  1 11:18 ex2.txt





pwd (print working didectory)
현재 디렉터리의 절대경로를 출력

[user1@centos ~]$ pwd
/home/user1





cd (change directory)
디렉터리 이동하는 명령어


절대경로(absolute path) : 루트 디렉터리에서 시작해서 목적지 디렉터리까지 경로를 의미한다.

[root@centos ~]# cd Documents
[root@centos ~]# cd /home/user1


상대경로(relative path) : 현재 자신의 위치 즉 현재 디렉터리에서 목적지를 향하는 경로를 의미한다.

cd . (점) 현재 디렉터리로 이동
cd .. (점점) 상위 디렉터리로 이동
cd
cd ~
cd $home
접속한 사용자 홈디렉터리로 이동
[user1@centos ~]$ pwd
/home/user1
cd ~user1 입력한 사용자 홈 디렉터리로 이동 : /home/user1
단, 유저가 root로는 함부로 못간다.
cd - 이전 경로(직전에 사용한 경로)로 이동
cd ./Documents
cd Documents

/home/user1/Documents 기준
현재 디렉터리의 하위 디렉터리로 이동 

cd /Documents     ----> / 로 시작하면 절대경로라서 오류
cd / 최상위 디렉터리(루트디렉터리)로 이동
[user1@centos /]$ pwd
/


[root@centos /]# cd ~
[root@centos ~]# pwd
/root        ---> root 계정의 홈 디렉터리


[root@centos ~]# cd /
[root@centos /]# pwd
/        ---> 최상위 루트 디렉터리





mkdir
디렉터리 만드는 명령어

-p 서브디렉터리까지 한번에 생성


[user1@centos ~]$ mkdir test
[user1@centos ~]$ ls -l
total 0
drwxrwxr-x. 2 user1 user1 6 Nov 30 01:20 test


# 현재 위치에서 다중 디렉터리 생성
[user1@centos ~]$ mkdir test1 test2 test3
[user1@centos ~]$ ls
test  test1  test2  test3

[user1@centos ~]$ mkdir /test4
mkdir: cannot create directory ‘/test4’: Permission denied
-----> 오류 : 절대경로를 사용한다면 user1 계정 기준 /home/user1/test4
-----> 상대경로로 사용 시 그냥 test4 또는 ./test4


# 현재 위치에서 디렉터리를 생성하면서 서브 디렉터리 생성
[user1@centos ~]$ mkdir -p test4/test5
[user1@centos ~]$ cd test4/test5           ---> 현재 위치 기준, 상대경로
[user1@centos test5]$ pwd
/home/user1/test4/test5          ---> 절대 경로





rmdir
디렉터리를 삭제하는 명령어, 단 디렉터리 안에 파일 또는 디렉터리가 없을 경우 삭제

-R 서브디렉터리 안에 있는 파일, 디렉터리 모두 포함


[user1@centos ~]$ rmdir test1
[user1@centos ~]$ rmdir test2
[user1@centos ~]$ ls
test  test3  test4

[user1@centos ~]$ rmdir test4
rmdir: failed to remove ‘test4’: Directory not empty
[user1@centos ~]$ ls -R test4
test4:
test5
-----> 하위에 디렉터리 및 파일이 있을 경우 옵션없이 삭제 불가
[user1@centos ~]$ rmdir -R test4





rm
파일이나 디렉터리를 삭제하는 명령어

-r 현재 디렉터리 내 모든 파일과 디렉터리를 함께 삭제
-i 삭제여부 물어보기
-f 삭제할 때 물어보지 말고 바로 삭제 (최근 기본값)


[user1@centos test]$ rm -i a100
rm: remove regular empty file ‘a100’? y


[user1@centos ~]$ rm -ri test     ----> 또는 rm -r -i test
rm: descend into directory ‘test’? y
rm: remove regular empty file ‘test/b’? y
rm: remove directory ‘test’? y
-----> 파일 및 디렉터리 각각 질문한다.






touch
파일의 용량이 0인 파일을 생성하는 명령어
기존 파일의 수정날짜 정보를 최신날짜로 변경할 때 사용하는 명령어

[user1@centos test]$ touch a1.text
[user1@centos test]$ ls -l
total 0
-rw-rw-r--. 1 user1 user1 0 Nov 30 02:10 a1.text
[user1@centos test]$ touch a1.text
[user1@centos test]$ ls -l
total 0
-rw-rw-r--. 1 user1 user1 0 Nov 30 02:11 a1.text





clear
화면 내용 지우는 명령





cat
파일안에 내용 보기

-b 라인번호 출력 (공백줄 제외)
-n 라인번호 출력 (공백줄 포함)


[user1@centos ~]$ cat -b .bashrc
     1  # .bashrc

     2  # Source global definitions
     3  if [ -f /etc/bashrc ]; then


[user1@centos ~]$ cat -n .bashrc
     1  # .bashrc
     2
     3  # Source global definitions
     4  if [ -f /etc/bashrc ]; then





nl
파일안에 내용을 출력하면서 라인번호까지 출력하는 명령어

[user1@centos ~]$ nl .bashrc
||
[user1@centos ~]$ cat -b .bashrc





less
파일의 내용을 한 화면에 보여주는 명령어

-N 라인번호 출력 (공백줄 제외)

 

space bar 다음페이지
q less 명령어를 종료


[user1@centos ~]$
less /etc/passwd






more
파일의 내용을 한 화면에 보여주는 명령어(--More-- %)

-숫자 라인수만큼씩 화면에 출력한다.

 

enter key 한행 아래로 이동
b 한행 위로 이동
= 현재 위치의 행번호 표시
q more 명령어를 종료


[user1@centos ~]$ more /etc/passwd

[user1@centos ~]$ more -10 /etc/passwd





head
파일의 앞부분 출력, 기본값10
[user1@centos ~]$ head -2 /etc/passwd





tail
파일의 뒷부분 출력, 기본값 10
[user1@centos ~]$ tail -2 /ete/passwd





man
명령어의 메뉴얼 보기
[user1@centos ~]$ man ls





■  which
실행파일의 경로

[user1@centos ~]$ which date
/bin/date





su -
exit
init 0
reboot

ls
pwd 
cd
mkdir
rmdir
rm
touch
clear
cat
nl
less
more
head
tail
man
which