(4일차) 4.6(수) 줌 수업

https://drive.google.com/drive/folders/18GpyaiiESWLJFkOk2R05k4tcw192nC90

이론수업

디렉토리(폴더)

  • 컴퓨팅에서 파일을 분류하기 위해 사용하는 이름공간.
  • 파일 시스템 안에서 파일과 다른 하부 디렉토리들로 구성된다.
  • 수많은 컴퓨터에서 디렉토리는 폴더 또는 카탈로그 라고도 함.
    마이크로소프드 윈도우에서는 폴더와 디렉터리라는 용어가 번갈아가며 쓰인다.
  • 일반적인 파일 시스템은 수천 개가 넘는 디렉토리들을 가지고 있다.
  • 같은 디렉토리에 관련 파일들이 저장되어 나열되고 관리된다.
  • 다른 디렉토리 속의 디렉토리를 그 디렉토리의 하위 디렉토리 또는 서브 디렉토리 라고 한다.
  • 폴더라는 이름에서도 이와 똑같이 하위폴더(서브폴더) 라고 한다.
  • 디렉토리들은 계급, 곧 트리 구조를 형성한다
  • 하위 디렉토리 및 이에 분류되는 디렉터리 간의 관계를 기술하기 위해 부모 디렉터리와 자식 디렉터리란 용어도 사용된다.

리눅스

  • 컴퓨터 운영체제(서버 운영체제) 이며, 그 커널을 뜻하기도 함
  • 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본으로 들 수 있다.
  • 다중 사용자, 다중 작업(머맅태스킹) 다중 스레드를 지원하는 네트워크 운영 체제(NOS)이다.
  • 초기에 리눅스는 개개인의 애호자들이 광범위하게 개발했음. 이후 리눅스는 IBM, HP와 같은 거대 IT 기업의 후원을 받으며 서버 분야에서 Unix와 Microsoft Windows 운영체제의 대안으로 자리잡았다.
  • 데스크톱 컴퓨터를 위한 운영 체제로서도 인기가 늘어가고 있음
  • 지지자와 분석자들은 이와 같은 성공을 벤더 독립성과 적은 개발비, 보안성과 안전성에서 기인한다고 분석함
  • 리눅스는 처음에 인텔 386 마이크로프로세서(CPU)를 위해 개발되었으나 현재는 다양한 컴퓨터 아키텍처를 지원함.
  • 리눅스는 개인용 컴퓨터에 슈퍼 컴퓨터는 물론 휴대전화, 개인용 비디오 레코더와 같은 임베디드 시스템까지 광범위하게 이용되고 있음.
  • 리누스 토발즈(리누스의 유닉스)가 커널을 개발하고 GNU에서 개발된 나머지 명령어 프로그램들을 도입하여 현재의 리눅스로 발전해왔다.

교수님 말씀

운영체제 자체가 커널의 역할이 크다보니 운영체제 리눅스라는 말 자체가 커널을 뜻하기도 함
수직적인 스케일링, 수평적인 스케일링
스케일 업, 스케일 아웃(복제기능) - 복제할 소스가 되는 원본이 크면 복제하기에 부담이 된다.

PDF 참조

디렉토리 설명


처음 시작이 슬래시(/)로 시작하게 되면 무조건 절대경로라고 보면 된다.
슬래시가 없이도 절대경로가 될 수 있지만 왠만하면 슬래시가 있다.



장치파일: CD_ROM, DVD 등

1.구글 드라이브 접속

1-1 파일 내려받기


목록 전부 내려받기

2. 실습환경 강의실과 동일하게 세팅하기

1) VirtualBox 설치

https://www.virtualbox.org/wiki/Downloads

CentOS7XFCE 스펙

CPU : 2C
RAM : 4GB(4096MB) - VGA (128M)
SSD : 128GB(동적할당; Thin Provisioning)
IMG : CentOS7Minimal*.iso

1.가상머신 새로만들기

CPU : 2C
RAM : 4GB(4096MB) - VGA (128M)
SSD : 128GB(동적할당; Thin Provisioning) - 가상하드디스크
IMG : CentOS7Minimal*.iso
교수님은 Minimal



가상머신 설정

