Chapter4 에디터
Section01 에디터 종류
명령어 기반 에디터 : PICO, emacs, vim
문법 강조 : vim, nano(빔나노~)
GUI 기반 에디터 : XEmacs, gVim, gedit
1. pico
Aboil Kasar가 개발, 워싱턴 대학에서 개발한 유닉스용 텍스트 에디터, 윈도우 메모장처럼 간편 사용, 2005년 개발 중단 현재 리눅스 배포판에는 설치x, 무료임에도 불구하고 완전한 open source가 아님, 많은 리눅스 배포판에서는 PICO를 제공하지 않음
대신 nano 라고 불리는 pico의 복제품이 open source로 제공
2. Emacs(Editor MacOS, 이맥스) 고성능 문서 편집기
emacs LISP 라는 LISP에 기반을 둔 환경 설정 언어를 가지고 처음부터 다시 만든 버전
리처드 스톨만이 매크로 기능이 있는 텍스트 교정 및 편집기로 개발, 기능이 너무 많아 대응하는 LISP 코드를 불러오는 데에 오랜 시간이 걸리고 초보자가 사용하기 힘듦. 이후 제임스 고슬링이 LISP 언어에 의한 환경설정 및 에디터 기능을 확장시킬 수 있는 기능을 포함하여 배포
비모드형 편집기, 여러 가지 명령을 수행하기 위해 Ctrl 또는 Alt와 다른 키를 조합하여 이용
Ctrl + X : x와 다양한 키를 조합하여 사용하면 emacs 종료, 저장 또는 새문서 편집 가능
Ctrl + X , Ctrl + S : 파일 저장
Ctrl + D : 커서가 위치한 글자 삭제
Alt + D : 커서가 위치한 부분부터 단어 삭제
Ctrl + K : 커서 뒤에 있는 한 줄이 모두 지워짐, 지워진 문자는 클립보드에 저장
Ctrl + X , Ctrl + C : 종료
Ctrl + F(forward): 한 칸 뒤로 이동
B → Backward (뒤로), N → Next (다음 줄), P → Previous (이전 줄)
xemacs
Emacs의 확장 버전(포크)으로, GUI 환경에서 더 강력한 기능과 확장성을 제공하는 텍스트 편집기
3. vi
- 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만듦, 리눅스 배포판과 유닉스에 기본적으로 포함됨
- 유닉스 환경에서 가장 많이 쓰이는 문서 편집기, 다른 편집기들과 다르게 모드(mode)형 편집기,
- 명령모드/입력모드(--INSERT)/편집모드로 구성됨, 한 줄씩 편집 x,
- 한 화면을 편집하는 비주얼 에디터, 기종별 다양한 vi 클론들이 존재
- 홈 디렉터리(~)에 파일 .exrc 또는 .vimrc를 생성, 생성된 .exrc 파일 안에 행 번호 설정과 같은 환경변수를 설정
새로운 vi가 실행될 때, .exec 파일 내용이 해당 편집 파일에 적용되어 나타남
명령 모드에서 편집모드 전환
-u(undo, 실행 취소) : 바로 직전에 실행한 줄 삭제 명령을 취소하여 복원하려고 할 때 사용
-a(append) : 커서 다음(오른쪽)에 입력, 커서 뒤부터 입력
- A: 행 마지막 부분에 입력
-x : 커서 위치의 한 글자 삭제
-y : 작성되어 있는 글을 복사할 때 y(yank)를 눌러 영역 설정
-z(zoom): 현재 줄을 화면의 맨 위로 이동
-i(insert) : 커서 앞(왼쪽)에 입력, 현재 문자 앞에 입력
-I(Insert) : 커서 처음 부분에 입력, 줄의 시작 부분에 입력
-o(open) : 커서 밑에 빈행을 추가하여 입력, 현재 줄의 다음 줄에 입력
-O(Open) : 커서 위에 빈행을 추가하여 입력
-s(substitute) : 커서에 있는 글자를 지우고 입력
-p : 커서가 있는 줄 위에 입력
- 단축키 조합
yy : 한 줄 전체의 내용을 복사
p : 현재 커서가 위치한 줄 아래에 붙여 넣기
dd : 현재 커서가 위치한 줄 삭제
db : 커서의 위치에서 거꾸로 한 단어 삭제
o : 커서 있는 줄 아래에 빈 줄 삽입
vi -r ihd.txt : "ihd.txt" 파일의 마지막 자동 저장(백업) 버전을 복구해서 연다
.ihd.txt 파일의 스왑(swap) 파일 목록을 출력
vi는 작업 중인 내용을 임시 파일(.swp 파일)에 저장하는데, 이걸 이용해서 복구 가능.swap 아님!!!!!!!!!
NW가 차단되면서 비정상적 종료됨 이 때 생성 파일은? .lin.txt.swp 임!
Vi 문자열 치환 구조
[범위]s /[매칭문자열]/[치환문자열]/[옵션]
%s 는 행에서 치환, ^은 문자의 시작 부분을 표시, g는 한 줄 내 모든 패턴 변경
%s/\<ihd\>/linux.g
s/문자/치환문자/g : 커서가 위치하고 있는 줄의 문자를 치환문자로 변환
기호 . 은 현재 커서, 기호 $는 줄의 끝 의미
:.,$s/ihd/kait/g : 현재 커서의 위치부터 문서 끝까지 ihd라는 문자열을 kait 로 치환
옵션
vi -R : 읽기 모드로 열기
vi -r : 손상 파일 회복, 복구(recovery) 모드,
vi -r /etc/hosts
/etc/hosts 파일 수정 중 시스템이 다운되어 재부팅됨, 수정중인 파일 복구 명령
vi -c readme.txt : vi를 열지않고 readme.txt 내용으로 변경하기
-c 옵션은 Vi(m)에서 특정 명령(Command)을 실행한 후 파일을 엽니다.
모드
입력 모드 : (--INSERT)
편집모드
명령모드
ex명령모드 : q(quit종료), wq(write (파일 저장), quit저장 후 종료), w 파일명(저장)
커서 이동
-j : 아래(하)로 이동
-k : 위(상) 로 이동
-l : 오른쪽(우)로 이동
-h : 왼쪽(좌)로 이동
vi [+숫자] [파일]
파일을 열면서 커서를 지정된 숫자 줄에 위치
커서를 두 번째 줄로 위치시키는 명령
vi +2 ihd.txt
ab 명령어
약어 설정 기능, 자주 입력되는 단어를 약어로 설정
명령어 map
특정한 키에 특정한 기능을 하도록 설정
4. vim
SW 설치, 관리하는 방법에는 배포업체의 패키지를 설치하거나 소스코드를 컴파일하는 것이 있다.
슬렉웨어와 같은 예외 있지만 일반적으로 리눅스는 데비안 계열과 레드햇 계열로 나뉨
문법 강조 : vim, nano (빔나노~)
5. GVim (Vim의 GUI 버전)
Vim을 GUI 환경에서 실행할 수 있도록 만든 버전, 마우스 사용 가능(클릭으로 텍스트 선택, 복사, 붙여넣기 가능)
메뉴바 & 툴바 제공(파일 열기, 저장 등을 메뉴에서 선택 가능), 글꼴 & 색상 설정 가능
6. nano(nano's another editor)
PICO와 거의 유사 오픈소스 문서 편집기, PICO의 기본 기능 외에 구문 강조, 자동 들여쓰기, 정규 표현식 검색 등의 기능 추가
리눅스/유닉스에서 사용하는 간단한 터미널 기반 텍스트 편집기
유닉스 계열 컴퓨팅 시스템, 명령 줄 인터페이스를 사용하는 운영 환경을 위한 문서 편집기
GPL 라이선스 - nano
Chapter05 소프트웨어 설치 및 삭제
데비안 계열
- 배포업체 : Debian, Ubuntu, Xandros, apt, alien, aptitude, dsclect
- alien : 이기종 리눅스 패키지 형식 간 변환 프로그램
- dselect : 데비안 리눅스의 패키지(확장자가 deb인 파일)를 관리하는 메뉴 시스템
- aptitude : APT(Advanced Packaging Tool)를 기반으로 하는 고급 패키지 관리 도구, 패키지 설치, 제거, 업데이트 등을 더 편리하게 할 수 있도록 도와줘.
레드햇 계열
1. RPM(RedHat Package Manager)
레드햇 사에서 만들어낸 패키지 관리 툴, 새로운 패키지를 설치하거나 업그레이드, 삭제 시 사용
윈도우의 setup.exe와 유사하게 만든 프로그램, 레드햇 계열의 패키지 파일 확장명은 .rpm 임,
.rpm 파일의 구성 요소는 이름, 버전, 설명, 릴리즈, 패키지 이름 포함, 압축형식x
rpm [옵션][패키지명]
-a : 시스템에 설치된 모든(all) 패키지 목록을 보여줌
-d : 해당 패키지의 문서 파일을 출력(document)
-U : 패키지 업그레이드 시 사용, 기존의 것을 삭제하고 업그레이드하며 아무 메시지도 보여주지 않음
-v : 자세한 정보 출력
-h : 설치 진행 사항을 # 기호로 출력
-F : 현재 시스템에 설치된 패키지만 찾아서 업데이트, 이전 버전이 설치되어 있는 경우에만 설치
-q : 패키지 설치 여부 확인, 질의 옵션과 같이 사용되는 옵션
-i : 설치된 패키지의 정보(information) 보여줌
-nodeps(No Dependencies): 의존성이 발생한 패키지 제거,
rpm -Uvh vstfpd-2.2.2-11 : 해당 패키지를 업그레이드 설치하면서 메시지와 진행 상황을 # 기호로 출력
rpm -qi passwd : 패키지의 정보 보여줌
2. YUM(Yellowdog Updator Modified)
레드햇 계열 리눅스, 패키지 관리 프로그램
NW를 통해 기존 RPM 패키지 파일의 업데이트 자동 수행, 새로운 패키지 설치 및 제거를 수행, RPM 의존성 문제를 해결하기 위한 유틸리티
인터넷 기반으로 설치하므로 NW가 정상적인 상태에서 가능, 보완하여 DNF(Dandified yum)으로 전환되고 있음
Tip. 유미는 레드향(햇)을 좋아해
yum info 패키지명 : 지정된 패키지를 자세하게 확인 가능
yum install 패키지명 : 패키지 설치
yum erase 명령
yum remove 패키지명 : 설치한 패키지 삭제, 삭제 시 의존성 있는 패키지까지 자동 삭제
3. dpkg(debian package manager), r과 P 헷갈..
dpkg [옵션] 패키지명.deb
데비안의 low레벨 패키지 관리 툴, 설치, 살제, 정보 제공을 위해 사용됨, 확장자 deb 파일은 데비안 패키지 파일
루트 권한으로 패키지 설치, 삭제 가능, 패키지 설치 및 제거 시 RPM과 같은 의존성 문제 일으킴
옵션
-r : 환경 설정 파일은 남기고 패키지를 삭제하는 옵션, 설치된 패키지만 삭제
-R : 주어진 디렉터리 내의 모든 패키지 설치
-P : 패키지와 해당 패키지의 설정 파일 삭제
4. apt-get(advanced packaging tool get) 데비안 아파트
데비안 리눅스에서 SW 설치와 제거를 위한 패키지 관리 유틸리티, 패키지 관련 정보를 확인하거나 패키지 설치 시 발생할 수 있는 의존성과 충돌문제를 해결하기 위해 /etc/apt/sources.list 파일을 참조
Source.list 파일에는 패키지 유형(바이너리 소스), 저장소 주소, 우분투 버전 정보, 카테고리 구성
apt-get remove 패키지명 : 패키지 삭제 명령어
synaptic(시냅스(Synapse)"와 "적합하다"는 의미를 가진 접미사인 -ic가 결합된 이름) : APT(Advanced Packaging Tool) 패키지 관리 시스템으로 GTK+ 기반의 GUI 도구
SUSE 리눅스
zyppper 지퍼만 패키지 관리 툴임(YaST 는 아니야~)
SUSE Linux 및 openSUSE에서 패키지를 관리하는 명령어, SUSE 리눅스에서 사용하는 저장소(repository) 기반의 패키지 관리 프로그램, 콘솔의 패키지 관리와 원본 저장소를 관리하는 툴
Zypp → 패키지 관리 라이브러리(소프트웨어 관리 시스템), er → 실행 가능한 명령어 형태
YaST (Yet another Setup Tool)
SUSE 리눅스에서 패키지 관리 기법 : 오픈 수세를 대표하는 기능, 시스템 관리를 위한 GUI 및 ncurese 인터페이스를 제공
ZYpp (Z(en) YaST package management, dnf, yum과 비슷)
YaST, Zypper 같은 리눅스 응용 프로그램 및 open SUSE 및 SUSE Linux Enterprise를 위한 PakageKit 구현을 지원하는 패키지 관리자 엔진
Section02 소스 파일 설치
1. 파일 아카이브와 압축
아카이브(archive)
다수 개의 파일이나 디렉터리를 하나의 파일로 묶는 것, 다른 시스템으로 다수 개의 파일을 한 번에 전송하거나 파일 백업용으로 사용
명령어 tar
테이프 관련 장치를 이용하여 백업할 때 사용, 심볼릭 링크가 가리키고 있는 원본 파일을 저장하는 기능을 제공
디렉터리를 지정하면 그 디렉터리의 모든 파일과 서브 디렉터리들까지 함께 묶어짐
파일 및 디렉터리를 압축하거나 해제할 때 사용하는 명령어
GNU tar는 파일을 묶거나 풀어주는 기능 제공, 다양한 옵션으로 압축 관련 작업도 지원
tar가 지원하는 압축 형식 : Z, xz, gx, bz2
tar [옵션] 파일명, ex. tar - zcvf [압축할 파일 이름][압축할 파일이나 폴더명]
옵션
-C(Change to directory) : 대상 디렉터리 경로 지정 ex. tar jxvf php-5.6.40.tar.xz -C /usr/local/src
-Z: compress 옵션으로 tar.Z에 사용
-z: gunzip을 사용
-J : xz 옵션으로 tar.xz에 사용, xz 옵션으로 압축 파일인 tar.xz에 적용, tar.xz 나오면 바로 J
-c : 파일을 묶음
-v : 묶음/해제 과정을 화면에 표시
-f : 파일 이름을 지정
-x: 압축 해제(extract)
-r : 기존 tar 파일에 파일 추가 (append)
tar zcvf linux.tar.gz *.txt
파일 압축과 해제
파일 압축, 해제
xz, unxz
. Z 파일
compress, umcompress
. gz 파일
gzip, gunzip
gzip으로 압축된 텍스트 파일 확인 명령 : zcat(=guznip -c)
.bz2 파일
bzip2, bunzip2
옵션
-j : bzip2 관련 옵션으로 압축 파일 tar.bz2에 사용
2. 소스 코드 설치
소스 코드를 압축 해제 후 컴파일 순서에 따라 프로그램을 설치
단계 | 유틸리티 | 설명 |
1단계 환경설정 | ./configure | - 프로그램 설치 과정에서 필요로 하는 환경파일 makefile 생성 - 시스템 파일 위치 지정/설치 파일의 위치 지정 cf. 소스 설치 과정에서 configure 작업으로 생성된 다양한 파일을 제거할 때 사용 명령 : make clean |
2단계 컴파일 | make | - 타겟(target)과 dependency의존성 관련 작업을 수행한 후에 최종적으로 실행 파 일을 만듦 - makefile을 기반으로 소스 파일을 컴파일 - make가 끝나면 소스파일은 실행파일(setup)로 전환 |
3단계 파일 설치 | make install | - 컴파일된 실행파일을 지정된 속성으로 지정된 디렉터리에 설치 |
makefile : 컴파일을 위한 쉘 스크립트로 자동적으로 한줄씩 해석하여 컴파일 하도록 만든 파일
컴파일
소스코들르 컴퓨터가 실행할 수 있는 기계어로 변환, 고급언어를 저급언어(기계어)로 변환시켜주는 것, 기계어 0,1로 구성
리눅스에서 소스코드 대부분 c언어
컴파일 순서
환경설정(configure), 컴파일(make), 파일 설치(make install)
3. CMake(Cross Platform Make)
소스 컴파일 시 사용되는 make의 대체 프로그램 , C/C++ 프로젝트를 위한 빌드 시스템 생성 도구, OS와 컴파일러에 맞게 Makefile이나 프로젝트 파일(예: Visual Studio 프로젝트)을 자동으로 생성, 멀티 플랫폼으로 사용할 수 있는 Make의 대용품을 만들기 위한 오픈소스 프로젝트, 유닉스&마이크로 소프트 윈도우 계열에서도 사용 가능, 유닉스 계열 OS 중심이던 기존 Make
CMake의 역할
C/C++ 프로젝트를 빌드하려면 Makefile을 직접 작성해야 해. 하지만 프로젝트가 커지면 다양한 OS와 컴파일러를 지원하기 어려워져.
CMake는 플랫폼 독립적인 방식으로 빌드 스크립트를 작성하게 해주고,각 환경에 맞는 빌드 파일을 자동으로 생성해 줘.
cmake 기반의 프로그램 설치 순서
configure -> make -> make install
*일반적인 소스 파일 설치는 make 후 make install을 수행하는 반면, MySQL 5.5 버전부터는 CMAKE 수행 후 make install 해야 함
나머지 PHP, SAMBA, Apache HTTP 는 소스 파일 설치를 make 후 make install 하면 됨
CMake 기반의 소스 설치를 수행하는 프로그램
KDE, MySQL, OpenLiberoX, SuperTux
gcc(GNU Compiler Collection)
C, C++, Objective-C 등 여러 프로그래밍 언어를 컴파일할 수 있는 GNU 프로젝트의 컴파일러
🔹 gcc의 주요 특징
C 언어를 기본으로 컴파일
C++ 등 여러 언어 지원 (g++ 사용)
리눅스/유닉스 시스템에서 가장 많이 쓰이는 컴파일러
오픈소스 & 무료
최적화 기능 제공 (빠르고 효율적인 실행 파일 생성)
Chapter06 장치 설정
Section 01 주변 장치 연결 및 설정
1. 프린터 설치 및 설정
프린터 인쇄 시스템
리눅스의 프린터 인쇄 시스템으로는 LPRng(Line Printer next generation)와 CUPS(Common Unix Printing System)가 있음
system-config-printer 명령으로 손쉽게 설정, 리눅스 시스템에 프린터를 직접 연결하는 경우 자동으로 관련 파일이 생성됨
LPRng(Line Printer next generation ) 라인은 버클리 bsd
버클리 프린팅 시스템, BSD 계열 유닉스에서 사용하기 위해 개발, 라인 프린터 데몬 프로토콜을 사용하여 프린터 스풀링과 NW 프린터 서버를 지원, 리눅스 초기에 사용되었던 인쇄 시스템
CUPS(common unix printing system) 애플컵스~
애플이 개발한 오픈 소스 프린팅 시스템, 특수 라인 프린터, 포스트스크립트 프린터, 매킨토시, 윈도우 등 시판되는 대부분의 프린터를 지원, 로컬 연결한 프린터를 NW 프린터처럼 설정 가능
http 기반의 IPP를 사용, SMB 프로토콜 지원, 명령어도 BSD와 System V 둘 다 가능
USB 프린터는 /dev/usb/lp0 임
2. 사운드 카드 설치 및 설정
OSS(Open Sound System)
1992년 Hannu Savolainen에 의해 개발, 유닉스 계열 os에서 사운드를 만들고 캡처하는 인터페이스, 2007년 Linux의 GPL 기반 라이선스로 소스를 공개
ALSA(Advanced Linux Sound Architecture, 고급 리눅스 사운드 아키텍처)
사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널 요소, api를 제공하는 sw 프레임워크
환경 설정 파일은 /etc/asojund.state, 다수의 사운드 장치를 관리하는 것을 목적
alsactl 은 ALSA 사운드 카드를 제어하는 명령어
*표준 유닉스 장치 시스템 콜(POSIX, READ, WRITE, IOCTL 등)에 기반을 둔 OSS에 대한 설명
유닉스 계열 os에서 사운드를 만들고 캡처하는 인터페이스
명령어 alsactl
사운드 카드를 제어하는 명령어
alsactl [옵션][명령어]
옵션
-E : 환경변수를 설정
-f : 환경 설정 파일을 지정
-i : init을 위한 설정 파일을 지정
alsactl store 는 사운드 카드에 대한 정보를 환경 설정하거나 alsactl restore로 환경 설정 파일로부터 선택된 사운드 카드 정보를 다시 읽어옴
3. 스캐너 설치 및 설정
리눅스 환경에서의 스캐너 지원 시스템은 SANE와 XSANE
scanimage 명령어를 사용하여 이미질르 스캔할 때 기본으로 적용되는 이미지 형식은 pnm
이미지 형식을 지정하는 옵션 --format으로 pnm과 tiff를 지정할 수 있으며, 지정 안하면 자동으로 pnm 형식
SANE(Scanner Access Now Easy)
평판 스캐너, 핸드 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 사용할 수 있도록 해주는 api
XSANE(X base interface for the SANE)
GTK+ 라이브러리를 기반으로 만들어진 Xwindow 스캐너 프로그램
*Qt : KDE 생성 시 사용하는 라이브러리
*Xt : 고급 레벨의 GUI 생성 시 사용
*GDK+(GTK+ Drawing Kit) : Xlib를 구성하는 ㄹ아ㅣ브러리, 2차원의 간단한 선, 호, 사각형, 아이콘, 폰트 생성 등의 그래픽 기능 지원
sane-find-scanner
USB 및 SCSI 스캐너와 관련된 장치를 찾아주는 명령어
/dev/usb/lp0
리눅스 시스템 USB 포트에 프린터를 직접 연결하는 경우 생성되는 관련 파일
Section 02 주변 장치 활용
1. 프린터 관련 명령어
BSD 계열 프린터 명령어들 (lpr, lpq, lprm, lpc)
lpr(Line Printer request)
프린터 작업을 요청
lpr [옵션][파일명]
lpr -#인쇄할매수지정 -p프린터명 프린트할파일명 -> lpr -#3 -p lp ihd.txt
lpq(Line printer queue)
프린터 큐의 작업 목록을 출력하는 명령
lpq[옵션]
lprm (Line printer remove)
프린터 큐에 있는 인쇄 작업을 삭제하는 명령어, lpr 명령어로 제출한 인쇄 작업이 대기 중일 때, 이를 제거할 때 사용합니다.
프린터 큐에 대기 중인 작업을 삭제, 취소할 프린트 작업번호를 명시, 작업번호를 명시하지 않을 경우 가장 마지막에 요청한 작업을 취소
lprm[옵션][파일명]
lpc(Line printer control program)
프린터나 큐를 제어
/dev/null
/dev/null 에 전송된 데이터는 버려짐, 사용자가 무시하려는 출력을 생성하는 명령이나 프로그램을 실행할 때 유용
명령어 lspci
시스템 내 PCI 버스와 장치의 상세 정보를 출력하는 유닉스 계열 OS 명령어
System V계열 프린터 명령어들 (lp, lpstat, cancel)
*lp 명령
옵션
-n : 여러 장 출력하고자 할 때 사용하는 옵션
명령어 lpstat
명령어 cancel
프린터 작업을 취소하는 명령, 프린터 작업을 취소할 때, 먼저 lpstat 명령어로 큐의 요청 id를 확인해야 함
*X-Window 환경에서 프린터를 설정하기 위한 명령
주 메뉴 버튼 -> 시스템 설정 -> 인쇄 항목 선택 or system-config-printer 명령 사용
기타
빌드(Build)
소스 코드를 실행 가능한 프로그램(바이너리)로 변환하는 과정
C, C++, Java 같은 프로그래밍 언어로 작성된 코드를 📜 소스 코드 → 실행 파일(예: .exe, .out) 형태로 만드는 과정
1. 빌드 과정
빌드는 여러 단계로 이루어져 있어. 일반적인 C/C++ 빌드 과정을 보면:
1️⃣ 전처리(Preprocessing)
#include, #define 같은 전처리 지시문을 처리
예제: gcc -E main.c -o main.i
2️⃣ 컴파일(Compile)
C/C++ 코드를 어셈블리 코드로 변환
예제: gcc -S main.i -o main.s
3️⃣ 어셈블(Assemble)
어셈블리 코드를 기계어(오브젝트 파일)로 변환
예제: gcc -c main.s -o main.o
4️⃣ 링킹(Linking)
여러 개의 오브젝트 파일(.o)을 합쳐 실행 파일 생성
예제: gcc main.o -o main
📌 최종 결과 → main (실행 파일)
2. 빌드 도구
✅ gcc / g++ → C/C++ 빌드 (리눅스)
✅ clang → 빠른 C/C++ 빌드
✅ make / CMake → 여러 파일이 있는 프로젝트 관리
✅ Gradle / Maven → Java 빌드
✅ npm / webpack → JavaScript 빌드
3. 빌드 자동화란?
💡 빌드 과정이 너무 복잡하면 자동화 도구를 사용해!
Makefile → make를 사용해 컴파일 자동화
CMake → 크로스 플랫폼 빌드 자동화
Gradle/Maven → Java 프로젝트 빌드 자동화
명령어 vmstat
현재 메모리의 상태(프로세스 정보, 메모리 사용량, 스왑, IO 상태 및 CPU 활동 상황 등) 출력
명령어 netstat
리눅스 NW 상태를 보여줌
명령어 top
시스템 전반적인 운영 상황을 실시간으로 모니터링 하거나 프로세스 관리를 할 수 있는 명령어
'Linux' 카테고리의 다른 글
[리눅스 마스터 2급] 2과목 리눅스 운영 및 관리, 네트워크의 개념 (0) | 2025.03.02 |
---|---|
[리눅스 마스터 2급] 2과목 리눅스 운영 및 관리, 리눅스 활용 (0) | 2025.03.02 |
[리눅스 마스터 2급] 1과목 리눅스 운영 및 관리, 프로세스 관리 (0) | 2025.02.25 |
[리눅스 마스터 2급] 1과목 리눅스 운영 및 관리, 셸(Shell) (0) | 2025.02.25 |
[리눅스 마스터 2급] 1과목 리눅스 운영 및 관리, 권한 및 그룹 설정 (0) | 2025.02.25 |