리눅스와 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에 게시됨