(4일차) 4.6(수) 줌 수업
https://drive.google.com/drive/folders/18GpyaiiESWLJFkOk2R05k4tcw192nC90
이론수업
디렉토리(폴더)
- 컴퓨팅에서 파일을 분류하기 위해 사용하는 이름공간.
- 파일 시스템 안에서 파일과 다른 하부 디렉토리들로 구성된다.
- 수많은 컴퓨터에서 디렉토리는 폴더 또는 카탈로그 라고도 함.
마이크로소프드 윈도우에서는 폴더와 디렉터리라는 용어가 번갈아가며 쓰인다.
- 일반적인 파일 시스템은 수천 개가 넘는 디렉토리들을 가지고 있다.
- 같은 디렉토리에 관련 파일들이 저장되어 나열되고 관리된다.
- 다른 디렉토리 속의 디렉토리를 그 디렉토리의 하위 디렉토리 또는 서브 디렉토리 라고 한다.
- 폴더라는 이름에서도 이와 똑같이 하위폴더(서브폴더) 라고 한다.
- 디렉토리들은 계급, 곧 트리 구조를 형성한다
- 하위 디렉토리 및 이에 분류되는 디렉터리 간의 관계를 기술하기 위해 부모 디렉터리와 자식 디렉터리란 용어도 사용된다.
리눅스
- 컴퓨터 운영체제(서버 운영체제) 이며, 그 커널을 뜻하기도 함
- 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본으로 들 수 있다.
- 다중 사용자, 다중 작업(머맅태스킹) 다중 스레드를 지원하는 네트워크 운영 체제(NOS)이다.
- 초기에 리눅스는 개개인의 애호자들이 광범위하게 개발했음. 이후 리눅스는 IBM, HP와 같은 거대 IT 기업의 후원을 받으며 서버 분야에서 Unix와 Microsoft Windows 운영체제의 대안으로 자리잡았다.
- 데스크톱 컴퓨터를 위한 운영 체제로서도 인기가 늘어가고 있음
- 지지자와 분석자들은 이와 같은 성공을 벤더 독립성과 적은 개발비, 보안성과 안전성에서 기인한다고 분석함
- 리눅스는 처음에 인텔 386 마이크로프로세서(CPU)를 위해 개발되었으나 현재는 다양한 컴퓨터 아키텍처를 지원함.
- 리눅스는 개인용 컴퓨터에 슈퍼 컴퓨터는 물론 휴대전화, 개인용 비디오 레코더와 같은 임베디드 시스템까지 광범위하게 이용되고 있음.
- 리누스 토발즈(리누스의 유닉스)가 커널을 개발하고 GNU에서 개발된 나머지 명령어 프로그램들을 도입하여 현재의 리눅스로 발전해왔다.
교수님 말씀
운영체제 자체가 커널의 역할이 크다보니 운영체제 리눅스라는 말 자체가 커널을 뜻하기도 함
수직적인 스케일링, 수평적인 스케일링
스케일 업, 스케일 아웃(복제기능) - 복제할 소스가 되는 원본이 크면 복제하기에 부담이 된다.
PDF 참조
디렉토리 설명
- 컴퓨팅에서 파일을 분류하기 위해 사용하는 이름공간.
- 파일 시스템 안에서 파일과 다른 하부 디렉토리들로 구성된다.
- 수많은 컴퓨터에서 디렉토리는 폴더 또는 카탈로그 라고도 함.
마이크로소프드 윈도우에서는 폴더와 디렉터리라는 용어가 번갈아가며 쓰인다. - 일반적인 파일 시스템은 수천 개가 넘는 디렉토리들을 가지고 있다.
- 같은 디렉토리에 관련 파일들이 저장되어 나열되고 관리된다.
- 다른 디렉토리 속의 디렉토리를 그 디렉토리의 하위 디렉토리 또는 서브 디렉토리 라고 한다.
- 폴더라는 이름에서도 이와 똑같이 하위폴더(서브폴더) 라고 한다.
- 디렉토리들은 계급, 곧 트리 구조를 형성한다
- 하위 디렉토리 및 이에 분류되는 디렉터리 간의 관계를 기술하기 위해 부모 디렉터리와 자식 디렉터리란 용어도 사용된다.
- 컴퓨터 운영체제(서버 운영체제) 이며, 그 커널을 뜻하기도 함
- 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본으로 들 수 있다.
- 다중 사용자, 다중 작업(머맅태스킹) 다중 스레드를 지원하는 네트워크 운영 체제(NOS)이다.
- 초기에 리눅스는 개개인의 애호자들이 광범위하게 개발했음. 이후 리눅스는 IBM, HP와 같은 거대 IT 기업의 후원을 받으며 서버 분야에서 Unix와 Microsoft Windows 운영체제의 대안으로 자리잡았다.
- 데스크톱 컴퓨터를 위한 운영 체제로서도 인기가 늘어가고 있음
- 지지자와 분석자들은 이와 같은 성공을 벤더 독립성과 적은 개발비, 보안성과 안전성에서 기인한다고 분석함
- 리눅스는 처음에 인텔 386 마이크로프로세서(CPU)를 위해 개발되었으나 현재는 다양한 컴퓨터 아키텍처를 지원함.
- 리눅스는 개인용 컴퓨터에 슈퍼 컴퓨터는 물론 휴대전화, 개인용 비디오 레코더와 같은 임베디드 시스템까지 광범위하게 이용되고 있음.
- 리누스 토발즈(리누스의 유닉스)가 커널을 개발하고 GNU에서 개발된 나머지 명령어 프로그램들을 도입하여 현재의 리눅스로 발전해왔다.
운영체제 자체가 커널의 역할이 크다보니 운영체제 리눅스라는 말 자체가 커널을 뜻하기도 함
수직적인 스케일링, 수평적인 스케일링
스케일 업, 스케일 아웃(복제기능) - 복제할 소스가 되는 원본이 크면 복제하기에 부담이 된다.
처음 시작이 슬래시(/)로 시작하게 되면 무조건 절대경로라고 보면 된다.
슬래시가 없이도 절대경로가 될 수 있지만 왠만하면 슬래시가 있다.
장치파일: 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) 키보드 설정 (호스트 키 조합 변경)
CPU : 2C
RAM : 4GB(4096MB) - VGA (128M)
SSD : 128GB(동적할당; Thin Provisioning)
IMG : CentOS7Minimal*.iso
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로 접속 가능한지 확인
교수님 曰
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 "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
- 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> / 정지와 복귀를 반복해보다가 빠져나온다 /
- 메뉴얼 페이지
- 메뉴얼 페이지 보기
man uname
#man -k calendar
- 디렉토리 작업
- 현재 작업 디렉토리 확인
#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
- 복사
- 파일 복사
#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
- 생성
-빈 파일 생성#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) 복붙오류
Author And Source
이 문제에 관하여((4일차) 4.6(수) 줌 수업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chamdodari2/4일차-4.6수-줌-수업저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)