본문 바로가기

linux43

[Linux] 셸 스크립트(4) 안녕하세요. BTC95입니다. 오늘도 셸 스크립트에 대하여 알아보겠습니다. if문 기본 if문 대부분의 프로그래밍 언어에서 지원하는 if문의 기본 문법은 다음과 같습니다. if [조건] then 참일 경우 실행 fi if~else문 if [조건] then 참일 경우 실행 else 거짓일 경우 실행 fi 조건문에 들어가는 비교 연산자에는 문자열 비교 연산자와 산술 비교 연산자가 있습니다. 문자열 비교 연사자 문자열 비교 결과 "문자열1" = "문자열2" 두 문자열이 같으면 참 "문자열1" != "문자열2" 두 문자열이 같지 않으면 참 -n "문자열" 문자열이 NULL(빈 문자열)이 아니면 참 -z "문자열" 문자열이 NULL(빈 문자열)이면 참 산술 비교 연사자 산술 비교 결과 수식1 -eq 수식2 두 수.. 2023. 2. 3.
[Linux] 셸 스크립트(1) 안녕하세요. BTC95입니다. 오늘은 리눅스의 셸에 대하여 알아보겠습니다. 셸 셸은 사용자가 입력한 명령을 해석해 커널로 전달하거나, 커널의 처리 결과를 사용자에게 전달하는 역할을 합니다. 쉽게 말해 Server의 텍스트 모드나 X 윈도의 터미널 처럼 명령을 입력하는 환경이 셸이라고 생각해도 됩니다. CentOS의 bash 셸 CentOS에서 기본적으로 사용하는 셸은 bash(Bourne Again Shell)입니다. 배시 셸이라고도 읽습니다. 더보기 bash의 특징 Alias 기능(명령어 단축 기능) History 기능 연상 기능 Job Control 기능 자동 이름 완성 기능 프롬프트 제어 기능 명령 편집 기능 환경 변수 셸은 여러 가지 환경 변수 값을 갖는데, 설정된 환경 변수는 echo $환경변수.. 2023. 1. 17.
[Linux] LVM의 개념과 이해 안녕하세요 BTC95입니다. 오늘은 리눅스의 논리 볼륨인 LVM에 대해 알아보겠습니다. LVM LVM은 Logical Volume Manager의 약자로 '논리 하드디스크 관리자'라는 의미를 가지고 있습니다. LVM은 Linear RAID와 기본 기능은 비슷해 보이지만 더 많은 기능이 있습니다. 그래서 CentOS는 기본적으로 설치 시 LVM으로 하드디스크를 분할해서 설치합니다. LVM의 주요 용도는 여러 개의 하드디스크를 합쳐서 1개의 파티션으로 구성 후, 다시 필요에 따라 나누는 것입니다. 또는 1개의 하드디스크를 LVM으로 구성하고 다시 파티션을 구분할 수도 있습니다. 예시로 2TB의 하드디스크 2개를 합친 후 다시 1TB와 3TB로 나눠서 사용이 가능합니다. RAID와 달리 LVM에서는 새로운 용.. 2023. 1. 5.
[Linux] RAID - 1 안녕하세요. BTC95입니다. 오늘은 RAID에 대하여 알아보겠습니다. RAID 서버 컴퓨터의 저장 장치 대부분은 하드웨어 RAID 또는 소프트웨어 RAID 방식을 사용합니다. RAID(Redundant Array of Inexpensive/Independent Disks)는 여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식입니다. 비용을 절감하면서도 신뢰성을 높이며 성능까지 향상시킬 수 있습니다. RAID 종류는 크게 하드웨어 RAID와 소프트웨어 RAID로 나눌 수 있습니다. 하드웨어 RAID 하드웨어 RAID는 하드웨어 제조업체에서 여러 개의 하드디스크를 연결할 장비를 만들어 그 자체를 공급하는 것입니다. 하드웨어 RAID는 좀 더 안정적이고 각 제조업체에서 기술 지원을 받을 수 있기에 많.. 2022. 12. 16.
[Linux] 파이프, 필터, 리디렉션 안녕하세요. BTC95입니다. 오늘은 리눅스 명령어 중 파이프, 필터, 리디렉션에 대해서 알아보겠습니다. 파이프 파이프(pipe)란 2개의 프로그램을 연결하는 연결 통로의 의미입니다. '|'를 사용합니다. (Shift + \) # ls -l /etc | more→ 'ls -l /etc'를 입력하면 파일이 너무 많아서 1페이지에 모두 담을 수 없으므로 1페이지씩 나눠서 보겠다는 의미 필터 필터(filter)란 필요한 것만 걸러주는 명령어입니다. grep, tail, wc, sort, awk, sed 명령어 등이 있으며, 주로 파이프와 같이 사용됩니다. # ps -ef | grep bash→ ps -ef 명령어를 입력하면 모든 프로세스 번호를 출력하므로, bash라는 글자가 들어간 프로세스만 출력하게 함 #.. 2022. 12. 9.
[Linux] Service 안녕하세요. BTC95입니다. 오늘은 리눅스 서비스에 대하여 알아보겠습니다. 서비스 데몬이라고도 부르는 서비스는 서버 프로세스를 말합니다. 서비스는 웹 서버, 네임 서버, DB 서버 등의 프로세스를 지칭합니다. 또는 웹 서버 데몬, 네임 서버 데몬 등으로 부르기도 합니다. 서비스는 눈에 보이지 않지만 현재 시스템에서 동작 중인 프로세스이므로 백그라운드 프로세스의 일종이라고 할 수 있습니다. 서비스와 소켓 서비스는 평상시에도 늘 가동하는 서버 프로세스이며, 소켓은 필요할 때만 작동하는 서버 프로세스입니다. 서비스와 소켓은 systemd라는 서비스 매니저 프로그램으로 작동시키거나 관리합니다. 서비스의 특징 시스템과 독자적으로 구동 및 제공되는 프로세스 웹 서버(httpd), DB 서버(mysqld), FTP.. 2022. 11. 25.
[Linux] 명령어 jobs 안녕하세요. BTC95입니다. 오늘은 Linux 명령어 jobs에 대해 알아보겠습니다. jobs jobs 명령어는 작업의 상태를 표시하는 명령어입니다. 백그라운드로 실행 중인 프로그램이나 Ctrl+z 키 등으로 정지한 프로그램 작업 번호가 기억나지 않으면 jobs 명령어로 작업 목록을 표시해서 확인할 수 있습니다. 주요 옵션 -l : 프로세스 ID 표시 -p : 작업 그룹 리더(작업을 구성하는 여러 프로세스 중에서 제일 처음 입력한 명령어로 실행한 프로세스)의 프로세스 ID만 표시 작업 번호 지정 현재 작업: %%, %+ 이전 작업: %- n번 작업: %n 명령어명이 string으로 시작하는 작업: %string 명령어명에 string이 포함된 작업: %?string 사용 예 jobs jobs 명령어를 .. 2022. 11. 17.
[Linux] Process 안녕하세요. BTC95입니다. 오늘은 리눅스 프로세스에 대해 알아보겠습니다. 프로세스 프로세스(Process)를 정의하면 하드디스크에 저장된 실행 코드(프로그램)가 메모리에 로딩되어 활성화 된 것 입니다. 예를 들어 웹 브라우저 프로그램인 Firefox는 하드디스크 어딘가에 저장되어 있습니다. 이렇게 하드에 저장된 파일을 '프로그램'이라고 부르며, Firefox를 실행해서 화면에 나타난 상태를 '프로세스'라고 부릅니다. 프로세스 관련 필수 용어 포그라운드 프로세스(Foreground Process) 위에서 얘기한 Firefox 등과 같이, 실행하면 화면에 나타나서 사용자와 상호 작용하는 프로세스를 말합니다. 화면에서 실행되는 것이 보이는 프로세스라고 생각하면 됩니다. 백그라운드 프로세스(Backgroun.. 2022. 11. 9.