Linux 7

[Linux & Unix] 리눅스 서버에서 코드가 프로그램이 되는 과정: 컴파일과 실행 이해하기

리눅스 서버 환경에서는 미리 빌드된 패키지를 설치하기도 하지만, 소스 코드를 서버에 직접 올린 뒤 컴파일해서 실행해야 하는 경우도 많다.단순히 텍스트로 작성된 코드가 어떻게 서버가 이해할 수 있는 프로그램이 되는지, 그리고 그때 사용하는 주요 명령어와 흐름은 무엇인지 정리해 본다. 리눅스 환경에서 개발과 운영의 연결 고리를 이해하는 데 큰 도움이 될 것이다.🏗️ 소스 코드가 프로그램이 되는 과정우리가 작성한 코드는 사람이 읽을 수 있는 언어일 뿐, 컴퓨터는 이를 직접 이해하지 못한다. 그래서 '컴파일'이라는 번역 과정이 필요하다.소스 코드 (.c, .cpp): 개발자가 작성한 텍스트 파일이다.컴파일 (Compile): 컴파일러(gcc 등)를 이용해 코드를 기계어로 번역한다.빌드 및 링크 (Link): ..

[Linux & Unix] 리눅스 네트워크 상태 점검하기: 접속이 안 될 때 확인해야 할 명령어

서버를 운영하다 보면 "웹사이트에 접속이 안 돼요" 혹은 "DB 서버랑 통신이 끊겼어요" 같은 상황을 자주 마주하게 된다. 이때 서버 내부의 문제인지, 아니면 외부와 연결되는 통로(네트워크)의 문제인지 빠르게 판단하는 것이 중요하다.리눅스에서는 복잡한 장비 없이 몇 가지 명령어만으로도 네트워크의 흐름을 파악할 수 있다. 이번 글에서는 내 서버의 IP 정보를 확인하는 것부터 외부와 연결이 잘 되어 있는지 점검하는 필수 네트워크 명령어들을 정리한다.📍 내 서버 주소 확인하기 (ip & ifconfig)내 서버가 어떤 IP 주소를 가지고 있는지 아는 것이 네트워크 설정의 시작이다.ip addr: 최신 리눅스 배포판에서 권장하는 명령어로, 네트워크 인터페이스와 할당된 IP 주소를 보여준다.ifconfig: 예..

[Linux & Unix] 리눅스 성능 모니터링 기초: 프로세스 관리와 디스크 용량 확인하기

리눅스 서버를 운영하다 보면 갑자기 서비스가 느려지거나 응답이 없는 상황을 겪게 된다. 이때 당황하지 않고 서버의 어떤 자원이 부족한지, 어떤 프로그램이 문제를 일으키는지 파악하는 것이 관리자의 핵심 역량이다.윈도우의 '작업 관리자'처럼 리눅스 터미널에서도 시스템의 심박수를 체크할 수 있는 도구들이 있다. 이번 글에서는 서버의 CPU, 메모리, 디스크 상태를 확인하고 문제가 되는 프로세스를 제어하는 필수 명령어들을 정리한다.📊 시스템 실시간 모니터링 (top & htop)서버의 전반적인 상태를 실시간으로 확인하고 싶을 때 가장 먼저 사용하는 명령어는 top이다.top: CPU 점유율, 메모리 사용량, 실행 중인 프로세스 목록을 실시간으로 보여준다.htop: top보다 시각적으로 훨씬 보기 편한 도구다...

[Linux & Unix] 리눅스 실무 필수 명령어! 파일 검색(find)과 내용 검색(grep) 정리

