리눅스와 VSCode를 이용한 C++ 프로젝트 개발 환경 구축 및 CMake 활용

C/C++ 컴파일 과정 C++ 소스 코드가 실행 가능한 프로그램으로 변환되는 과정은 여러 단계로 나뉩니다. 각 단계는 특정 역할을 수행하며, 이해하는 것이 빌드 시스템을 다루는 데 중요합니다. 1. 전처리 (Pre-compilation) 전처리기는 소스 파일(.cpp)과 헤더 파일(.h)을 처리하여 전처리된 파일(.i)을 생성합니다. 이 과정에서 #include, #define과 같은 전처리 지시어를 ...

7월 3일 17:03에 게시됨

리눅스에서 FTP 업로드 경로 변경 방법

FTP 사용자의 업로드 경로를 변경하려면 세 가지 명령어만 실행하면 됩니다. 예를 들어, 업로드한 비디오를 nginx의 파일 디렉토리로 설정하려는 경우 다음과 같이 진행할 수 있습니다. # 특정 사용자의 파일 디렉토리 수정 usermod -d /home/nginx/www/media ftpclient # # 권한 부여 chown -R ftpclient:ftpclient /home/nginx/www/media 또는 chown -R ftpclient /home/ ...

7월 1일 20:05에 게시됨

CentOS에 Docker 설치하기

Docker 설치 절차 본 문서의 모든 명령어는 root 권한으로 실행해야 합니다. root가 아닌 사용자의 경우 sudo 키워드를 추가해 주세요. 1. 기존 Docker 버전 제거 방법 1: Docker 패키지만 제거 (설정 파일 유지) yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker- ...

6월 24일 16:02에 게시됨

리눅스 cp 명령어 완벽 가이드

cp [옵션] [–T] 원본파일 대상파일 cp [옵션] 원본파일 디렉토리 cp [옵션] –t 디렉토리 원본파일 원본 파일을 대상 파일로 복사하거나, 여러 원본 파일을 대상 디렉토리로 복사합니다 (1). 주요 옵션 보충: 심볼릭 링크는 특수한 종류의 파일로, 다른 파일의 경로 이름(절대 경로 또는 상대 경로)을 포함합니다. -a –dR –preserve=all와 동일 --backup 각 기존 대상 ...

6월 14일 21:57에 게시됨

Linux에서 sed 명령어 활용 가이드

개요 sed(Stream Editor)는 텍스트 데이터를 스트림 단위로 처리하는 강력한 리눅스 도구입니다. 비대화형 방식으로 작동하며, 원본 파일을 직접 수정하지 않고도 텍스트 변환 작업을 수행할 수 있습니다. 기본적으로 처리 결과는 표준 출력에 표시되며, 변경 사항을 파일에 저장하려면 리다이렉션(>)을 사용해야 합니다. 작동 원리는 간단합니다. 입력된 ...

6월 9일 22:03에 게시됨

리눅스 LVM 디스크 확장 실전 가이드

1. 현재 파티션 표 확인 명령어: fdisk -l 현재 vda1, vda2, vda3가 마운트되어 있으며, 사용되지 않은 vdb 디스크가 100GB 있음을 확인. 현재 LV 크기는 29GB임. sysadmin@Storage-Node-01:~# fdisk -l Disk /dev/vda:60 GiB,64424509440 bytes,125829120 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O s ...

6월 8일 00:01에 게시됨

리눅스 lscpu 명령 상세 설명

lscpu 명령어란? lscpu 명령은 CPU 아키텍처 정보를 표시하는 리눅스 유틸리티입니다. 이 명령은 sysfs, /proc/cpuinfo 및 해당 아키텍처에 적용되는 특정 라이브러리(예: Powerpc의 librtas)에서 CPU 아키텍처 정보를 수집합니다. 출력은 파싱이나 사람이 쉽게 읽을 수 있도록 최적화될 수 있습니다. 이 정보에는 CPU 수, 스레드, 코어, 소켓 및 비균일 메모리 접근(NUMA) ...

6월 7일 01:07에 게시됨

리눅스 커널의 네임스페이스 메커니즘 심층 분석

리눅스 커널의 네임스페이스 메커니즘 심층 분석 네임스페이스란 무엇인가? 네임스페이스는 리눅스 커널이 제공하는 강력한 격리 메커니즘으로, 단일 호스트 상에서 여러 격리된 환경을 생성할 수 있게 합니다. 각 환경은 독립적인 시스템 자원 뷰를 가지며, 이는 도커와 쿠버네티스 같은 컨테이너 기술의 핵심 기반입니다. 네임스페이스를 통해 독립적인 시스템처럼 보 ...

6월 5일 19:44에 게시됨

리눅스 C 백그라운드 서비스 단일 프로세스 제어 방법

소개 일반적으로 백그라운드 서버 프로그램은 반드시 하나의 프로세스만 실행되어야 합니다. 그렇다면 단일 프로세스를 어떻게 구현할 수 있을까요? 이 예제에서는 flock 함수를 사용하여 /var/run/myservice.pid라는 PID 파일에 잠금을 적용합니다. 잠금이 실패하면 백그라운드 서비스 프로세스가 이미 실행 중이므로 오류 메시지를 출력하고 종료합니다. 잠금이 성공하 ...

6월 3일 19:32에 게시됨

리눅스 date 명령어 완벽 가이드

date [옵션] [포맷] date [-u|--utc|--universal] [MMDDhhmm[[CC]yy][.ss]] date 명령어는 지정된 형식에 따라 현재 시간을 표시하거나 시스템 시간을 설정합니다. 많은 셸 스크립트에서 date 명령어가 사용되며, 예를 들어 백업 시 날짜가 포함된 압축 파일을 생성하는 데 활용됩니다. (1). 옵션 -d,--date=STRING STRING으로 지정된 시간을 현재 시간 대신 표시합니다. ...

5월 30일 06:23에 게시됨