이제 난,,, root다, #이다. 관리자다. 사용자, 패키지, 프로세스등 시스템 자원을 관리해야 한다.
오늘의 목표:
리눅스 설치, 필수 패키지 설치, 환경설정,
개발환경 설치(c,c++,자바) mysql-user 생성 및 연결, 웹서버 설치 및 실행
윈도우 마운트 (윈도우의 특별 프로그램이랑 리눅스랑 연결)
1. 패키지 설치 및 관리
2. 프로세스 관리
3. 하드디스크 분류하기
4. 리눅스 부팅
5. mount
---------------
1. 패키지 설치 및 관리
**dnf, yum: 리눅스가 제공하는 패키지 관리
■enable : bash에 저장되어있는 내부 명령어 보기
= compgen -b | paste - - - - - ** | paste - - - - - : 다섯 줄로 표시해라
■df -h : 나뉘어져있는 파티션 보기(윈도우로 치면 c,d) disk free
du /etc: etc 디렉토리 용량보기
du /etc -sh : s 는 summary, h는 보여주기
du -sh ~blue : ~blue가 얼마 쓰고 있는지 확인
■alias dc='dnf list --installed | wc -l'
■ . 으로 시작하는 파일 : 숨김 설정을 가진 파일임
그래서 ls -a // -a all 로 해야 보임 그냥 l은 안 보임
■session이 다르다 : 한 세션에서 저장한 옵션은 새로운 세션에서는 안 보임 // 지역변수
보이는 건: 환경 변수 (env)
■ 처음 부팅하면
bash_profile이랑 bashrc 를 읽고 시작함
source .bashrc = . .bashrc => .bashrc 파일 읽고 실행해라
=> 효과는 다시 로그아웃 후 로그인 한거임
. 실행해라
: 참이라는 뜻
■사용자만들기
[root@psh ~]# useradd white
[root@psh ~]# passwd white
비번 두번 입력
ls /home/ 홈의 리스트 보기
nl /etc/passwd etc의 passwd 보기 ?
>rocky linux package 관리 : dnf 로!
정통적으로 rpm은 과거에 쓰던 관리 툴이며 지금은 거의 사용 x
rpm 방식과 dnf 차이점 : rpm은 일일이 다운 받고 확인해야됨
[root@psh ~]# whatis yum
yum (8) - redirecting to DNF Command Reference => dnf의 참조다
[root@psh ~]# ll /usr/bin/yum
lrwxrwxrwx. 1 root root 5 Nov 15 18:28 /usr/bin/yum -> dnf-3 => yum은 dnf-3의 심볼릭링크다, yum을 실행하면 dnf-3가 실행되는 거임
=yum, dnf 는 dnf-3의 심볼릭 링크(레퍼런스)다
패키지가 설치되어있는지 확인하려면 그냥 검색
■패키지 관리(dnf)
설치 | dnf install [패키지명] 조회 | dnf list --installed | grep tree 설치된 것 중에 tree 가 들어가는 파일 확인 하기 , | grep ^treetree로 시작하는 것만 보기 삭제 |dnf -y remove 정보보보기 | dnf info tree upgrade | dnf upgrade -y update |
alias di='dnf -y install' -y는 안 묻고 무조건 하겠다 dnf list --installed | grep tree 설치된 것 중에 tree 가 들어가는 파일 확인 하기 , | grep ^tree tree로 시작하는 것만 보기 *tree: 디렉터리 구조 tree / : 전체 구조 보여주기 |
dnf info tree : tree의 정보 보기
= yum info tree : tree의 정보 보기
= dnf-3 info tree : tree의 정보 보기
■웹페이지 httpd 설치
di httpd
systemctl start httpd
systemctl stop fiewalld // 방화벽 끄기(영원히: stop 대신 disable)
systemctl restart httpd
killall httpd
index.html 의 위치
cd /var/www/html/
echo "박승현" >> index.html
화면에 박승현 나옴
■mysql
systemctl start mysqld : 시작 !
(mysqld 의 d 는 daemon / 메인을 위해 백에서 항상 동작하고 있는 서비스 프로그램 , 우분투에서는 d가 안 붙
mysql은 패키지임 . 패키지는 데몬을 갖고 있음 // 데몬 죽여 살려 ~ )
mysql : 접속
exit, quit 끝내기
systemctl status mysqld : 상태보기
++확인 : Active: active (running) /Active: inactive (dead)
■sqlite
di sqlite
sqlite3 로 접속 및 실행 (mysql과 다르게 스타트를 따로 안 하고 바로 접속 시작이 가능)
sqlite> .open myDB << 꼭 해야하는 걸까,,
sqlite> create table score(name, kor, mat, eng);
sqlite> insert into score values("kim", 40, 50, 60);
sqlite> insert into score values("choi", 10, 20, 30);
sqlite> insert into score values("lee", 20, 40, 10);
sqlite> .mode col << 예쁘게보기용
sqlite> .head on << 예쁘게보기용
sqlite> select * from score;
name kor mat eng
---- --- --- ---
kim 40 50 60
choi 10 20 30
lee 20 40 10
sqlite> .q | 끝내기
■sqlite source compile 방식 / 웹에서 소스 복사
소스코드 복사해서 wget으로 설치
wget https://sqlite.org/2023/sqlite-autoconf-3410200.tar.gz
wget: 웹에서 가져와랑
tar xvf sqlite-autoconf-3410200.tar.gz : tar 풀고 압축풀기
cd sqlite-autoconf-3410200
./configure --prefix=/sql
위치(sql 폴더에) 에 환경설정
make: 컴파일 명령어
make install 컴파일 했으면 설치해라
cd /sql => bin 안에 sql 들어가 있음
/sql/bin/sqlite3
&& 연산자 : 한 줄로 여러개 쓸 때 앞에 명령어 실행 되면 뒤에 것도 실행
./configure --prefix=/s3 && make && make install
--prefix 안쓰면 기본값은 /usr/local
리눅스에서 하면 프로그램 문제 생겼을때 설치된 디렉토리만 삭제하면 다른 영향 x
윈도우는 전체 영향 끼칠 수 있음
2. 프로세스 관리
리눅스 시스템 : Mult User Multi Tasking System
#ps -ef 전체 프로세스 정보
[root@psh ~]# ps -ef | grep bash >>http가 실행중인지 검색
자기자신 부모
root 874 778 0 17:56 tty1 00:00:00 -bash
root 1327 1326 0 18:44 pts/0 00:00:00 -bash
#kill -9 874 // 874 process kill
#top //table of process 작업관리자 프로세스로 현재 돌아가는 프로세스를 보여줌
#pstree //프로세스를 트리형식으로 보기 - systemd //모든 프로세스의 부모프로세스
- systemd(1) //제일 먼저 실행되는 프로세스
⊙작업전환 - jobs 활용
sleep 7 : 7초 재우기
cntl z : 중지
jobs : 상태보기
kill %1 : 중지된 첫번째 작업 삭제
^아직 이해 불가^
inittab : 부팅할때 자동으로 시작하는 서비스 run level 3 : 우리가 사용하는 런 레벨은 보통 3이다 lsblk: 블럭보기 ( 파티션 보기)
ls tap tap : 하면 여러 명령어 나오는데 그 명령어의 ls(정보 ) 목록이 나옴
3. 하드디스크 분류하기
fdisk /dev/sda
sda (하드) // 만약 sdb가 있으면 한개 더 있는거임
파티션(primary 주 파티션)을 최대 4개까지 만들수있고 (sda1, sda2, sda3, sda4)
extended 확장파티션에는(sda1, sda2, sda3, sda4 모두 가능) 논리파티션이 들어올 수 있다.
기본 sda4 이상 넘어가면 마지막 파티션에서 쪼개기 들어감(=logical 논리 파티션)
4. 리눅스 부팅
1. power on
2. ROM - BIOS (Read Only Memory 박혀서 못 고침) ( basic input output system)
ram random access memory : 고칠 수 있음
3. 부트 매니저 ( GRUB) : 부팅될 OS 고르는 ,, 보통 OS 한개만 설치 되어있어서 쓸 일은 없음 ( 한 컴에 여러개 OS 설치할 수 있고, 동시 부팅은 불가)
4. 커널로드 // 운영체제 커널 로드
5. 파일 시스템 : 윈도우 식이면 c,d 드라이브에 있는 거 챙김
6. 파일 시스템 마운트 : 5 랑 동일
7 시스템 초기화
8 로그인
하드웨어 & 커널 연결하는 기능 : 드라이버 (모듈) // lsmod (모듈 보기)
빌트인: 커널 안에 키보드 & 마우스 등 드라이버가 들어있음 //표준 규격 통해
enable : shell 내부 명령어
os (그 안의 커널)이 하는 일
: 자원 관리(cpu, 메모리) - 프로그램 설치, 삭제, 업데이트, 업그레이드
5. mount
mount /data
unmount /data
디렉토리 연결 / 해제
1. df -h 로 디스크 사용량 확인
/dev/mapper/rl_psh-data 10G 125M 9.9G 2% /data
2. mount //dev/mapper/rl_psh-data /k1 => /dev/mapper/rl_psh-data 를 /k1에 마운트
df-h :
df: 디스크 사용량 확인
-h: 사람이 보기 좋게 용량 보여줌
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 리눅스' 카테고리의 다른 글
4-2 단축키 정리 (0) | 2023.04.27 |
---|---|
4-1 Ubuntu linux 설치 (0) | 2023.04.27 |
3-1 리눅스 설치 (0) | 2023.04.26 |
3일 차 (1) | 2023.04.26 |
늦잠 리눅스 2일 차 (3) | 2023.04.25 |