1) 플로피 제거
2) cpu 2개 설정
3) 비디오메모리 128GB
4) 저장소 minimal 선택
5) 오디오 해제
6) 네트워크 : 어댑터1 NAT, 어댑터2 호스트전용 어답터
7) USB 체크해제

가상머신 실행 후 설정

1) 키보드 설정 (호스트 키 조합 변경)

8) 시스템 마더보드에서 포인팅장치 변경하면 버그 해결됨
9) installation destination -> i will configure partitioning

>>10) click gere to create them automatically
11) /home 공간 삭제
12) root(/)공간으로 공간 몰아주기
![](https://imagedelivery.net/v7-TZByhOiJbNM9RaUdzSA/45a6fd99-bda2-482f-9822-f5f2a04ba100/public)
13) swap 공간은 메모리를 대체하기 위해 디스크 공간을 램이 저장할 공간으로 설정하는곳(?)
>14) done

15) network & host name -> 랜카드 모두 ON 하기

16)begin installation
17) root password 설정
18) done
19) 리붓

도커는 이미지가 더욱 작아서 설치가 빠르다

가상머신 실행

랜카드 중 ip를 받지 못하고 있는 곳에 ip 주기

1)ip 확인

ip a
>현재 랜카드 두개 중에서 아이피를 받지 못하고 있는 것이 확인된다.

1) 명령어 자동완성기능

: 탭 1번, 탭2번

어느 경로까지 왔는지 확인 명령어

pwd
cd /etc/sysconf ig/network-scripts/
ls
pws

VI도구(메모장과 비슷) 사용해보기

vi 명령어를 이용해 txt파일 만들기 명령어

vi test.txt

입력모드로 전환

키보드 I 키( insert로 변경되며 입력가능)

입력모드 종료

esc (이스케이프)

저장하고 나오기

:wq (write;quit)

cat 명령어를 이용해 txt 파일 열어보기

cat < test.txt

vi 명령어를 통해 test.txt파일 수정하기

vi test.txt

vi 명령어를 통해 수정하기

vi ifcfg-enp0s8
수정내역: ONBOOT=no -> yes

수정한 내용 적용을 위해 restart 하기 명령어

systemctl restart network

ip확인

ip a

cmd창에서 해당 ip로 접속 가능한지 확인

ssh [email protected]

교수님 曰

VM(빨간모자)화면, cmd창(작업관리자)의 CLI 화면을 콘솔 또는 터미널이라고 부른다

poweroff

VM 복제하기

VM관리자로 이동

복제하기

  • 가상머신 이름변경, MAC 주소 : 모든 네트워크 어댑터의 새 MAC주소 생성
  • 완전한 복제

복제한 VM IP 확인하기

ip a

센토스 7 커널 업데이트

0)cmd창에서 vm 업데이트 하기

ssh 명령어와 호스트ip를 이용해 로그인

yum update -y

1)# yum -y install yum-plugin-fastestmirror
2)# yum install epel-release -y
3)# yum update -y
4)# yum install kernel-devel kernel-headers -y
5)# yum install -y gcc make linux-headers-$(uname -r) dkms
6)# reboot

센토스 7 xfce 데스크톱 설치

1)# yum groupinstall "X Window System" Xfce -y
2)# systemctl set-default graphical.target
3)# rm -rf /etc/systemd/system/default.target
4)# ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target'

5)# yum install -y unzip wget

센토스 7 구글 크롬 설치

센토스에서는 구글크롬을 정식으로 설치하기 어려워서 yum install을 이용해서 설치어렵고 조금 다른방식으로 해야한다

///////////0) yum install -y google

1)# vi /etc/yum.repos.d/google-chrome.repo

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

(:wq)

2)# yum install google-chrome-stable -y
3)# vi /opt/google/chrome/google-chrome
exec -a "0""0" "HERE/chrome" "$@"
4) --no-sandbox --user-data-dir
한 칸 띄우고 붙여넣기

5) :wq
6)# /usr/bin/google-chrome

작성중인 파일을 저장하지 않고 나오기

:q

수정된 내용 있는데 저장안할거 맞는지 묻는 질문 나올때 동의하기

:q!

4. 한글 나눔글꼴 설치

1) # mkdir /usr/share/fonts/nanumfont && cd $_
2) # wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
2)# unzip NanumFont_TTF_ALL.zip
4)# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
5)# yum install -y perl gcc dkms kernel-devel kernel-headers make bzip2
6)# reboot

