시스템( OS, Platform )
OS - Operation System
Platform - 소프트웨어 구동 장치
OS
1. 시스템 관리자 - 설치ㆍ유지보수 (SA) / 운영환경설정
=> 슈퍼컴퓨터
2. 보안 관리자
해킹
시스템 해킹
네트워크 해킹
쉘 프로그래밍 ( C / C++ )
3. 개발자
개발을 위한 환경구성
( 웹서버, 데이터베이스 서버 설치, 튜닝 )
기타 프로그래밍
Unix
정통 Unix
→ Mac OS (BSD) → iOS
linux → Android
Window
드라이브 - 폴더 - 파일
레드햇 계열 - 기업용 (유료 AS해줌)
데비안 계열 - 우분투 ( 개인용 ) 사용자가 AS해야함
GNU는 다음과 같은 네 가지 자유를 보장
- 프로그램을 어떠한 목적으로도 실행할 수 있는 자유
- 프로그램이 어떻게 동작하는지 학습하고, 자신의 필요에 맞게 개작할 수 있는 자유
이를 위해서는 소스 코드 에 대한 접근이 전제되어야 한다.
- 이웃을 도울 수 있도록 복제물을 재배포할 수 있는 자유.
- 프로그램을 개선할 수 있는 자유와 개선된 이점을 공동체 전체가 누릴 수 있도록 발표할 자유. 이를 위해서도 역시 소스 코드에 대한 접근이 전제되어야 한다.
리눅스 특징
- 공개 소프트웨어이고, 무료로 사용가능
- 유닉스와 완벽한 호환성 유지
- 서버용 운영체제로 많이 사용됨
- 편리한 GUI환경 제공 (CUI를 많이씀)
리눅스 구조
- 커널: 리눅스의 핵심
프로세스 / 메모리 / 파일시스템 / 장치 관리와
모든 자원 초기화 및 제어 기능을 한다.
- 셸: 사용자 인터페이스(UI)
명령해석, 프로그래밍기능
리눅스 기본 셸: 배시 셸(리눅스 셸)
응용 프로그램: 각종 프로그래밍 개발도구 / 문서편집도구 / 네트워크 관련 도구
http://ftp.kaist.ac.kr/CentOS/8.4.2105/isos/x86_64/
Index of /CentOS/8.4.2105/isos/x86_64/
ftp.kaist.ac.kr
CentOS-8.4.2105-x86_64-dvd1.iso 다운로드 약9기가
https://www.vmware.com/kr/products/workstation-player.html
vmware 설치 16버전 설치함
Create a New Virtual Machine
언어는 한국어 파티션은 자동 소프트웨어 선택에서
워크스테이션에서 개발용 툴 / 인터넷 프로그램 선택후 완료
root 암호는 123456으로 설정
사용자 생성에서 master로 설정하고 암호는 123456으로 설정
+ 시간설정 ( 아시아 서울 선택 )
다음다음 위치끄고 계정연결 건너뛰기
시스템 업데이트방법
root로 접속해서 터미널에서 yum update 입력
y입력하고 엔터
쉘로 다중작업을 함
리눅스 명령어
# 2021. 06. 30. (수) 21:41:52 KST
date : 현재 날짜를 보여줌
cal : 달력 표시
# date명령어에 대한 도움말
date --help
# 날짜 포맷팅 2021-06-30
date "+%Y-%m-%d"
# date명령어의 메뉴얼
man date
# 터미널 지우기
clear
# 터미널 종료
exit
# 커널에서만 사용가능 ( 터미널에서는 사용불가 )
logout
# 리부트
reboot
# 암호변경 (동일한 새 암호 입력시
# 잘못된 암호: 암호가 이전 암호와 동일함 출력
passwd
# 현재 경로
pwd
# 현재 디렉토리의 리스트
# (특정경로가 있다면 특정경로의 리스트 보여줌)
ls
# 히든파일도 보여줌
ls -a
# 히든파일(숨김파일)
.bash_history
# 히든파일과 파일의 정보를 보여줌
ls -al / ls -a -l
( 모든 것은 루트 디렉토리 밑에 있다 )
Linux(Unix) : 루트 디렉토리가 제일 처음
/(컴퓨터) : 루트 디렉토리
- 디렉토리
- 디렉토리
- 디렉토리
추가 하드연결
dvc
절대경로
/home/master
파일과 디렉터리 이름 규칙
파일과 디렉터리 이름에는/를 사용할 수 없고, /는 경로명에서 구분자로 사용하기 때문이다.
파일과 디렉터리 이름에는 알파벳, 숫자, 붙임표(-), 밑줄(_), 점(.)만 사용한다.
파일과 디렉터리 이름에는 공백 문자, *, |, “, ‘, @, #, $, %, ^, & 등을 사용하면 안 된다.
파일과 디렉터리 이름의 영문자는 대문자와 소문자를 구별하여 다른 글자로 취급한다.
파일과 디렉터리 이름이‘.’으로 시작하면 숨김 파일로 간주한다.
파일 이름 예
좋은 이름: game.txt, hello.c, test, sample99
나쁜 이름: &game, *dir, my home, game\
사용할 수 없는 이름: myhome/, /test, bad/name
디렉토리 관련된 명령어
# make directory 디렉토리 생성
mkdir 디렉토리 명
# remove directory 디렉토리 삭제
rmdir 디렉토리 명
# ls -l로 리스트에 보면 d로 시작하면 디렉토리
# 여러 디렉토리 생성 (dir3 dir4 dir5 생성)
mkdir dir3 dir4 dir5
# mkdir dir1/dir2/dir3/dir4로 디렉토리를 생성할 수 없음
# -p 옵션을 주면 생성할 수 있음
mkdir dir1/dir2/dir3/dir4 -p
# -p 옵션알아보기
# 존재하는 경우 오류 없음, 필요에 따라 상위 디렉토리 만들기
-p, --parents no error if existing, make parent directories as needed
# cd ( change directory ) 디렉토리 경로변경
# cd 절대경로 / 상대경로
# 절대경로: /부터 cd /home/
# 상대경로: 현재부터 cd ../ 부모 디렉토리로 이동
# 현재 로그인 디렉토리로 이동
cd ~
# 디렉토리안에 어떤 파일과 디렉토리가 있는지 보여줌
ls -R ./dir1/
./dir1/:
dir2
./dir1/dir2:
dir3
# 트리구조로 보여줌
tree
├── dir1
│ └── dir2
│ └── dir3
├── 공개
├── 다운로드
├── 문서
├── 바탕화면
├── 비디오
├── 사진
├── 서식
└── 음악
파일관련 명령어
# 파일생성
touch 파일명
# 파일구조 소유자 그룹 용량 생성일자 이름
# -rw-rw-r--. 1 master master 0 7월 1 00:25 test3.txt
# drwxr-xr-x. 2 master master 6 6월 30 20:20 공개
# 맨 앞에 아무것도 없으면 파일 / d가 있으면 디렉토리
# 복사하기
cp 복사할 파일경로 복사되어질 파일경로
cp ./test1.txt ./test4.txt
cp ./test1.txt ./dir1/
# 같은 디렉토리에서는 이름 바꾸기
# 다른 디렉토리에서는 잘라내기
mv
# 삭제하기
rm
# 폴더와 파일 다 지우기
rm -r dir1/
-r, -R, --recursive 디렉토리와 그 내용을 재귀 적으로 제거함
# 파일 내용보기
cat 경로 파일명
# 위에서 몇줄만 보고싶을때
head /etc/passwd
# 위에서 3줄만 보고싶을때
head -n 3 /etc/passwd
# 아래에서 몇줄만 보고싶을때
tail /etc/passwd
# 아래에서 3줄만 보고싶을때
tail -n 3 /etc/passwd
# 페이지 단위로 나워서 보고싶을때
cat /etc/passwd | more
# 엔터 한줄씩 읽기
# 스페이스 바 한 페이지씩 읽기
# 파일내용에 특정 문자를 찾을때
# passwd파일안에 sbin이라는 문자 찾아줌
grap sbin /etc/passwd
# 넘버라인도 추가해서 보여줌
grep -n sbin /etc/passwd
# 파일이나 디렉토리를 찾는 명령어
find /usr/ -name ls
바로가기
실제파일 ← 바로가기 파일
링크
하드링크 (X)
소프트링크(심볼릭링크) = 바로가기
# 링크파일 만들기
ln -s 경로 만들링크이름
ln -s /etc/passwd ./p
lrwxrwxrwx. 1 master master 11 7월 1 01:14 p -> /etc/passwd
# 링크삭제
rm ./p
/usr/bin/java -> /etc/alternatives/java 화살표로 되어있으면 심볼릭 링크이다.
lrwxrwxrwx. 1 root root 22 6월 30 20:14 /usr/bin/java -> /etc/alternatives/java
# 명령어 위치 찾기
[master@localhost ~]$ whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz /usr/share/man/man1p/cp.1p.gz
[master@localhost ~]$ which cp
/usr/bin/cp
# 파일 내용수정
gedit / vi
한국어 (Hangul)로 변경 후 쉬프트 + 스페이스 누르면 한글로 바뀜
다시 쉬프트 + 스페이스를 누르면 영어로 바뀜
ESC를 누르면 명령모드로
:q / :q!는 저장하지 않고 종료
:wq / :wq! 저장하고 종료
명령모드에서 dd를 누르면 커서가 위치한 행 지워짐
명령모드에서 o를 입력하면 커서가 위치한 다음 행에 입력됨
명령모드에서 O를 입력하면 커서가 위치한 앞 행에 입력됨
명령모드에서 x를누르면 커서가 위치한 문자가 지워짐 (delete와 비슷)
:set number를 입력하면 라인넘버가 보임
:set nonumber를 입력하면 라인넘버가 사라짐
jdk 설치
su - root
암호입력
[root@localhost ~]# ← root 인지 확인
yum install java-1.8.0-openjdk-devel
javac -version
버전이 출력된다.
'🎧️ 강의듣기' 카테고리의 다른 글
리눅스 활용/web1.0/web2.0/csv/xml/json/ (0) | 2021.07.07 |
---|---|
[리눅스] tomcat, jdbc, maradb, vsftpd, WAR, filezilla (0) | 2021.07.06 |
[리눅스] systemctl, crontab, 파일시스템 (0) | 2021.07.05 |
리눅스(Linux) 사용자 계정 및 패키지 관리 (0) | 2021.07.02 |
Linux 사용하는 목적 (0) | 2021.07.02 |