리눅스 서버를 운영하다 보면 수만 개의 파일 사이에서 길을 잃기 쉽다. "그 설정 파일이 어디 있었지?" 혹은 "특정 에러 로그가 찍힌 파일이 뭐였지?" 같은 상황은 매일같이 발생한다.이때 우리를 구원해 줄 도구가 바로 find와 grep이다. 이 두 명령어만 제대로 다룰 줄 알아도 리눅스에서의 작업 속도는 비약적으로 상승한다. 이번 글에서는 파일 자체를 찾는 법과 파일 내부의 텍스트를 검색하는 방법을 정리한다.🔍 파일 위치를 찾아내는 findfind는 파일의 이름, 크기, 수정 시간 등을 기준으로 파일의 위치를 검색하는 명령어다.자주 사용하는 옵션이름으로 찾기: find . -name "test.txt" (현재 디렉토리에서 test.txt 탐색)확장자로 찾기: find /var/log -name "*..

[Linux & Unix] 리눅스 파일 권한(Permission)과 디렉토리 구조 완벽 가이드

리눅스 환경에서 작업을 하다 보면 가장 자주 마주치는 에러 중 하나가 바로 Permission denied이다. 텍스트 에디터로 파일을 수정하려고 해도 권한이 없으면 저장할 수 없고, 특정 디렉토리로 이동하는 것조차 제한될 때가 많다.이것은 리눅스가 철저한 **다중 사용자 시스템(Multi-User System)**이기 때문이다. 각 파일과 디렉토리는 주인이 정해져 있고, 그 주인이 허락한 사람만 접근할 수 있다. 이번 글에서는 리눅스의 핵심인 파일 권한(Permission) 체계와 시스템을 구성하는 표준 디렉토리 구조에 대해 정리한다.🔐 리눅스 파일 권한(Permission)의 이해터미널에서 ls -l 명령어를 입력하면 파일 목록 앞에 -rwxr-xr-x와 같은 복잡한 기호들을 볼 수 있다. 이것이 ..

[Linux & Unix] vim, nano, vi 에디터 비교 정리

리눅스 환경에서 텍스트 파일을 수정하려고 할 때 vim, vi, nano 같은 다양한 CLI 에디터를 만날 수 있다.처음 접하는 사람이라면 어떤 걸 써야 할지 헷갈릴 수 있는데, 각 에디터마다 특징과 사용성이 다르기 때문에 목적에 따라 선택하는 것이 좋다.이번 글에서는 vim, vi, nano 세 가지 텍스트 에디터의 특징을 비교해본다.✏️ 간단 소개에디터설명vi가장 기본적인 Unix 계열 텍스트 에디터. 거의 모든 시스템에 기본 탑재되어 있다.vimvi를 개선한 버전 (Vi IMproved). 다양한 기능과 플러그인을 지원한다.nano초보자에게 친숙한 텍스트 에디터. 메뉴가 하단에 보여서 사용법이 직관적이다.🔍 주요 비교표항목vivimnano기본 설치대부분의 리눅스에 기본 탑재대부분 기본 설치됨경량 ..

[Linux & Unix] 리눅스 Vim 문자열 찾기 및 바꾸기 핵심 명령어 총정리 (검색/치환)

vim은 가볍고 빠른 텍스트 에디터이지만, 초보자에게는 처음 사용할 때 명령어가 낯설 수 있다.특히 검색이나 치환 같은 기능은 익숙해지면 매우 강력하게 사용할 수 있기 때문에 꼭 알아두는 것이 좋다.이 글에서는 vim에서 문자열을 검색하거나 바꾸는 방법을 정리해본다.🔍 검색 기능1. 특정 문자열 검색/찾을문자열/ 다음에 찾고 싶은 문자열을 입력하고 Enter를 누르면 검색이 실행된다.검색 후에는 n 키로 다음 검색 결과, N 키로 이전 검색 결과로 이동할 수 있다.예시:/printf→ printf라는 단어가 있는 곳으로 커서가 이동한다.2. 역방향 검색?찾을문자열/는 아래 방향으로 검색하지만, ?는 위 방향으로 검색한다.3. 현재 단어 빠르게 검색커서가 위치한 단어를 기준으로 검색하려면 다음 명령을 사..