VM 실행

use default config

게스트 확장 CD 이미지 삽입

삽입 안될때

장치-광학 드라이브 -디스크 파일 선택 클릭 - 로컬디스크C -프로그램파일즈-오라클-
-VirtualBox폴더-VBoxGuestAdditions.iso 선택, 열기버튼 클릭 -강제 마운팅하기 클릭

터미널

ls /dev/sr0
(있는지 목록 확인)

mkdir /test

마운트하기

mount /dev sr0 /media/

마운트취소

(마운트취소하려는 폴더명 입력해주기)

umount /media

마운트용 폴더 만들어서 마운트하기

mkdir /test

방금 만든 폴더에 찐 마운트하기

mount /dev/sr0 /test

test 폴더로 이동

cd /test

다시 돌아가기

cd ..

마운트 다시 취소하기

umount /test
마운트를 취소하려면 마운트했던 폴더에서 나온 상태에서 명령어를 수행해야한다.

마운트를 통해 연결된 sr0라는 내용들을 봤는데, 마운트 해제하고나면
안보인다.

test폴더가 문을 빌려줬던 것

마운트 된것 확인하기

df -h
드라이브 사용현황을 보여주는 명령어이다.

Mounted on 항목을 보면 마운트가 된 것 확인가능

크롬 안될떄

지구본

크롬 안될떄 파이어폭스 설치

yum install -y firefox

VBox 프로그램파일즈 - 오라클 - VBOX, VBOXGest

run

wget http://192.168.1.27/FILES/VBoxLinuxAdditions.run

링크 복사한거임

chmeo 744 VBoxLinuxAdditions.run

chmeo 744 VBoxLinuxAdditions.run

r (4):read
w (2): write
x(1): execute(실행하다.)

권한 확인하기

li -l

./VBoxLinuxAdditions.run


녹색이면 실행할 수 있는거

리눅스 기본 명령어
mkdir dir({A,B,C}

whoami

cat > file

Hello, Linux

cat < file

fine 명령어

find / -name core -type f

du -a /
엔터

목록 너무 빨리 내려갈떄 멈추기

ctrl + s

ctrl + q 또는 C 하면 나와짐

man umame ??

CLI 제어문자

엔터칠 필요 없을때 명령어 한번에 지우기

ctrl+u

커서가 있는 곳 명령어 지우기

ctrl + w

man -k calendar
내용이 calendar 라고 있는거 꺼내달라

메뉴얼

man 을 통해서 보기

ls dirA
ls dirA dirB dirC

ls /var/log

ls와 ls -a 차이

-a는 all이기 때문에 훨씬 더 많이 나온다
.은 숨겨진 파일임

ls -a -l
옵션 두개 섞을 수 있음
-l은 길게 보여달라
-a는 모든 파일을 보여달라

ls -l /dev

디렉토리 하위목록 보기

ls -R

파일 종류 확인

ls -F /bin/uname

cat > fileA

\n은 엔터를 의미함
echo 명령어 통해서 numbers라는 파일을 만들면서 내용분에 엔터들이 중간에 들어가도록 한다

echo -e "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15" > numbers

head numbers

head -5 numbers

head -13 numbers
옵션을 넣지 않으면 전체 라인에서 10번째까지,
-넣고 자릿수 넣으면 그 숫자만큼 보여줌


수정해야할거

--- 리눅스 기본 명령어
0. 실습 준비

1) # mkdir dir{A,B,C}
2)# touch dir{A,B,C}/file{X,Y,Z}
3)# touch file{A,B,C,D}
4)# ls -F ./ dirA dirB dirC

  1. CLI 구문

    #Command [options][Arguments]

1) # uname
2)# date
3)# cal
4)# clear

1) #uname -a
2) #uname -s
3) # uname -r
4) # uname -s -r
5) # uname -sr

1) #cal 2 2016

#ls -l /etc/hosts

#date; uname
#cal 5 2019; date; uname -a

--- Ctrl + C Terminates the command currently running.

#sleep 500
#ls
#locale
반응이 없다.
<CTRL + C>

--- Ctrl + D Indicates end-of-file or exit.

#mkdir –p /test / 최상위 디렉토리 아래 test 디렉토리 생성 /

#cd /test / 생성한 test 디렉토리로 이동 /

#pwd / 현재 작업 디텍토리 확인/
/test

#cat > file1 / 파일에 내용 입력 /
Hello, Linux
<CTRL + D> /“파일의 끝”의미 /

#cat file1 / 입력된 파일 내용 확인 /
Hello, Linux

--- Ctrl + U Erases all characters on the current command line.

#find / -name core -type f <CTRL + U>

--- Ctrl + W Erase the last word on the command line.

#find / -name core -type f <CTRL + W>

#find / -name core -type <CTRL + W> <CTRL + W>

#find / -name <CTRL + W>

#find / <CTRL + U>

--- Ctrl + S Stops output to the screen
--- Ctrl + Q Restarts output to the screen after you have pressed Control-S

#du –a /

<CTRL + S> / stop /
<CTRL + Q> / quit, 원래 상태로 빠져 나오기 /
<CTRL + S>
<CTRL + Q>
<CTRL + C> / 정지와 복귀를 반복해보다가 빠져나온다 /

  1. 메뉴얼 페이지
  • 메뉴얼 페이지 보기

    man uname

#man -k calendar

  1. 디렉토리 작업
  • 현재 작업 디렉토리 확인

#pwd

  • 디렉토리 내용 확인

#ls

#ls dirA

#ls /var/log

숨겨진 파일 보기

#ls -a

  • 디렉토리 내용 자세히 보기

#ls -l

#ls -l dirA

  • 개별 디렉토리 확인

#ls -l dirA

#ls -ld dirA

  • 디렉토리 하위 목록 보기

#ls -R

#ls -R dirA

  • 파일 종류 확인

#ls -F

#ls -F /bin/uname

#file dirA

#file /var/log/maillog

#file /bin/uname

  • 디렉토리 변경
    • #pwd
    • #cd dirA
    • #pwd

#ls -a
#pwd
#cd ..
#pwd

#cd dirA
#pwd
#cd ../dirB
#pwd
#cd /root/dirA
#pwd
#cd ~
#pwd
#cd ~/dirA
#pwd

#pwd
#cd /root/dirA
#pwd
#cd -
#pwd

4. 파일 작업

#cat /etc/hosts
#cat /etc/ssh/sshd_config
#more /etc/ssh/sshd_config

#echo -e "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15" > numbers
#cat numbers

#head numbers

#head -5 numbers

#tail -3 numbers

#wc /etc/ssh/sshd_config
파일의 내용을 분석(라인수 ,글자 수 , 바이트 등을 순서대로 보여줌)
#139 476 3907 /etc/ssh/sshd_config
line word byte

#wc -l /etc/ssh/sshd_config
#wc -c /etc/ssh/sshd_config

  1. 복사
  • 파일 복사

    #ls -F
    #cp fileA fileAA
    #ls -F
    #ls -F dirC (디렉토리 C에 복사하겠다는 뜻)
    #cp fileA fileAA dirC [cp (복사할 원본파일명) (복사되서 들어갈 폴더명) ]
    #cp dirC dirCC (디렉토리를 복사할때는 옵션을 넣어줘야 에러가 뜨지 않는다 )
    #cp -r dirC dirCC (이 폴더 안에 내용물이 담긴 상태에서 통째로 복사본을 만들기 옵션)

#ls -F dirC
#cp -i fileA fileAA

6.이동

-파일 이동

#ls -F dirC
#mv fileD dirC
#ls -F dirC
mv fileD dirC [mv (보낼파일명) (받을위치명)]

디렉토리 이동

#ls -F
#ls -F dirC
#mv dirCC dirC
#ls -F
#ls -F dirC

  1. 생성
    -빈 파일 생성

    #touch dirC/touch_file
    #ls -F dirC
    #touch makeA makeB makeC
    #ls -F

  • 디렉토리 생성

    #mkdir dirX
    #ls -ld dirX
    #mkdir dirY/dirZ [현재 dirY라는 폴더가 없어도 이렇게 경로 지정해주면 새폴더 만들고 넣어준다]
    #mkdir -p dirY/dirZ
    #ls -F
    #ls -F dirY
    #mkdir dirU dirV

오류
1) 구글설치
2) 복붙오류

좋은 웹페이지 즐겨찾기