<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>어제와 내일의 나 그 사이의 이야기</title>
	<atom:link href="https://lycos7560.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://lycos7560.com/</link>
	<description>생각의 흐름을 타고 다니며 만드는 블로그</description>
	<lastBuildDate>Sun, 05 Apr 2026 18:33:51 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://lycos7560.com/wp-content/uploads/2022/11/cropped-cropped-cropped-log-1-150x150-1-80x80.png</url>
	<title>어제와 내일의 나 그 사이의 이야기</title>
	<link>https://lycos7560.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>#include 지시자</title>
		<link>https://lycos7560.com/etc/include-%ec%a7%80%ec%8b%9c%ec%9e%90/40565/</link>
					<comments>https://lycos7560.com/etc/include-%ec%a7%80%ec%8b%9c%ec%9e%90/40565/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Sun, 05 Apr 2026 18:33:13 +0000</pubDate>
				<category><![CDATA[C++/CPP]]></category>
		<category><![CDATA[개인 공부 저장용]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[기초]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40565</guid>

					<description><![CDATA[<p>C 언어와 C++에서 #include는 소스 코드 파일의 가장 윗부분에서 흔히 볼 수 있는 전처리기 지시자(Preprocessor Directive)입니다. 1. #include의 핵심 역할 #include는 한마디로 &#8220;복사해서 붙여넣기&#8221;입니다. 컴파일러가 실제 코드를 번역하기 전(전처리 단계), 지정한 파일의 내용을 #include 문장이 있는 그 자리에 통째로 가져와서 삽입합니다. 2. 사용법에 따른 차이 ( &#60; &#62; vs " " ) #include를 사용할 때 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/include-%ec%a7%80%ec%8b%9c%ec%9e%90/40565/">#include 지시자</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-537dce7c      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-include의-핵심-역할" class="uagb-toc-link__trigger">1. #include의 핵심 역할</a><li class="uagb-toc__list"><a href="#2-사용법에-따른-차이-vs" class="uagb-toc-link__trigger">2. 사용법에 따른 차이 ( &lt; &gt; vs &quot; &quot; )</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#꺽쇠-괄호" class="uagb-toc-link__trigger">① &lt; &gt; (꺽쇠 괄호)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#큰따옴표" class="uagb-toc-link__trigger">② &quot; &quot; (큰따옴표)</a></li></ul></li><li class="uagb-toc__list"><a href="#3-왜-헤더-파일을-포함해야-할까" class="uagb-toc-link__trigger">3. 왜 헤더 파일을 포함해야 할까?</a><li class="uagb-toc__list"><a href="#4-주의사항-중복-포함-방지" class="uagb-toc-link__trigger">4. 주의사항: 중복 포함 방지</a><li class="uagb-toc__list"><a href="#5-자주-사용하는-표준-라이브러리-헤더-목록-c" class="uagb-toc-link__trigger">5. 자주 사용하는 표준 라이브러리 헤더 목록 (c)</a><li class="uagb-toc__list"><a href="#요약" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 요약</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>C 언어와 C++에서 <code>#include</code>는 소스 코드 파일의 가장 윗부분에서 흔히 볼 수 있는 전처리기 지시자(Preprocessor Directive)입니다. </p>



<h2 class="wp-block-heading">1. <code>#include</code>의 핵심 역할</h2>



<p><code>#include</code>는 한마디로 <strong>&#8220;복사해서 붙여넣기&#8221;</strong>입니다. </p>



<p>컴파일러가 실제 코드를 번역하기 전(전처리 단계), 지정한 파일의 내용을 <code>#include</code> 문장이 있는 그 자리에 통째로 가져와서 삽입합니다.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="644" height="299" src="https://lycos7560.com/wp-content/uploads/2026/04/image.png" alt="" class="wp-image-40566" srcset="https://lycos7560.com/wp-content/uploads/2026/04/image.png 644w, https://lycos7560.com/wp-content/uploads/2026/04/image-300x139.png 300w" sizes="(max-width: 644px) 100vw, 644px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)"/>



<h2 class="wp-block-heading">2. 사용법에 따른 차이 ( <code>&lt; &gt;</code> vs <code>" "</code> )</h2>



<p><code>#include</code>를 사용할 때 괄호의 모양에 따라 파일을 찾는 위치가 달라집니다.</p>



<h3 class="wp-block-heading">① <code>&lt; &gt;</code> (꺽쇠 괄호)</h3>



<ul class="wp-block-list">
<li><strong>사용 예:</strong> <code>#include &lt;stdio.h&gt;</code></li>



<li><strong>설명:</strong> 시스템의 <strong>표준 라이브러리 경로</strong>에서 파일을 찾습니다.</li>



<li><strong>대상:</strong> 컴파일러 설치 시 기본적으로 제공되는 표준 헤더 파일들을 불러올 때 사용합니다.</li>
</ul>



<h3 class="wp-block-heading">② <code>" "</code> (큰따옴표)</h3>



<ul class="wp-block-list">
<li><strong>사용 예:</strong> <code>#include "my_header.h"</code></li>



<li><strong>설명:</strong> <strong>현재 작업 중인 디렉토리(소스 파일이 있는 곳)</strong>에서 먼저 파일을 찾습니다. 만약 거기서 못 찾으면 시스템 표준 경로를 뒤집니다.</li>



<li><strong>대상:</strong> 개발자가 직접 만든 헤더 파일을 불러올 때 주로 사용합니다.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)"/>



<h2 class="wp-block-heading">3. 왜 헤더 파일을 포함해야 할까?</h2>



<p><code>printf</code>나 <code>scanf</code> 같은 함수를 쓸 수 있는 이유는 그 함수들의 <strong>선언(Declaration)</strong>이 <code>stdio.h</code>라는 파일 안에 들어있기 때문입니다.</p>



<ul class="wp-block-list">
<li>컴파일러는 함수를 만나면 &#8220;이 함수가 어떻게 생겼는지(매개변수, 반환 타입 등)&#8221;를 알아야 합니다.</li>



<li>직접 모든 함수를 정의하기엔 양이 너무 많으므로, 미리 정의된 헤더 파일을 <code>#include</code>로 불러와서 정보를 제공하는 것입니다.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)"/>



<h2 class="wp-block-heading">4. 주의사항: 중복 포함 방지</h2>



<p>대규모 프로젝트에서는 여러 파일이 서로를 참조하다가 똑같은 헤더 파일을 여러 번 <code>#include</code> 하는 상황이 발생할 수 있습니다. </p>



<p>이는 정의 중복 에러를 일으키므로, 보통 다음과 같은 기법을 사용합니다.</p>



<ul class="wp-block-list">
<li><strong>Header Guard:</strong>C<code>#ifndef MY_HEADER_H #define MY_HEADER_H // 코드 내용 #endif</code></li>



<li><strong>pragma once:</strong>C<code>#pragma once // 코드 내용</code></li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="c" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#ifndef MY_HEADER_H
#define MY_HEADER_H

/* 헤더 파일 내용 */
void say_hello();

#endif</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)"/>



<h2 class="wp-block-heading">5. 자주 사용하는 표준 라이브러리 헤더 목록 (c)</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-left" data-align="left">헤더 파일</th><th class="has-text-align-left" data-align="left">포함 내용</th><th class="has-text-align-left" data-align="left">대표 함수</th></tr></thead><tbody><tr><td>&lt;stdio.h&gt;</td><td>표준 입출력</td><td>printf, scanf, fopen</td></tr><tr><td>&lt;stdlib.h&gt;</td><td>메모리·변환·난수</td><td>malloc, free, rand</td></tr><tr><td>&lt;string.h&gt;</td><td>문자열 처리</td><td>strcpy, strlen, strcmp</td></tr><tr><td>&lt;math.h&gt;</td><td>수학 함수</td><td>sqrt, pow, sin</td></tr><tr><td>&lt;time.h&gt;</td><td>시간·날짜</td><td>time, clock, difftime</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 요약</h2>



<p><code>#include</code>는 <strong>외부에 작성된 코드나 함수 선언을 현재 파일로 가져오는 통로</strong>입니다. </p>



<p>시스템 라이브러리는 <code>&lt; &gt;</code>를, 내가 만든 파일은 <code>" "</code>를 사용합니다.</p>



<p></p>
<p>The post <a href="https://lycos7560.com/etc/include-%ec%a7%80%ec%8b%9c%ec%9e%90/40565/">#include 지시자</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/include-%ec%a7%80%ec%8b%9c%ec%9e%90/40565/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux File Permissions Handbook (파일 권한 정리 핸드북)</title>
		<link>https://lycos7560.com/etc/linux-file-permissions-handbook-%ed%8c%8c%ec%9d%bc-%ea%b6%8c%ed%95%9c-%ec%a0%95%eb%a6%ac-%ed%95%b8%eb%93%9c%eb%b6%81/40555/</link>
					<comments>https://lycos7560.com/etc/linux-file-permissions-handbook-%ed%8c%8c%ec%9d%bc-%ea%b6%8c%ed%95%9c-%ec%a0%95%eb%a6%ac-%ed%95%b8%eb%93%9c%eb%b6%81/40555/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 21:00:46 +0000</pubDate>
				<category><![CDATA[기타]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40555</guid>

					<description><![CDATA[<p>1. Linux 권한의 3요소 Linux의 권한은 간단하지만 강력한 원칙을 따른다. 모든 파일과 디렉터리에는 세 가지 사용자 그룹에 대해 세가지 유형의 접근 권한이 있다. 1.1 권한 유형 1.2 사용자 그룹 2. 권한 문자열 읽기 2.1 문자열 구조 분석 맨 앞의 문자는 파일의 유형을 나타내고, 이후 9개의 문자가 3개씩 나뉘어 소유자·그룹·기타의 권한을 나타낸다. 2.2 파일 유형 기호 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/linux-file-permissions-handbook-%ed%8c%8c%ec%9d%bc-%ea%b6%8c%ed%95%9c-%ec%a0%95%eb%a6%ac-%ed%95%b8%eb%93%9c%eb%b6%81/40555/">Linux File Permissions Handbook (파일 권한 정리 핸드북)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-a7e9a666      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-linux-권한의-3요소" class="uagb-toc-link__trigger">1. Linux 권한의 3요소</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#11-권한-유형" class="uagb-toc-link__trigger">1.1 권한 유형</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#12-사용자-그룹" class="uagb-toc-link__trigger">1.2 사용자 그룹</a></li></ul></li><li class="uagb-toc__list"><a href="#2-권한-문자열-읽기" class="uagb-toc-link__trigger">2. 권한 문자열 읽기</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#21-문자열-구조-분석" class="uagb-toc-link__trigger">2.1 문자열 구조 분석</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#22-파일-유형-기호" class="uagb-toc-link__trigger">2.2 파일 유형 기호</a></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#3-자주-사용하는-권한-패턴-명령어" class="uagb-toc-link__trigger">3. 자주 사용하는 권한 패턴 명령어</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#31-파일-권한" class="uagb-toc-link__trigger">3.1 파일 권한</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#32-디렉터리-권한" class="uagb-toc-link__trigger">3.2 디렉터리 권한</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#디렉터리와실행권한" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" />  디렉터리와 실행 권한</a></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#4-chmod로-권한-변경하기" class="uagb-toc-link__trigger">4. chmod로 권한 변경하기</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#41-기호-방식" class="uagb-toc-link__trigger">4.1 기호 방식</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#42-숫자-방식" class="uagb-toc-link__trigger">4.2 숫자 방식</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#43-재귀적-권한-변경-r-옵션" class="uagb-toc-link__trigger">4.3 재귀적 권한 변경 (-R 옵션)</a></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#5-chown-으로-소유권-변경하기" class="uagb-toc-link__trigger">5. chown 으로 소유권 변경하기</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#51-소유자-변경" class="uagb-toc-link__trigger">5.1 소유자 변경</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#52-재귀적-소유권-변경" class="uagb-toc-link__trigger">5.2 재귀적 소유권 변경</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#53-chgrp명령그룹전용변경" class="uagb-toc-link__trigger">5.3 chgrp 명령 (그룹 전용 변경)</a></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#6-특수-권한-고급" class="uagb-toc-link__trigger">6. 특수 권한 (고급)</a><li class="uagb-toc__list"><a href="#7-umask-기본-권한-마스크" class="uagb-toc-link__trigger">7. umask &#8211; 기본 권한 마스크</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#71-umask-동작-원리" class="uagb-toc-link__trigger">7.1 umask 동작 원리</a></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#8-실무-팁-자주-하는-실수" class="uagb-toc-link__trigger">8. 실무 팁 &amp; 자주 하는 실수</a></ul></ul></ul></ul></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">1. Linux 권한의 3요소</h2>



<p>Linux의 권한은 간단하지만 강력한 원칙을 따른다.</p>



<p>모든 파일과 디렉터리에는 <strong>세 가지 사용자 그룹</strong>에 대해 <strong>세가지 유형의 접근 권한</strong>이 있다.</p>



<ul class="wp-block-list">
<li>Linux는 &#8220;<strong>최소 권한 원칙(Principle of Least Privilege)</strong>&#8220;을 따른다. <br>사용자와 프로세스에게 작업 수행에 필요한 최소한의 권한만 부여하는 것이 보안의 기본이다.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1.1 권한 유형</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">• 읽기 (r)  –  파일 내용 보기 또는 디렉터리 목록 조회
• 쓰기 (w)  –  파일 내용 수정 또는 디렉터리 내 파일 생성·삭제
• 실행 (x)  –  파일을 프로그램으로 실행하거나 디렉터리에 진입</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1.2 사용자 그룹</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">• 소유자 (u, user)   –  파일을 소유한 사용자
• 그룹 (g, group)    –  해당 파일의 그룹에 속한 사용자들
• 기타 (o, others)   –  시스템의 모든 다른 사용자</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">2. 권한 문자열 읽기</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2.1 문자열 구조 분석</h3>



<p>맨 앞의 문자는 <strong>파일의 유형</strong>을 나타내고, 이후 9개의 문자가 3개씩 나뉘어 <strong>소유자·그룹·기타</strong>의 권한을 나타낸다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-a : 숨김 파일 포함 (.으로 시작하는 파일)
-l : 상세 정보(long format) 출력
-h : human readable (KB, MB, GB)

[lycos7560@DMT-RL01 ~]$ ls -alh
total 24K
drwx------. 3 lycos7560 lycos7560  132 Mar 16 05:38 .
drwxr-xr-x. 4 root      root        39 Mar 16 04:59 ..
-rw-------. 1 lycos7560 lycos7560 3.3K Mar 17 05:21 .bash_history
-rw-r--r--. 1 lycos7560 lycos7560   18 Oct 29  2024 .bash_logout
-rw-r--r--. 1 lycos7560 lycos7560  144 Oct 29  2024 .bash_profile
-rw-r--r--. 1 lycos7560 lycos7560  522 Oct 29  2024 .bashrc
drwx------. 3 lycos7560 lycos7560   20 Mar 12 07:19 .config
-rw-------. 1 lycos7560 lycos7560   38 Mar 11 04:36 .lesshst
-rw-r-x---. 1 root      root        12 Mar 16 05:38 myfile.txt


# 현재 사용자 및 그룹 확인
id
[lycos7560@DMT-RL01 ~]$ id
uid=1000(lycos7560) gid=1000(lycos7560) groups=1000(lycos7560),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

# 특정 사용자가 속한 그룹 확인
groups lycos7560
[lycos7560@DMT-RL01 ~]$ groups lycos7560
lycos7560 : lycos7560 wheel (wheel은 내가 넣음)
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-  rwx  r-x  r--
│   │    │    │
│   │    │    └── 기타(Others): 읽기 전용
│   │    └─────── 그룹(Group): 읽기 및 실행
│   └──────────── 소유자(Owner): 읽기, 쓰기, 실행
└──────────────── 파일 유형 (- = 파일, d = 디렉터리)</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2.2 파일 유형 기호</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>기호</strong></td><td><strong>의미</strong></td></tr><tr><td>&#8211;</td><td>일반&nbsp;파일</td></tr><tr><td>d</td><td>디렉터리(Directory)</td></tr><tr><td>l</td><td>심볼릭&nbsp;링크(Symbolic&nbsp;Link)</td></tr><tr><td>c</td><td>문자&nbsp;장치&nbsp;파일(Character&nbsp;Device)</td></tr><tr><td>b</td><td>블록&nbsp;장치&nbsp;파일(Block&nbsp;Device)</td></tr><tr><td>s</td><td>소켓(Socket)</td></tr><tr><td>p</td><td>파이프(Named&nbsp;Pipe)</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">3. 자주 사용하는 권한 패턴 명령어</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3.1 파일 권한</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>숫자</strong></td><td><strong>기호</strong></td><td><strong>설명</strong></td><td><strong>주요&nbsp;용도</strong></td></tr><tr><td>644</td><td>rw-r&#8211;r&#8211;</td><td>소유자: 읽기/쓰기, 나머지: 읽기 전용</td><td>일반&nbsp;텍스트,&nbsp;설정&nbsp;파일</td></tr><tr><td>755</td><td>rwxr-xr-x</td><td>소유자:&nbsp;모든&nbsp;권한,&nbsp;나머지:&nbsp;읽기+실행</td><td>스크립트,&nbsp;실행&nbsp;파일</td></tr><tr><td>600</td><td>rw&#8212;&#8212;-</td><td>소유자만&nbsp;읽기/쓰기&nbsp;가능</td><td>SSH&nbsp;키,&nbsp;비밀번호&nbsp;파일</td></tr><tr><td>400</td><td>r&#8212;&#8212;&#8211;</td><td>소유자만&nbsp;읽기&nbsp;가능&nbsp;(쓰기&nbsp;불가)</td><td>백업&nbsp;파일,&nbsp;중요&nbsp;설정</td></tr><tr><td>777</td><td>rwxrwxrwx</td><td>모든&nbsp;사용자가&nbsp;모든&nbsp;권한</td><td>매우 위험! (보안의 문제 사용을 지양)</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">3.2 디렉터리 권한</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>숫자</strong></td><td><strong>기호</strong></td><td><strong>설명</strong></td><td><strong>주의사항</strong></td></tr><tr><td>755</td><td>rwxr-xr-x</td><td>표준&nbsp;디렉터리&nbsp;권한</td><td>일반적으로&nbsp;가장&nbsp;많이&nbsp;사용</td></tr><tr><td>700</td><td>rwx&#8212;&#8212;</td><td>소유자만&nbsp;접근&nbsp;가능한&nbsp;비공개&nbsp;디렉터리</td><td>개인&nbsp;데이터&nbsp;폴더에&nbsp;적합</td></tr><tr><td>775</td><td>rwxrwxr-x</td><td>소유자와&nbsp;그룹&nbsp;모두&nbsp;쓰기&nbsp;가능</td><td>팀&nbsp;협업&nbsp;폴더에&nbsp;사용</td></tr><tr><td>644</td><td>rw-r&#8211;r&#8211;</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;사용&nbsp;불가</td><td>실행(x)&nbsp;권한&nbsp;없이&nbsp;디렉터리&nbsp;진입&nbsp;불가</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;&nbsp;디렉터리와&nbsp;실행&nbsp;권한</strong></h3>



<p>디렉터리에서 실행(x) 권한은 &#8220;진입 권한&#8221;을 의미한다.</p>



<p> 읽기(r)만 있고 실행(x)이 없으면 디렉터리 안에 파일이 있다는 사실은 알아도 접근할 수 없다.</p>



<p>반드시 실행 권한을 포함해야 합니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">4. chmod로 권한 변경하기</h2>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4.1 기호 방식</h3>



<p>기호 방식은 매우 직관적이며 현재 권한을 유지한 채 특정 권한만 추가하거나 제거할 때 유용하다. </p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>기호</strong></td><td><strong>의미</strong></td></tr><tr><td>u</td><td>소유자(user)</td></tr><tr><td>g</td><td>그룹(group)</td></tr><tr><td>o</td><td>기타(others)</td></tr><tr><td>a</td><td>모두(all)&nbsp;=&nbsp;u+g+o</td></tr><tr><td>+</td><td>권한&nbsp;추가</td></tr><tr><td>&#8211;</td><td>권한&nbsp;제거</td></tr><tr><td>=</td><td>권한&nbsp;설정(기존&nbsp;권한&nbsp;덮어쓰기)</td></tr></tbody></table></figure>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 소유자에게 실행 권한 부여
chmod u+x myfile

# 그룹의 쓰기 권한 제거
chmod g-w myfile

# 기타 사용자에게 읽기 권한 부여
chmod o+r myfile

# 모든 사용자에게 실행 권한 부여
chmod a+x myfile

# 그룹 권한을 읽기+실행으로 정확히 설정 (= 사용)
chmod g=rx myfile

# 여러 권한을 동시에 변경 (콤마로 구분)
chmod u+x,g-w,o+r myfile</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4.2 숫자 방식</h3>



<p>숫자 방식은 빠르고 정확하다.</p>



<p>각 자리는 소유자·그룹·기타의 권한을 나타내며 r=4, w=2, x=1을 더해 계산한다.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>권한</strong></td><td><strong>이진수</strong></td><td><strong>10진수</strong></td></tr><tr><td>&#8212;</td><td>000</td><td>0</td></tr><tr><td>&#8211;x</td><td>001</td><td>1</td></tr><tr><td>-w-</td><td>010</td><td>2</td></tr><tr><td>-wx</td><td>011</td><td>3</td></tr><tr><td>r&#8211;</td><td>100</td><td>4</td></tr><tr><td>r-x</td><td>101</td><td>5</td></tr><tr><td>rw-</td><td>110</td><td>6</td></tr><tr><td>rwx</td><td>111</td><td>7</td></tr></tbody></table></figure>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">예: 755 = 소유자(7=rwx) + 그룹(5=r-x) + 기타(5=r-x)

chmod 755 myfile       # rwxr-xr-x
chmod 644 myfile       # rw-r--r--
chmod 600 myfile       # rw-------
chmod 400 myfile       # r--------
chmod 700 mydir        # rwx------</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4.3 재귀적 권한 변경 (-R 옵션)</h3>



<p>디렉터리와 그 안의 모든 파일/하위 디렉터리에 권한을 일괄 적용할 때 사용한다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 웹 서버 디렉터리 전체 권한 설정
sudo chmod -R 755 /var/www/html/

# 특정 패턴의 파일만 선택적으로 변경
find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type d -exec chmod 755 {} \;

# 파일과 디렉터리 권한 분리 팁
chmod -R 755를 사용하면 파일도 755(실행 가능)가 되어 보안상 좋지 않다.
find 명령으로 파일(644)과 디렉터리(755)를 따로 설정하는 것을 권장.</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">5. chown 으로 소유권 변경하기</h2>



<p>chown 명령으로 파일의 디렉터리의 소유자와 그룹을 변경할 수 있다.</p>



<p>일반적으로 관리자 권한(sudo)이 필요하다.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">5.1 소유자 변경</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 소유자를 alice로 변경
sudo chown alice myfile

# 소유자를 alice, 그룹을 staff로 동시 변경
sudo chown alice:staff myfile

# 그룹만 developers로 변경 (콜론 앞 생략)
sudo chown :developers myfile</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">5.2 재귀적 소유권 변경</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 디렉터리 전체 소유자와 그룹 변경
sudo chown -R alice:staff /home/alice/projects/

# 소유자만 재귀적으로 변경
sudo chown -R www-data /var/www/html/</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">5.3 <strong>chgrp 명령 (그룹 전용 변경)</strong></h3>



<p>그룹만 변경하고 싶을 때는 chgrp 명령을 사용할 수도 있다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo chgrp developers myfile
sudo chgrp -R developers /srv/project/</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">6. 특수 권한 (고급)</h2>



<p>일반 rwx 외에 시스템 관리에 중요한 역할을 하는 <strong>SetUID, SetGID, Sticky Bit</strong> 세 가지 특수 권한이 있다.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>권한&nbsp;유형</strong></td><td><strong>명령어&nbsp;예시</strong></td><td><strong>설명</strong></td></tr><tr><td>SetUID&nbsp;(4xxx)</td><td>chmod&nbsp;4755&nbsp;file</td><td>실행&nbsp;시&nbsp;소유자&nbsp;권한으로&nbsp;동작&nbsp;(예:&nbsp;/usr/bin/passwd)</td></tr><tr><td>SetGID&nbsp;(2xxx)</td><td>chmod&nbsp;2755&nbsp;dir</td><td>파일을&nbsp;소유자&nbsp;그룹으로&nbsp;생성,&nbsp;공유&nbsp;폴더에&nbsp;유용</td></tr><tr><td>Sticky&nbsp;Bit&nbsp;(1xxx)</td><td>chmod&nbsp;1777&nbsp;/tmp</td><td>파일&nbsp;소유자만&nbsp;삭제&nbsp;가능&nbsp;(/tmp&nbsp;디렉터리에&nbsp;사용)</td></tr></tbody></table></figure>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># SetUID 설정 (소유자 권한으로 실행)
chmod 4755 myprogram    # 또는: chmod u+s myprogram

# SetGID 설정 (그룹 권한 상속)
chmod 2755 shared_dir   # 또는: chmod g+s shared_dir

# Sticky Bit 설정 (소유자만 삭제 가능)
chmod 1777 /tmp         # 또는: chmod +t /tmp

# ls -l에서 특수 권한 확인
# -rwsr-xr-x  → SetUID (소유자 x 자리에 s)
# -rwxr-sr-x  → SetGID (그룹 x 자리에 s)
# drwxrwxrwt  → Sticky Bit (기타 x 자리에 t)

- SetUID 보안 주의
SetUID가 설정된 프로그램은 실행 시 소유자(보통 root로 설정) 권한으로 동작한다.
불필요한 파일에 SetUID를 설정하면 심각한 보안 취약점이 될 수 있다.
반드시 필요한 경우에만 사용.</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">7. umask &#8211; 기본 권한 마스크</h2>



<p>새 파일이나 디렉터리를 생성할 때 자동으로 적용되는 기본 권한을 제어한다.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">7.1 <strong>umask 동작</strong> 원리</h3>



<ul class="wp-block-list">
<li>파일 최대 권한: 666 (rw-rw-rw-) 실행 권한은 기본적으로 부여되지 않음</li>



<li>디렉터리 최대 권한: 777(rwxrwxrwx)</li>



<li>실제 권한 = 최대 권한 &#8211; umask 값</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 현재 umask 확인
umask
[lycos7560@DMT-RL01 ~]$ umask
0022

# umask 022 적용 시 (가장 일반적)
# 파일:     666 - 022 = 644 (rw-r--r--)
# 디렉터리: 777 - 022 = 755 (rwxr-xr-x)

# umask 변경 (현재 세션에만 적용)
umask 027

# 영구 적용: ~/.bashrc 또는 /etc/profile에 추가
echo "umask 027" >> ~/.bashrc</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">8. 실무 팁 &amp; 자주 하는 실수</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>상황</strong></td><td><strong>원인</strong></td><td><strong>해결&nbsp;방법</strong></td></tr><tr><td>스크립트&nbsp;실행&nbsp;안&nbsp;됨</td><td>실행(x)&nbsp;권한&nbsp;없음</td><td>chmod&nbsp;+x&nbsp;script.sh</td></tr><tr><td>디렉터리&nbsp;진입&nbsp;불가</td><td>실행(x)&nbsp;권한&nbsp;없음</td><td>chmod&nbsp;755&nbsp;dirname</td></tr><tr><td>파일&nbsp;수정&nbsp;안&nbsp;됨</td><td>쓰기(w)&nbsp;권한&nbsp;없음</td><td>chmod&nbsp;u+w&nbsp;filename</td></tr><tr><td>sudo&nbsp;없이&nbsp;chown&nbsp;불가</td><td>일반&nbsp;사용자&nbsp;제한</td><td>sudo&nbsp;chown&nbsp;사용</td></tr><tr><td>777&nbsp;설정&nbsp;후&nbsp;보안&nbsp;문제</td><td>과도한&nbsp;권한&nbsp;부여</td><td>chmod&nbsp;755&nbsp;또는&nbsp;644로&nbsp;변경</td></tr></tbody></table></figure>



<p><strong>보안 체크리스트</strong></p>



<p>① 민감한 파일(SSH 키, 설정 파일)은 600 또는 400 사용  </p>



<p>② 웹 서버 파일은 644, 디렉터리는 755  </p>



<p>③ 777은 절대 사용하지 않기  </p>



<p>④ SetUID 파일 주기적 점검: find / -perm -4000 -ls 2>/dev/null</p>



<p></p>
<p>The post <a href="https://lycos7560.com/etc/linux-file-permissions-handbook-%ed%8c%8c%ec%9d%bc-%ea%b6%8c%ed%95%9c-%ec%a0%95%eb%a6%ac-%ed%95%b8%eb%93%9c%eb%b6%81/40555/">Linux File Permissions Handbook (파일 권한 정리 핸드북)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/linux-file-permissions-handbook-%ed%8c%8c%ec%9d%bc-%ea%b6%8c%ed%95%9c-%ec%a0%95%eb%a6%ac-%ed%95%b8%eb%93%9c%eb%b6%81/40555/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Rocky Linux 10 DNF 저장소 추가</title>
		<link>https://lycos7560.com/etc/rocky-linux-10-dnf-%ec%a0%80%ec%9e%a5%ec%86%8c-%ec%b6%94%ea%b0%80/40549/</link>
					<comments>https://lycos7560.com/etc/rocky-linux-10-dnf-%ec%a0%80%ec%9e%a5%ec%86%8c-%ec%b6%94%ea%b0%80/40549/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Thu, 12 Mar 2026 21:05:29 +0000</pubDate>
				<category><![CDATA[기타]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40549</guid>

					<description><![CDATA[<p>DNF 저장소 추가? Rocky Linux는 기업용 리눅스 배포판으로 기본적으로 안정성을 위해 패키지 수가 제한적입니다. 그래서 기본 저장소만 사용하면 htop, iftop, ffmpeg 같은 패키지를 찾을 수 없는 경우가 많습니다. 이 때문에 추가 저장소(repository)를 활성화하여 패키지를 확장합니다. 순서 1. CRB 저장소 (CodeReady Builder) CRB는 EPEL 패키지 일부가 의존하는 패키지를 포함하고 있어, EPEL 사용 전에 반드시 활성화해야 합니다. [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/rocky-linux-10-dnf-%ec%a0%80%ec%9e%a5%ec%86%8c-%ec%b6%94%ea%b0%80/40549/">Rocky Linux 10 DNF 저장소 추가</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-b77fcaa8      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#dnf-저장소-추가" class="uagb-toc-link__trigger">DNF 저장소 추가?</a><li class="uagb-toc__list"><a href="#순서" class="uagb-toc-link__trigger">순서</a><li class="uagb-toc__list"><a href="#1-crb-저장소-codeready-builder" class="uagb-toc-link__trigger">1. CRB 저장소 (CodeReady Builder)</a><li class="uagb-toc__list"><a href="#2-epel-저장소-extra-packages-for-enterprise-linux" class="uagb-toc-link__trigger">2. EPEL 저장소 (Extra Packages for Enterprise Linux)</a><li class="uagb-toc__list"><a href="#3-rpm-fusion-저장소" class="uagb-toc-link__trigger">3. RPM Fusion 저장소</a><li class="uagb-toc__list"><a href="#참고" class="uagb-toc-link__trigger">참고</a></ol>					</div>
									</div>
				</div>
			


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">DNF 저장소 추가?</h3>



<p>Rocky Linux는 기업용 리눅스 배포판으로 기본적으로 안정성을 위해 패키지 수가 제한적입니다. </p>



<p>그래서 기본 저장소만 사용하면 <code>htop</code>, <code>iftop</code>, <code>ffmpeg</code> 같은 패키지를 찾을 수 없는 경우가 많습니다.</p>



<p>이 때문에 추가 저장소(repository)를 활성화하여 패키지를 확장합니다.</p>



<p></p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">순서</h3>



<ol class="wp-block-list">
<li>CRB </li>



<li>EPEL</li>



<li>RPM Fusion 설치 (필요한 경우)</li>
</ol>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1. CRB 저장소 (CodeReady Builder)</h3>



<ol class="wp-block-list"></ol>



<p>CRB는 EPEL 패키지 일부가 의존하는 패키지를 포함하고 있어, EPEL 사용 전에 반드시 활성화해야 합니다.</p>



<p>개발용 라이브러리 및 빌드 의존성 패키지를 제공합니다.</p>



<ul class="wp-block-list">
<li><code>devel</code> 패키지</li>



<li>컴파일 관련 라이브러리</li>



<li>빌드 도구</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># Rocky Linux 10은 /usr/bin/crb 유틸리티를 제공합니다.

# dnf-plugins-core가 없으면 먼저 설치
sudo dnf install dnf-plugins-core

# CRB 활성화 (Rocky Linux 9, 10 공통)
sudo crb enable

# CRB 확인
sudo crb status</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2. EPEL 저장소 (Extra Packages for Enterprise Linux)</h3>



<ol start="2" class="wp-block-list"></ol>



<p>Extra Packages for Enterprise Linux의 약자로 RHEL 계열에서 부족한 패키지를 제공하는 저장소입니다. </p>



<p>대부분의 서버에서 CRB 다음으로 바로 설치하는 저장소</p>



<p>제공 패키지 예시</p>



<ul class="wp-block-list">
<li>htop</li>



<li>neovim</li>



<li>iftop</li>



<li>nmap</li>



<li>fail2ban</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 설치 방법
sudo dnf install epel-release

# 저장소 확인
dnf repolist
```

**예시 출력**
[lycos7560@DMT-RL01 ~]$ dnf repolist
repo id                                           repo name
appstream                                         Rocky Linux 10 - AppStream
baseos                                            Rocky Linux 10 - BaseOS
crb                                               Rocky Linux 10 - CRB
epel                                              Extra Packages for Enterprise Linux 10 - x86_64
extras                                            Rocky Linux 10 - Extras
rpmfusion-free-updates                            RPM Fusion for EL 10 - Free - Updates
</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3. RPM Fusion 저장소 </h3>



<p>RPM Fusion은 멀티미디어 및 추가 패키지를 제공하는 저장소입니다. </p>



<p>free(오픈소스)와 nonfree(비오픈소스) 두 가지로 나뉩니다.</p>



<p>RPM Fusion은 EPEL에 의존하므로 반드시 EPEL을 먼저 설치해야 합니다.</p>



<p>제공 패키지 예시</p>



<ul class="wp-block-list">
<li>ffmpeg</li>



<li>vlc</li>
</ul>



<p><code>$(rpm -E %rhel)</code> 변수를 사용하면 Rocky Linux 버전을 자동으로 감지하여 올바른 패키지를 내려받습니다</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># free 저장소
sudo dnf install --nogpgcheck \
  https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm

# nonfree 저장소 (필요한 경우 추가)
sudo dnf install --nogpgcheck \
  https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
```

---

## 실무에서 많이 사용하는 저장소 조합

대부분의 Rocky Linux 10 서버는 다음 저장소를 활성화합니다.
```
baseos
appstream
crb
epel</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)"/>



<h3 class="wp-block-heading">참고</h3>



<p>패키지 검색</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dnf search 패키지명

dnf search htop</pre>



<div style="height:19px" aria-hidden="true" class="wp-block-spacer"></div>



<p>특정 파일을 제공하는 패키지 찾기</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dnf provides 파일명

dnf provides htop</pre>



<div style="height:19px" aria-hidden="true" class="wp-block-spacer"></div>



<p>저장소 임시 제외</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 특정 저장소를 제외하고 설치하고 싶을 때 사용합니다.

dnf install 패키지명 --disablerepo=epel</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="6XFKrBcgcQ"><a href="https://lycos7560.com/etc/dnf-package-manager-dnf-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b4%80%eb%a6%ac%ec%9e%90/40530/">DNF Package Manager (DNF 패키지 관리자)</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;DNF Package Manager (DNF 패키지 관리자)&#8221; &#8212; 어제와 내일의 나 그 사이의 이야기" src="https://lycos7560.com/etc/dnf-package-manager-dnf-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b4%80%eb%a6%ac%ec%9e%90/40530/embed/#?secret=4pAmu41OkY#?secret=6XFKrBcgcQ" data-secret="6XFKrBcgcQ" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>The post <a href="https://lycos7560.com/etc/rocky-linux-10-dnf-%ec%a0%80%ec%9e%a5%ec%86%8c-%ec%b6%94%ea%b0%80/40549/">Rocky Linux 10 DNF 저장소 추가</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/rocky-linux-10-dnf-%ec%a0%80%ec%9e%a5%ec%86%8c-%ec%b6%94%ea%b0%80/40549/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>top 명령어 핵심 정리 &#8211; Linux top</title>
		<link>https://lycos7560.com/etc/top-%eb%aa%85%eb%a0%b9%ec%96%b4-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac-linux-top/40541/</link>
					<comments>https://lycos7560.com/etc/top-%eb%aa%85%eb%a0%b9%ec%96%b4-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac-linux-top/40541/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Thu, 12 Mar 2026 20:15:11 +0000</pubDate>
				<category><![CDATA[기타]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40541</guid>

					<description><![CDATA[<p>🔥 가장 많이 쓰는 top 단축키 키 기능 설명 q 종료 top 종료 h 도움말 모든 단축키 보기 k 프로세스 종료 PID 입력 후 kill r nice 값 변경 프로세스 우선순위 변경 c 명령어 전체 표시 프로그램 경로 표시 P CPU 사용률 정렬 CPU 많이 쓰는 순 M 메모리 사용률 정렬 메모리 많이 쓰는 순 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/top-%eb%aa%85%eb%a0%b9%ec%96%b4-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac-linux-top/40541/">top 명령어 핵심 정리 &#8211; Linux top</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-ab3ce747      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#가장-많이-쓰는-top-단축키" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 가장 많이 쓰는 top 단축키</a><li class="uagb-toc__list"><a href="#예시-기본" class="uagb-toc-link__trigger">예시 (기본)</a><li class="uagb-toc__list"><a href="#1-시스템-전체-상태" class="uagb-toc-link__trigger">1&#x20e3; 시스템 전체 상태</a><li class="uagb-toc__list"><a href="#2-프로세스-상태" class="uagb-toc-link__trigger">2&#x20e3; 프로세스 상태</a><li class="uagb-toc__list"><a href="#3-cpu-사용률" class="uagb-toc-link__trigger">3&#x20e3; CPU 사용률</a><li class="uagb-toc__list"><a href="#4-메모리-정보" class="uagb-toc-link__trigger">4&#x20e3; 메모리 정보</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#swap-정보" class="uagb-toc-link__trigger">Swap 정보</a></li></ul></li><li class="uagb-toc__list"><a href="#5-프로세스-정보-영역-process-list" class="uagb-toc-link__trigger">5&#x20e3; 프로세스 정보 영역 (Process List)</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pid-process-id" class="uagb-toc-link__trigger">PID (Process ID)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pr-priority" class="uagb-toc-link__trigger">PR (Priority)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ni-nice-value" class="uagb-toc-link__trigger">NI (Nice Value)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#virt-virtual-memory" class="uagb-toc-link__trigger">VIRT (Virtual Memory)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#res-resident-memory" class="uagb-toc-link__trigger">RES (Resident Memory)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#shr-shared-memory" class="uagb-toc-link__trigger">SHR (Shared Memory)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#s-process-state" class="uagb-toc-link__trigger">S (Process State)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#cpu" class="uagb-toc-link__trigger">%CPU</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#mem" class="uagb-toc-link__trigger">%MEM</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#time" class="uagb-toc-link__trigger">TIME+</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#command" class="uagb-toc-link__trigger">COMMAND</a></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#top에서-자주-보이는-커널시스템-프로세스-10개" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> top에서 자주 보이는 커널/시스템 프로세스 10개</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#systemd" class="uagb-toc-link__trigger">systemd</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#kworker" class="uagb-toc-link__trigger">kworker</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ksoftirqd" class="uagb-toc-link__trigger">ksoftirqd</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#rcu" class="uagb-toc-link__trigger">rcu</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#migration" class="uagb-toc-link__trigger">migration</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#kthreadd" class="uagb-toc-link__trigger">kthreadd</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#kswapd" class="uagb-toc-link__trigger">kswapd</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#kcompactd" class="uagb-toc-link__trigger">kcompactd</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#cpuhp" class="uagb-toc-link__trigger">cpuhp</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#idle-inject" class="uagb-toc-link__trigger">idle_inject</a></ul></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 가장 많이 쓰는 top 단축키</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>키</th><th>기능</th><th>설명</th></tr></thead><tbody><tr><td><code>q</code></td><td>종료</td><td>top 종료</td></tr><tr><td><code>h</code></td><td>도움말</td><td>모든 단축키 보기</td></tr><tr><td><code>k</code></td><td>프로세스 종료</td><td>PID 입력 후 kill</td></tr><tr><td><code>r</code></td><td>nice 값 변경</td><td>프로세스 우선순위 변경</td></tr><tr><td><code>c</code></td><td>명령어 전체 표시</td><td>프로그램 경로 표시</td></tr><tr><td><code>P</code></td><td>CPU 사용률 정렬</td><td>CPU 많이 쓰는 순</td></tr><tr><td><code>M</code></td><td>메모리 사용률 정렬</td><td>메모리 많이 쓰는 순</td></tr><tr><td><code>T</code></td><td>실행 시간 정렬</td><td>오래 실행된 순</td></tr><tr><td><code>N</code></td><td>PID 정렬</td><td>PID 기준 정렬</td></tr><tr><td>R</td><td>정렬 역순</td><td>정렬 방향 반전</td></tr><tr><td>1</td><td>CPU 코어별 보기</td><td>CPU 코어별 사용률 표시</td></tr><tr><td>t</td><td>CPU 정보 토글</td><td>CPU 사용률 영역 표시/숨김</td></tr><tr><td>m</td><td>메모리 정보 토글</td><td>메모리 정보 표시/숨김</td></tr><tr><td>l</td><td>Load average 토글</td><td>load average 표시/숨김</td></tr><tr><td>i</td><td>Idle 프로세스 숨김</td><td>CPU 사용 중인 프로세스만 표시</td></tr><tr><td>u</td><td>사용자 필터</td><td>특정 사용자 프로세스만 표시</td></tr><tr><td>d</td><td>refresh 시간 변경</td><td>화면 갱신 주기 변경</td></tr><tr><td>s</td><td>refresh 시간 변경 (구버전)</td><td>갱신 간격 설정</td></tr><tr><td>f</td><td>표시 컬럼 설정</td><td>top 컬럼 추가/삭제</td></tr><tr><td>W</td><td>설정 저장</td><td>현재 top 설정 저장</td></tr><tr><td>V</td><td>트리 구조로 부모-자식 관계 표시</td><td></td></tr><tr><td>v</td><td>선택한 프로세스의 자식 프로세스 숨기기/보이기</td><td></td></tr><tr><td>F</td><td>포커스 모드 진입</td><td></td></tr></tbody></table></figure>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">단축키 도움말
# 원문
Help for Interactive Commands - procps-ng 4.0.4
Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.

  Z,B,E,e   Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
  l,t,m,I,0 Toggle: 'l' load avg; 't' task/cpu; 'm' memory; 'I' Irix; '0' zeros
  1,2,3,4,5 Toggle: '1/2/3' cpu/numa views; '4' cpus abreast; '5' P/E-cores
  f,X       Fields: 'f' add/remove/order/sort; 'X' increase fixed-width fields

  L,&amp;,&lt;,> . Locate: 'L'/'&amp;' find/again; Move sort column: '&lt;'/'>' left/right
  R,H,J,C . Toggle: 'R' Sort; 'H' Threads; 'J' Num justify; 'C' Coordinates
  c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
  x,y     . Toggle highlights: 'x' sort field; 'y' running tasks
  z,b     . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
  u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
  n,#,^O  . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
  V,v,F   . Toggle: 'V' forest view; 'v' hide/show children; 'F' keep focused

  d,k,r,^R 'd' set delay; 'k' kill; 'r' renice; Ctrl+'R' renice autogroup
  ^G,K,N,U  View: ctl groups ^G; cmdline ^K; environment ^N; supp groups ^U
  Y,!,^E,P  Inspect 'Y'; Combine Cpus '!'; Scale time ^E; View namespaces ^P
  W,q       Write config file 'W'; Quit 'q'
          ( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,

# 번역본
대화형 명령어 도움말 - procps-ng 4.0.4
창 1: 기본값(Def): 누적 모드 꺼짐.  시스템: 갱신 지연 3.0초; 보안 모드 꺼짐.

  Z,B,E,e   전역 설정: 'Z' 색상; 'B' 굵게 표시; 'E'/'e' 요약/작업 메모리 표시 단위
  l,t,m,I,0 토글: 'l' load average; 't' 작업/CPU; 'm' 메모리; 'I' Irix 모드; '0' 0 값 표시
  1,2,3,4,5 토글: '1/2/3' CPU/NUMA 보기; '4' CPU 가로 나열; '5' P/E 코어 표시
  f,X       필드: 'f' 필드 추가/제거/순서/정렬; 'X' 고정 너비 필드 크기 증가

  L,&amp;,&lt;,> . 검색: 'L'/'&amp;' 찾기/다시 찾기; 정렬 열 이동: '&lt;'/'>' 왼쪽/오른쪽
  R,H,J,C . 토글: 'R' 정렬 방향; 'H' 스레드 표시; 'J' 숫자 정렬; 'C' 좌표 표시
  c,i,S,j . 토글: 'c' 명령어 이름/전체 명령줄; 'i' 유휴 작업; 'S' 시간; 'j' 문자열 정렬
  x,y     . 강조 토글: 'x' 정렬 필드 강조; 'y' 실행 중 작업 강조
  z,b     . 토글: 'z' 컬러/흑백; 'b' 굵게/역상 (x 또는 y가 활성화된 경우)
  u,U,o,O . 필터: 'u'/'U' 실행 사용자/모든 사용자; 'o'/'O' 다른 조건
  n,#,^O  . 설정: 'n'/'#' 표시할 최대 작업 수; 표시: Ctrl+'O' 다른 필터 보기
  V,v,F   . 토글: 'V' 트리(forest) 보기; 'v' 자식 프로세스 숨김/표시; 'F' 포커스 유지

  d,k,r,^R 'd' 갱신 지연 설정; 'k' 프로세스 종료; 'r' nice 값 변경; Ctrl+'R' autogroup nice 변경
  ^G,K,N,U  보기: Ctrl+'G' 제어 그룹; Ctrl+'K' 명령줄; Ctrl+'N' 환경 변수; Ctrl+'U' 보조 그룹
  Y,!,^E,P  검사: 'Y' 상세 검사; '!' CPU 결합; Ctrl+'E' 시간 단위 변경; Ctrl+'P' 네임스페이스 보기
  W,q       'W' 설정 파일 저장; 'q' 종료
          ( '.' 표시가 있는 명령어는 작업 목록 창이 보일 때만 사용 가능 )
Windows 관련 도움말은 'h' 또는 '?' 키를 누르십시오.</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">예시 (기본)</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[lycos7560@DMT-RL01 ~]$ top
top - 03:42:50 up 2 min,  2 users,  load average: 0.01, 0.00, 0.00
Tasks: 269 total,   1 running, 268 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.1 hi,  0.0 si,  0.0 st
MiB Mem :   3621.8 total,   3136.7 free,    512.6 used,    187.3 buff/cache
MiB Swap:   4008.0 total,   4008.0 free,      0.0 used.   3109.2 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
     28 root      20   0       0      0      0 I   0.3   0.0   0:00.17 kworker/1:0-events
      1 root      20   0   49176  40952  10468 S   0.0   1.1   0:02.13 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.02 kthreadd
      3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_workqueue_release
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_gp
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-sync_wq
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-slub_flushwq
      7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-netns
      8 root      20   0       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0-events
      9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri
     10 root      20   0       0      0      0 I   0.0   0.0   0:00.10 kworker/0:1-events
     11 root      20   0       0      0      0 I   0.0   0.0   0:00.00 kworker/u512:0-async
     12 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-mm_percpu_wq
     13 root      20   0       0      0      0 I   0.0   0.0   0:00.69 kworker/u512:1-async
     14 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_kthread
     15 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_rude_kthread
     16 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_trace_kthread
     17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/0
     18 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_preempt
     19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_exp_par_gp_kthread_worker/1
     20 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_exp_gp_kthread_worker
     21 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/0
     22 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/0
     23 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
     24 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1
     25 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/1
     26 root      rt   0       0      0      0 S   0.0   0.0   0:00.52 migration/1
     27 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/1
     29 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/1:0H-events_highpri
     30 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/2
     31 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/2
     32 root      rt   0       0      0      0 S   0.0   0.0   0:00.52 migration/2
     33 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/2
     34 root      20   0       0      0      0 I   0.0   0.0   0:00.00 kworker/2:0-rcu_gp
     35 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/2:0H-events_highpri
     36 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/3
     37 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/3
     38 root      rt   0       0      0      0 S   0.0   0.0   0:00.53 migration/3
     39 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/3
     40 root      20   0       0      0      0 I   0.0   0.0   0:00.09 kworker/3:0-events
     41 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/3:0H-events_highpri
     43 root      20   0       0      0      0 I   0.0   0.0   0:00.02 kworker/u512:2-async
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h3 class="wp-block-heading">1&#x20e3; 시스템 전체 상태</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">top - 03:42:50 up 2 min,  2 users,  load average: 0.05, 0.05, 0.02</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>의미</th></tr></thead><tbody><tr><td><code>03:42:50</code></td><td>현재 시스템 시간</td></tr><tr><td><code>up 2 min</code></td><td>시스템이 부팅된 후 <strong>가동 시간</strong></td></tr><tr><td><code>2 users</code></td><td>현재 로그인한 사용자 수</td></tr><tr><td><code>load average</code></td><td>시스템 평균 부하</td></tr></tbody></table></figure>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<h5 class="wp-block-heading">load average</h5>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">0.05, 0.05, 0.02</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<p>각 의미</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>값</th><th>의미</th></tr></thead><tbody><tr><td>첫번째</td><td>1분 평균 부하</td></tr><tr><td>두번째</td><td>5분 평균 부하</td></tr><tr><td>세번째</td><td>15분 평균 부하</td></tr></tbody></table></figure>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Load Average 의미</strong></p>



<p>CPU가 처리해야 할 <strong>대기 작업 수</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CPU 실행중 프로세스
CPU 실행 대기 프로세스
Disk I/O 대기 프로세스</pre>



<p>예시</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>CPU 코어</th><th>정상 load</th></tr></thead><tbody><tr><td>1 core</td><td>1.0</td></tr><tr><td>4 core</td><td>4.0</td></tr></tbody></table></figure>



<p>지금 값</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">0.05
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/27a1.png" alt="➡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 거의 아무 작업도 없는 상태 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f44d.png" alt="👍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h3 class="wp-block-heading">2&#x20e3; 프로세스 상태</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Tasks: 269 total,   1 running, 268 sleeping,   0 stopped,   0 zombie</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>의미</th></tr></thead><tbody><tr><td>total</td><td>전체 프로세스 수</td></tr><tr><td>running</td><td>실행 중</td></tr><tr><td>sleeping</td><td>대기 상태</td></tr><tr><td>stopped</td><td>중지된 프로세스</td></tr><tr><td>zombie</td><td>좀비 프로세스</td></tr></tbody></table></figure>



<p>현재 상태</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>상태</th><th>값</th></tr></thead><tbody><tr><td>전체 프로세스</td><td>269</td></tr><tr><td>실행 중</td><td>1</td></tr><tr><td>대기</td><td>268</td></tr><tr><td>좀비</td><td>0</td></tr></tbody></table></figure>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 대부분 시스템 프로세스는 <strong>sleep 상태</strong>입니다.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h3 class="wp-block-heading">3&#x20e3; CPU 사용률</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.1 hi,  0.0 si,  0.0 st</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<p>CPU 사용률 항목</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>의미</th></tr></thead><tbody><tr><td>us (user)</td><td>사용자 프로그램 사용 CPU</td></tr><tr><td>sy (system)</td><td>커널 사용 CPU</td></tr><tr><td>ni (nice)</td><td>nice 값 조정된 프로세스<br><strong>nice 값이 변경된 프로세스가 사용한 CPU</strong>로<br>이 작업이 CPU를 20% 사용하면 %Cpu(s): 5 us, 3 sy, 20 ni, …</td></tr><tr><td>id (idle)</td><td>CPU 유휴 상태</td></tr><tr><td>wa (wait)</td><td>I/O 대기</td></tr><tr><td>hi</td><td>하드웨어 인터럽트</td></tr><tr><td>si</td><td>소프트웨어 인터럽트</td></tr><tr><td>st</td><td>VM에서 CPU 뺏긴 시간</td></tr></tbody></table></figure>



<p>현재 상태</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">100% idle
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/27a1.png" alt="➡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> CPU 완전 여유 상태</pre>



<div style="height:5px" aria-hidden="true" class="wp-block-spacer"></div>



<p>멀티코어 환경에서 100%를 초과할 수 있음<br>(예: 4코어면 최대 400%)</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h3 class="wp-block-heading">4&#x20e3; 메모리 정보</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">MiB Mem :   3621.8 total,   3136.7 free,    512.6 used,    187.3 buff/cache
MiB Swap:   4008.0 total,   4008.0 free,      0.0 used.   3109.2 avail Mem</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>의미</th></tr></thead><tbody><tr><td>total</td><td>전체 메모리</td></tr><tr><td>free</td><td>완전히 남은 메모리</td></tr><tr><td>used</td><td>실제 사용</td></tr><tr><td>buff/cache</td><td>캐시 / 버퍼</td></tr></tbody></table></figure>



<p>현재 상태</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>값</th></tr></thead><tbody><tr><td>total</td><td>3621MB</td></tr><tr><td>free</td><td>3136MB</td></tr><tr><td>used</td><td>512MB</td></tr><tr><td>cache</td><td>187MB</td></tr></tbody></table></figure>



<p>참고: 리눅스는 <strong>남는 메모리를 캐시로 사용</strong>하므로 free 메모리가 적어도 실제로는 여유가 많을 수 있다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">예를 들어
free       3137 MB
buff/cache 187 MB
≈ 3324 MB

# 추가적으로 리눅스에서는 일부 메모리 커널이 예약(reserved)함. 
4096 MB - 약 400~500 MB
≈ 3600 MB

[lycos7560@DMT-RL01 ~]$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3.5Gi       506Mi       3.1Gi       9.0Mi       187Mi       3.0Gi
Swap:          3.9Gi          0B       3.9Gi

실무에서는 출력에서 free -h의 available 만 본다.</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Swap 정보</h4>



<p>Swap(스왑)은 리눅스에서 <strong>메모리(RAM)가 부족할 때 사용하는 디스크 공간</strong>으로 쉽게 말하면 RAM의 임시 확장 공간입니다.</p>



<p>RAM이 부족하면 운영체제는 <strong>일부 데이터를 디스크로 옮겨서 공간을 확보</strong>합니다.</p>



<p>이 디스크 공간을 <strong>Swap</strong>이라고 합니다.</p>



<p>RAM = 4GB<br>프로그램 실행 = 5GB 필요<br>4GB → RAM<br>1GB → Swap<br>RAM 부족 → 일부 데이터를 디스크로 이동</p>



<p>단, Swap은 <strong>디스크</strong>를 사용하기 때문에 매우 느립니다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">MiB Swap:   4008.0 total,   4008.0 free,      0.0 used.   3109.2 avail Mem</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>의미</th></tr></thead><tbody><tr><td>total</td><td>swap 전체</td></tr><tr><td>free</td><td>남은 swap</td></tr><tr><td>used</td><td>사용된 swap</td></tr><tr><td>avail Mem</td><td>실제 사용 가능한 메모리</td></tr></tbody></table></figure>



<p>현재 상태</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>값</th></tr></thead><tbody><tr><td>swap total</td><td>4GB</td></tr><tr><td>swap used</td><td>0</td></tr></tbody></table></figure>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/27a1.png" alt="➡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>swap 사용 없음 (아주 좋은 상태)</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h3 class="wp-block-heading">5&#x20e3; 프로세스 정보 영역 (Process List)</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
     28 root      20   0       0      0      0 I   0.3   0.0   0:00.17 kworker/1:0-events
      1 root      20   0   49176  40952  10468 S   0.0   1.1   0:02.13 systemd
.... 생략</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>의미</th></tr></thead><tbody><tr><td>PID</td><td>프로세스 ID</td></tr><tr><td>USER</td><td>프로세스를 실행한 사용자</td></tr><tr><td>PR</td><td>프로세스 우선순위 (Priority)</td></tr><tr><td>NI</td><td>nice 값 (우선순위 조정 값)</td></tr><tr><td>VIRT</td><td>가상 메모리 사용량</td></tr><tr><td>RES</td><td>실제 RAM 사용량</td></tr><tr><td>SHR</td><td>다른 프로세스와 공유하는 메모리</td></tr><tr><td>S</td><td>프로세스 상태</td></tr><tr><td>%CPU</td><td>CPU 사용률</td></tr><tr><td>%MEM</td><td>메모리 사용률</td></tr><tr><td>TIME+</td><td>CPU 사용 누적 시간</td></tr><tr><td>COMMAND</td><td>실행된 명령어</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">PID (Process ID)</h4>



<p>프로세스의 <strong>고유 번호</strong>입니다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 리눅스에서 systemd은 항상 PID 1
# 리눅스 시스템의 최초 프로세스

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0   49176  40952  10468 S   0.0   1.1   0:02.15 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.02 kthreadd
      3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_workqueue_release
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_gp
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-sync_wq
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-slub_flushwq
      7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-netns
      9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri
     12 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-mm_percpu_wq
     14 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_kthread
     15 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_rude_kthread
     16 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_trace_kthread
     17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/0
     18 root      20   0       0      0      0 I   0.0   0.0   0:00.02 rcu_preempt
     19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_exp_par_gp_kthread_worker/1
     20 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_exp_gp_kthread_worker
     21 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/0
     22 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/0
     23 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0
     24 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1
     25 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/1
     26 root      rt   0       0      0      0 S   0.0   0.0   0:00.53 migration/1
     27 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/1
     29 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/1:0H-events_highpri
     30 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/2
     31 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 idle_inject/2
     32 root      rt   0       0      0      0 S   0.0   0.0   0:00.53 migration/2
     33 root      20   0       0      0      0 S   0.0   0.0   0:00.00 ksoftirqd/2
     35 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/2:0H-events_highpri

... 생략
</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">PR (Priority)</h4>



<p>프로세스의 <strong>실제 스케줄러 우선순위</strong><br>(일반적으로 PR = 20 이 기본)</p>



<p>일반 프로세스는 PR = 20 + NI, 실시간 프로세스는 PR이 -100 등으로 낮게 표시됨</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>값</th><th>의미</th></tr></thead><tbody><tr><td>낮을수록</td><td>높은 우선순위</td></tr><tr><td>높을수록</td><td>낮은 우선순위</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">NI (Nice Value)</h4>



<p>CPU 우선순위를 조정하는 값 (-20 ~ 19)</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>값</th><th>의미</th></tr></thead><tbody><tr><td>-20</td><td>최고 우선순위</td></tr><tr><td>0</td><td>기본</td></tr><tr><td>19</td><td>가장 낮음</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">VIRT (Virtual Memory)</h4>



<p>프로세스가 확보한 가상 메모리 전체. </p>



<p>실제로 물리 메모리(RES)나 스왑을 사용하지 않더라도, 주소 공간만 확보한 경우도 포함.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">RAM
Swap
Shared library
Mapped file

#즉, 프로세스가 접근 가능한 전체 메모리 공간</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">RES (Resident Memory)</h4>



<p>실제 물리 메모리에 상주하는 크기. (프로세스가 현재 사용 중인 RAM)</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">실제 물리 메모리 사용량

systemd
RES = 40952 KB (약 40MB RAM 사용)</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">SHR (Shared Memory)</h4>



<p>공유 메모리 영역. 주로 공유 라이브러리(예: libc)가 여러 프로세스에서 공유되는 부분.</p>



<p>특히&nbsp;<code>SHR</code>은 다른 프로세스와 공유되므로, 모든 프로세스의 SHR을 합치면 전체 메모리보다 커질 수 있습니다. (중복 포함)</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">대표적으로 shared library 
libc
glibc</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">S (Process State)</h4>



<p>프로세스 상태를 나타냅니다.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>상태</th><th>의미</th></tr></thead><tbody><tr><td>R</td><td>Running (실행 중)</td></tr><tr><td>S</td><td>Sleeping (대기 상태)</td></tr><tr><td>D</td><td>I/O 대기</td></tr><tr><td>T</td><td>중지됨</td></tr><tr><td>Z</td><td>Zombie</td></tr><tr><td>I</td><td>Idle kernel thread</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">%CPU</h4>



<p>프로세스가 사용한 <strong>CPU 비율</strong></p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">%MEM</h4>



<p>전체 메모리 중 해당 프로세스가 사용하는 비율</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">TIME+</h4>



<p>프로세스가 사용한 <strong>총 CPU 시간</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">TIME+ 형식 / 분:초.센티초

0:02.13 => 2.13초 동안 CPU 사용
1:30.00 => 1분 30초</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">COMMAND</h4>



<p>실행 중인 <strong>프로그램 이름</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">systemd
kworker
sshd
bash</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> top에서 자주 보이는 커널/시스템 프로세스 10개</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>프로세스</th><th>역할</th></tr></thead><tbody><tr><td>systemd</td><td>시스템 관리자</td></tr><tr><td>kworker</td><td>커널 작업 처리</td></tr><tr><td>ksoftirqd</td><td>인터럽트 처리</td></tr><tr><td>rcu</td><td>동시성 관리</td></tr><tr><td>migration</td><td>CPU 작업 이동</td></tr><tr><td>kthreadd</td><td>커널 스레드 생성</td></tr><tr><td>kswapd</td><td>swap 관리</td></tr><tr><td>kcompactd</td><td>메모리 정리</td></tr><tr><td>cpuhp</td><td>CPU hotplug 관리</td></tr><tr><td>idle_inject</td><td>CPU idle 관리</td></tr></tbody></table></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">systemd</h4>



<p>리눅스 시스템의 첫 번째 프로세스 (PID 1)</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 역할 - 리눅스 전체 시스템 관리자
시스템 초기화
서비스 관리
데몬 실행
시스템 종료 관리

# 예
systemctl start sshd
systemctl stop httpd</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">kworker</h4>



<p>커널의 백그라운드 작업 처리 스레드 / 특정 CPU에 바인딩된 워커 스레드</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">kworker/1:0-events

# 역할
비동기 커널 작업 처리
장치 드라이버 작업
I/O 처리

kworker/1:0처럼 숫자가 붙은 것이 바인딩된 워커
ukworker/u512처럼 u가 붙은 것은 unbound(특정 CPU에 바인딩되지 않은) 워커</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">ksoftirqd</h4>



<p>소프트웨어 인터럽트 처리 스레드</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ksoftirqd/0

# 역할
네트워크 패킷 처리
인터럽트 후 작업 처리
soft interrupt 처리</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">rcu</h4>



<p>멀티코어 환경에서 데이터 동기화</p>



<p>RCU (Read Copy Update) 관리 스레드 &#8211; RCU는 리눅스 커널의 <strong>동시성 제어 기술</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">rcu_preempt
rcu_tasks_kthread</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">migration</h4>



<p>CPU 작업 이동 관리 &#8211; 프로세스를 다른 CPU 코어로 이동</p>



<p>CPU 간 부하 분산(load balancing)을 위해 프로세스를 이동시킨다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">migration/0
migration/1

CPU load balancing</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">kthreadd</h4>



<p>PID 2 </p>



<p>커널 스레드의 부모 프로세스로 모든 커널 스레드 생성</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">kswapd</h4>



<p>메모리 관리 스레드 / 메모리 부족 시 swap 관리</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">RAM 부족
→ 페이지 교체
→ swap 사용</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">kcompactd</h4>



<p>메모리 조각 정리 스레드 / 메모리 조각화 해결</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">큰 메모리 블록 필요
→ 메모리 재배치</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">cpuhp</h4>



<p>CPU Hotplug 관리 / CPU 활성화/비활성화 관리</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cpuhp/0

CPU online/offline</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">idle_inject</h4>



<p>CPU idle 상태 관리 / CPU 전력 관리</p>



<p>CPU가 유휴 상태일 때 전력 절감을 위해 idle을 주입하는 스레드</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CPU idle 상태 유지</pre>



<p></p>
<p>The post <a href="https://lycos7560.com/etc/top-%eb%aa%85%eb%a0%b9%ec%96%b4-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac-linux-top/40541/">top 명령어 핵심 정리 &#8211; Linux top</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/top-%eb%aa%85%eb%a0%b9%ec%96%b4-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac-linux-top/40541/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>openssh-server 설치 명령어 / SSH (Secure Shell)</title>
		<link>https://lycos7560.com/etc/openssh-server-%ec%84%a4%ec%b9%98-%eb%aa%85%eb%a0%b9%ec%96%b4-ssh-secure-shell/40533/</link>
					<comments>https://lycos7560.com/etc/openssh-server-%ec%84%a4%ec%b9%98-%eb%aa%85%eb%a0%b9%ec%96%b4-ssh-secure-shell/40533/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 19:51:37 +0000</pubDate>
				<category><![CDATA[기타]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40533</guid>

					<description><![CDATA[<p>SSH (Secure Shell) 🔐 SSH란? 네트워크를 통해 원격 컴퓨터에 안전하게 접속하기 위한 프로토콜입니다. 기존의 telnet, rsh 등이 평문(암호화 없이) 통신했던 것을 암호화된 통신으로 대체합니다. 📦 구성 요소 구성 설명 openssh SSH 핵심 라이브러리 openssh-server 서버 측 데몬 (sshd) — 방금 설치한 것 openssh-clients 클라이언트 측 (ssh, scp, sftp 명령어) 🔑 인증 방식 1. 비밀번호 인증 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/openssh-server-%ec%84%a4%ec%b9%98-%eb%aa%85%eb%a0%b9%ec%96%b4-ssh-secure-shell/40533/">openssh-server 설치 명령어 / SSH (Secure Shell)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-997d744c      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ssh-secure-shell" class="uagb-toc-link__trigger">SSH (Secure Shell)</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ssh란" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SSH란?</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#구성-요소" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 구성 요소</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#인증-방식" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f511.png" alt="🔑" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 인증 방식</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#주요-설정-파일" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 주요 설정 파일</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#서비스-시작" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 서비스 시작</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#보안-핵심-포인트" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 보안 핵심 포인트</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#패키지-상세-정보" class="uagb-toc-link__trigger">패키지 상세 정보</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#설치-파일-목록-확인" class="uagb-toc-link__trigger">설치 파일 목록 확인</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#설치되는-의존성-패키지-확인" class="uagb-toc-link__trigger">설치되는 의존성 패키지 확인</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">SSH (Secure Shell)</h2>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SSH란?</h3>



<p>네트워크를 통해 <strong>원격 컴퓨터에 안전하게 접속</strong>하기 위한 프로토콜입니다. </p>



<p>기존의 telnet, rsh 등이 평문(암호화 없이) 통신했던 것을 <strong>암호화된 통신</strong>으로 대체합니다.</p>



<ul class="wp-block-list">
<li>기본 포트: <strong>22번</strong></li>



<li>현재 표준: <strong>SSH-2</strong> (SSH-1은 보안 취약점으로 사용 안 함)</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># SSH 동작 구조
Client (ssh)
     ↓
암호화 통신
     ↓
Server (sshd)

# SSH 접속 과정
1 Client → Server 연결
2 Key 교환
3 암호화 알고리즘 협상
4 사용자 인증
5 세션 생성

# SSH 로그 확인
journalctl -u sshd
또는
/var/log/secure</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 구성 요소</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>구성</th><th>설명</th></tr></thead><tbody><tr><td><strong>openssh</strong></td><td>SSH 핵심 라이브러리</td></tr><tr><td><strong>openssh-server</strong></td><td>서버 측 데몬 (<code>sshd</code>) — 방금 설치한 것</td></tr><tr><td><strong>openssh-clients</strong></td><td>클라이언트 측 (<code>ssh</code>, <code>scp</code>, <code>sftp</code> 명령어)</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f511.png" alt="🔑" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 인증 방식</h3>



<p><strong>1. 비밀번호 인증</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">클라이언트 → 서버에 ID/PW 입력</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<p><strong>2. 키 기반 인증 (더 안전, 실무 권장)</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">개인키(Private Key) — 클라이언트 보관
공개키(Public Key)  — 서버에 등록</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<p>bash</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ssh-keygen                       # 키 생성
ssh-copy-id user@서버IP           # 공개키 서버에 등록</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 주요 설정 파일</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>파일</th><th>역할</th></tr></thead><tbody><tr><td><code>/etc/ssh/sshd_config</code></td><td><strong>서버 핵심 설정</strong> (포트, 인증방식 등)</td></tr><tr><td><code>/etc/ssh/sshd_config.d/50-redhat.conf</code></td><td>Rocky/RHEL 기본 설정</td></tr><tr><td><code>/etc/pam.d/sshd</code></td><td>PAM 인증 연동 설정</td></tr><tr><td><code>/etc/sysconfig/sshd</code></td><td>sshd 서비스 환경변수</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 서비스 시작</h3>



<p>bash</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo systemctl start sshd       # 시작
sudo systemctl enable sshd      # 부팅 시 자동 시작
sudo systemctl enable --now sshd  # 부팅 시 자동 시작 + 지금 당장 시작
sudo systemctl status sshd      # 상태 확인</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 보안 핵심 포인트</h3>



<ul class="wp-block-list">
<li><strong>포트 변경</strong> — 기본 22번에서 다른 포트로 변경 권장</li>



<li><strong>root 로그인 차단</strong> — <code>PermitRootLogin no</code></li>



<li><strong>비밀번호 인증 비활성화</strong> — 키 인증만 허용</li>



<li><strong>방화벽 설정</strong> — 허용된 IP만 접근 가능하도록</li>
</ul>



<p></p>



<h3 class="wp-block-heading">패키지 상세 정보</h3>



<p>공식 홈페이지 <a href="https://www.openssh.org/portable.html" target="_blank" rel="noreferrer noopener">https://www.openssh.org/portable.html</a></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 패키지 상세 정보 (버전, 크기, 의존성 등)
dnf info openssh-server</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[lycos7560@DMT-RL01 ~]$ dnf info openssh-server
Rocky Linux 10 - BaseOS                          7.7 MB/s | 14 MB    00:01
Rocky Linux 10 - AppStream                       2.4 MB/s | 2.2 MB   00:00
Rocky Linux 10 - Extras                          9.6 kB/s | 6.0 kB   00:00
Installed Packages
Name         : openssh-server
Version      : 9.9p1      #현재 설치된 버전 확인 → 보안 취약점(CVE) 이 해당 버전에 있는지 체크
Release      : 12.el10_1.rocky.0.1     #el10 = RHEL/Rocky 10 전용 빌드
Architecture : x86_64
Size         : 1.4 M
Source       : openssh-9.9p1-12.el10_1.rocky.0.1.src.rpm    #어떤 소스 RPM으로 빌드됐는지 추적 가능
Repository   : @System    #@System = 이미 설치된 패키지
From repo    : baseos     #baseos = Rocky Linux 공식 저장소에서 설치됨 → 신뢰할 수 있는 출처 확인용
Summary      : An open source SSH server daemon
URL          : http://www.openssh.com/portable.html
License      : BSD-3-Clause AND BSD-2-Clause AND ISC AND SSH-OpenSSH AND ssh-keyscan AND sprintf AND LicenseRef-Fedora-Public-Domain AND
             : X11-distribute-modifications-variant
Description  : OpenSSH is a free version of SSH (Secure SHell), a program for logging
             : into and executing commands on a remote machine. This package contains
             : the secure shell daemon (sshd). The sshd daemon allows SSH clients to
             : securely connect to your SSH server.</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">설치 파일 목록 확인</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 어떤 파일들이 설치되는지 목록 확인
dnf repoquery -l openssh-server | less

# less
↑↓ 또는 j/k 로 스크롤
q 로 종료
/키워드 로 검색</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[lycos7560@DMT-RL01 ~]$ dnf repoquery -l openssh-server | less
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/ssh/sshd_config.d
/etc/ssh/sshd_config.d/40-redhat-crypto-policies.conf
/etc/ssh/sshd_config.d/50-redhat.conf
/etc/sysconfig/sshd
/usr/lib/.build-id
/usr/lib/.build-id/06
/usr/lib/.build-id/06/1c704bdb361c2e2c48c670468eafbc74b84927
/usr/lib/.build-id/57
/usr/lib/.build-id/57/9225214b8a13e39081dd8aa43fbd36e524f19c
/usr/lib/.build-id/9c
/usr/lib/.build-id/9c/f8143dfdfc74c6c9d0e90afd0ec92e8663c759
/usr/lib/systemd/system/ssh-host-keys-migration.service
/usr/lib/systemd/system/ssh-host-keys-migration.target
/usr/lib/systemd/system/sshd-keygen@.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/lib/sysusers.d/openssh-server.conf
/usr/libexec/openssh/sftp-server
/usr/libexec/openssh/ssh-host-keys-migration.sh
/usr/libexec/openssh/sshd-keygen
/usr/libexec/openssh/sshd-session
/usr/sbin/sshd
/usr/share/empty.sshd
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/lib/.ssh-host-keys-migration
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/ssh/sshd_config.d
/etc/ssh/sshd_config.d/40-redhat-crypto-policies.conf
/etc/ssh/sshd_config.d/50-redhat.conf
/etc/sysconfig/sshd
/usr/lib/.build-id
/usr/lib/.build-id/0e
/usr/lib/.build-id/0e/106f434f63522d0cbc3da80690094ec44ec56e
/usr/lib/.build-id/17
/usr/lib/.build-id/17/3d9a1c99482d77a79428b6d7779247b2f90e57
/usr/lib/.build-id/cf
/usr/lib/.build-id/cf/dde200fededbedd053eae13337cc9d3e8b0625
/usr/lib/systemd/system/ssh-host-keys-migration.service
/usr/lib/systemd/system/ssh-host-keys-migration.target
/usr/lib/systemd/system/sshd-keygen@.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/lib/sysusers.d/openssh-server.conf
/usr/libexec/openssh/sftp-server
/usr/libexec/openssh/ssh-host-keys-migration.sh
/usr/libexec/openssh/sshd-keygen
/usr/libexec/openssh/sshd-session
/usr/sbin/sshd
/usr/share/empty.sshd
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/lib/.ssh-host-keys-migration
(END)</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">설치되는 의존성 패키지 확인</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 어떤 파일들이 설치되는지 목록 확인
dnf deplist openssh-server | less</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[lycos7560@DMT-RL01 ~]$ dnf deplist openssh-server | less
package: openssh-server-9.9p1-11.el10.rocky.0.1.x86_64
  dependency: /bin/sh
    provider: bash-5.2.26-6.el10.x86_64
  dependency: /usr/bin/bash
    provider: bash-5.2.26-6.el10.x86_64
  dependency: /usr/sbin/useradd
    provider: shadow-utils-2:4.15.0-8.el10.x86_64
  dependency: crypto-policies >= 20220824-1
    provider: crypto-policies-20250905-2.gitc7eb7b2.el10_1.1.noarch
  dependency: libaudit.so.1()(64bit)
    provider: audit-libs-4.0.3-4.el10.x86_64
  dependency: libc.so.6(GLIBC_2.38)(64bit)
    provider: glibc-2.39-58.el10_1.7.x86_64
  dependency: libcom_err.so.2()(64bit)
    provider: libcom_err-1.47.1-4.el10.x86_64
  dependency: libcrypt.so.2()(64bit)
    provider: libxcrypt-4.4.36-10.el10.x86_64
  dependency: libcrypt.so.2(XCRYPT_2.0)(64bit)
    provider: libxcrypt-4.4.36-10.el10.x86_64
  dependency: libcrypto.so.3()(64bit)
    provider: openssl-libs-1:3.5.1-7.el10_1.x86_64
  dependency: libcrypto.so.3(OPENSSL_3.0.0)(64bit)
    provider: openssl-libs-1:3.5.1-7.el10_1.x86_64
  dependency: libgssapi_krb5.so.2()(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libkrb5.so.3()(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libkrb5.so.3(krb5_3_MIT)(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libpam.so.0()(64bit)
    provider: pam-libs-1.6.1-8.el10.x86_64
  dependency: libpam.so.0(LIBPAM_1.0)(64bit)
    provider: pam-libs-1.6.1-8.el10.x86_64
  dependency: libselinux.so.1()(64bit)
    provider: libselinux-3.9-1.el10.x86_64
  dependency: libselinux.so.1(LIBSELINUX_1.0)(64bit)
    provider: libselinux-3.9-1.el10.x86_64
  dependency: libz.so.1()(64bit)
    provider: zlib-ng-compat-2.2.3-3.el10_1.x86_64
  dependency: openssh = 9.9p1-11.el10.rocky.0.1
    provider: openssh-9.9p1-11.el10.rocky.0.1.x86_64
  dependency: pam >= 1.0.1-3
    provider: pam-1.6.1-8.el10.x86_64
  dependency: rtld(GNU_HASH)
    provider: glibc-2.39-58.el10_1.7.x86_64
  dependency: systemd
    provider: systemd-257-13.el10.rocky.0.1.x86_64

package: openssh-server-9.9p1-12.el10_1.rocky.0.1.x86_64
  dependency: /bin/sh
    provider: bash-5.2.26-6.el10.x86_64
  dependency: /usr/bin/bash
    provider: bash-5.2.26-6.el10.x86_64
  dependency: /usr/sbin/useradd
    provider: shadow-utils-2:4.15.0-8.el10.x86_64
  dependency: crypto-policies >= 20220824-1
    provider: crypto-policies-20250905-2.gitc7eb7b2.el10_1.1.noarch
  dependency: libaudit.so.1()(64bit)
    provider: audit-libs-4.0.3-4.el10.x86_64
  dependency: libc.so.6(GLIBC_2.38)(64bit)
    provider: glibc-2.39-58.el10_1.7.x86_64
  dependency: libcom_err.so.2()(64bit)
    provider: libcom_err-1.47.1-4.el10.x86_64
  dependency: libcrypt.so.2()(64bit)
    provider: libxcrypt-4.4.36-10.el10.x86_64
  dependency: libcrypt.so.2(XCRYPT_2.0)(64bit)
    provider: libxcrypt-4.4.36-10.el10.x86_64
  dependency: libcrypto.so.3()(64bit)
    provider: openssl-libs-1:3.5.1-7.el10_1.x86_64
  dependency: libcrypto.so.3(OPENSSL_3.0.0)(64bit)
    provider: openssl-libs-1:3.5.1-7.el10_1.x86_64
  dependency: libgssapi_krb5.so.2()(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libkrb5.so.3()(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libkrb5.so.3(krb5_3_MIT)(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libpam.so.0()(64bit)
    provider: pam-libs-1.6.1-8.el10.x86_64
  dependency: libpam.so.0(LIBPAM_1.0)(64bit)
    provider: pam-libs-1.6.1-8.el10.x86_64
  dependency: libselinux.so.1()(64bit)
    provider: libselinux-3.9-1.el10.x86_64
  dependency: libselinux.so.1(LIBSELINUX_1.0)(64bit)
    provider: libselinux-3.9-1.el10.x86_64
  dependency: libz.so.1()(64bit)
    provider: zlib-ng-compat-2.2.3-3.el10_1.x86_64
  dependency: openssh = 9.9p1-12.el10_1.rocky.0.1
    provider: openssh-9.9p1-12.el10_1.rocky.0.1.x86_64
  dependency: pam >= 1.0.1-3
    provider: pam-1.6.1-8.el10.x86_64
  dependency: /usr/sbin/useradd
    provider: shadow-utils-2:4.15.0-8.el10.x86_64
  dependency: crypto-policies >= 20220824-1
    provider: crypto-policies-20250905-2.gitc7eb7b2.el10_1.1.noarch
  dependency: libaudit.so.1()(64bit)
    provider: audit-libs-4.0.3-4.el10.el10.x86_64
  dependency: libc.so.6(GLIBC_2.38)(64bit)
    provider: glibc-2.39-58.el10_1.7.x86_64
  dependency: libcom_err.so.2()(64bit)
    provider: libcom_err-1.47.1-4.el10.x86_64
  dependency: libcrypt.so.2()(64bit)
    provider: libxcrypt-4.4.36-10.el10.x86_64
  dependency: libcrypt.so.2(XCRYPT_2.0)(64bit)
    provider: libxcrypt-4.4.36-10.el10.x86_64
  dependency: libcrypto.so.3()(64bit)
    provider: openssl-libs-1:3.5.1-7.el10_1.x86_64
  dependency: libcrypto.so.3(OPENSSL_3.0.0)(64bit)
    provider: openssl-libs-1:3.5.1-7.el10_1.x86_64
  dependency: libgssapi_krb5.so.2()(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libkrb5.so.3()(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libkrb5.so.3(krb5_3_MIT)(64bit)
    provider: krb5-libs-1.21.3-8.el10_0.x86_64
  dependency: libpam.so.0()(64bit)
    provider: pam-libs-1.6.1-8.el10.x86_64
  dependency: libpam.so.0(LIBPAM_1.0)(64bit)
    provider: pam-libs-1.6.1-8.el10.x86_64
  dependency: libselinux.so.1()(64bit)
    provider: libselinux-3.9-1.el10.x86_64
  dependency: libselinux.so.1(LIBSELINUX_1.0)(64bit)
    provider: libselinux-3.9-1.el10.x86_64
  dependency: libz.so.1()(64bit)
    provider: zlib-ng-compat-2.2.3-3.el10_1.x86_64
  dependency: openssh = 9.9p1-12.el10_1.rocky.0.1
    provider: openssh-9.9p1-12.el10_1.rocky.0.1.x86_64
  dependency: pam >= 1.0.1-3
    provider: pam-1.6.1-8.el10.x86_64
  dependency: rtld(GNU_HASH)
    provider: glibc-2.39-58.el10_1.7.x86_64
  dependency: systemd
    provider: systemd-257-13.el10.rocky.0.1.x86_64
(END)</pre>



<p></p>
<p>The post <a href="https://lycos7560.com/etc/openssh-server-%ec%84%a4%ec%b9%98-%eb%aa%85%eb%a0%b9%ec%96%b4-ssh-secure-shell/40533/">openssh-server 설치 명령어 / SSH (Secure Shell)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/openssh-server-%ec%84%a4%ec%b9%98-%eb%aa%85%eb%a0%b9%ec%96%b4-ssh-secure-shell/40533/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DNF Package Manager (DNF 패키지 관리자)</title>
		<link>https://lycos7560.com/etc/dnf-package-manager-dnf-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b4%80%eb%a6%ac%ec%9e%90/40530/</link>
					<comments>https://lycos7560.com/etc/dnf-package-manager-dnf-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b4%80%eb%a6%ac%ec%9e%90/40530/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Mon, 09 Mar 2026 21:24:53 +0000</pubDate>
				<category><![CDATA[기타]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40530</guid>

					<description><![CDATA[<p>1️⃣ DNF 란? DNF(Dandified&#160;YUM)는 Fedora, RHEL(Red Hat Enterprise Linux), CentOS, Rocky Linux 등의 RPM 기반 리눅스 배포판에서 사용하는 패키지 관리자입니다. 기존의 YUM(Yellowdog Updater Modified)을 대체하기 위해 개발되었으며, Fedora 18부터 도입되어 Fedora 22부터 기본 패키지 관리자로 채택되었습니다. YUM&#160;vs&#160;DNF&#160;비교 항목 차이 의존성&#160;해결 DNF는&#160;libsolv&#160;라이브러리&#160;사용으로&#160;훨씬&#160;빠르고&#160;정확 메모리&#160;사용 DNF가&#160;YUM보다&#160;메모리&#160;효율이&#160;높음 API DNF는&#160;Python&#160;3&#160;기반,&#160;YUM은&#160;Python&#160;2&#160;기반 성능 DNF가&#160;더&#160;빠른&#160;패키지&#160;검색&#160;및&#160;설치&#160;속도&#160;제공 호환성 DNF는&#160;YUM&#160;플러그인과&#160;일부&#160;호환 2️⃣ 기본&#160;문법 3️⃣ 자주&#160;쓰는&#160;명령어 시스템&#160;업데이트 명령어 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/dnf-package-manager-dnf-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b4%80%eb%a6%ac%ec%9e%90/40530/">DNF Package Manager (DNF 패키지 관리자)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-4b39df2d      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-dnf-란" class="uagb-toc-link__trigger">1&#xfe0f;&#x20e3; DNF 란?</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#yumvsdnf비교" class="uagb-toc-link__trigger">YUM vs DNF 비교</a></li></ul></li><li class="uagb-toc__list"><a href="#2-기본문법" class="uagb-toc-link__trigger">2&#xfe0f;&#x20e3; 기본 문법</a><li class="uagb-toc__list"><a href="#3-자주쓰는명령어" class="uagb-toc-link__trigger">3&#xfe0f;&#x20e3; 자주 쓰는 명령어</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#시스템업데이트" class="uagb-toc-link__trigger">시스템 업데이트</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#패키지설치제거" class="uagb-toc-link__trigger">패키지 설치 / 제거</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#패키지검색및정보" class="uagb-toc-link__trigger">패키지 검색 및 정보</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#저장소repository관리" class="uagb-toc-link__trigger">저장소(Repository) 관리</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#캐시관리" class="uagb-toc-link__trigger">캐시 관리</a></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#4-자주쓰는옵션" class="uagb-toc-link__trigger">4&#xfe0f;&#x20e3; 자주 쓰는 옵션</a><li class="uagb-toc__list"><a href="#5-실용예시" class="uagb-toc-link__trigger">5&#xfe0f;&#x20e3; 실용 예시</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#sudodnfupdate상세설명" class="uagb-toc-link__trigger">sudo dnf update 상세 설명</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#자동화스크립트에서사용" class="uagb-toc-link__trigger">자동화 스크립트에서 사용</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#패키지검색후설치" class="uagb-toc-link__trigger">패키지 검색 후 설치</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#특정버전설치" class="uagb-toc-link__trigger">특정 버전 설치</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#그룹패키지설치" class="uagb-toc-link__trigger">그룹 패키지 설치</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#히스토리-관리" class="uagb-toc-link__trigger">히스토리 관리</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#동기화" class="uagb-toc-link__trigger">동기화</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#패키지-의존성-확인" class="uagb-toc-link__trigger">패키지 의존성 확인</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#패키지-확인" class="uagb-toc-link__trigger">패키지 확인</a></ul></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1&#xfe0f;&#x20e3; DNF 란?</h3>



<p>DNF(Dandified&nbsp;YUM)는 Fedora, RHEL(Red Hat Enterprise Linux), CentOS, Rocky Linux 등의 RPM 기반 리눅스 배포판에서 사용하는 패키지 관리자입니다.</p>



<p>기존의 YUM(Yellowdog Updater Modified)을 대체하기 위해 개발되었으며, Fedora 18부터 도입되어 Fedora 22부터 기본 패키지 관리자로 채택되었습니다.</p>



<h4 class="wp-block-heading"><strong>YUM&nbsp;vs&nbsp;DNF&nbsp;비교</strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>항목</strong></td><td><strong>차이</strong></td></tr><tr><td>의존성&nbsp;해결</td><td>DNF는&nbsp;libsolv&nbsp;라이브러리&nbsp;사용으로&nbsp;훨씬&nbsp;빠르고&nbsp;정확</td></tr><tr><td>메모리&nbsp;사용</td><td>DNF가&nbsp;YUM보다&nbsp;메모리&nbsp;효율이&nbsp;높음</td></tr><tr><td>API</td><td>DNF는&nbsp;Python&nbsp;3&nbsp;기반,&nbsp;YUM은&nbsp;Python&nbsp;2&nbsp;기반</td></tr><tr><td>성능</td><td>DNF가&nbsp;더&nbsp;빠른&nbsp;패키지&nbsp;검색&nbsp;및&nbsp;설치&nbsp;속도&nbsp;제공</td></tr><tr><td>호환성</td><td>DNF는&nbsp;YUM&nbsp;플러그인과&nbsp;일부&nbsp;호환</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2&#xfe0f;&#x20e3; <strong>기본&nbsp;문법</strong></h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dnf [옵션] &lt;명령어> [패키지명]

# sudo를 붙여 관리자 권한으로 실행하는 것이 일반적입니다:
sudo dnf [명령어] [패키지명]</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3&#xfe0f;&#x20e3; <strong><strong>자주&nbsp;쓰는&nbsp;명령어</strong></strong></h3>



<h4 class="wp-block-heading"><strong><strong>시스템&nbsp;업데이트</strong></strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>명령어</strong></td><td><strong>설명</strong></td></tr><tr><td>sudo&nbsp;dnf&nbsp;update</td><td>설치된&nbsp;모든&nbsp;패키지를&nbsp;최신&nbsp;버전으로&nbsp;업데이트</td></tr><tr><td>sudo&nbsp;dnf&nbsp;upgrade</td><td>update와&nbsp;동일&nbsp;(오래된&nbsp;패키지&nbsp;제거&nbsp;포함&nbsp;가능)<br>&#8211; update 기존 패키지 업데이트<br>&#8211; upgrade update + obsolete 패키지 제거 가능</td></tr><tr><td>sudo&nbsp;dnf&nbsp;check-update</td><td>업데이트&nbsp;가능한&nbsp;패키지&nbsp;목록만&nbsp;확인&nbsp;(실제&nbsp;업데이트&nbsp;안&nbsp;함)</td></tr><tr><td>sudo&nbsp;dnf&nbsp;update&nbsp;패키지명</td><td>특정&nbsp;패키지만&nbsp;업데이트</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><strong><strong><strong>패키지&nbsp;설치&nbsp;/&nbsp;제거</strong></strong></strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>명령어</strong></td><td><strong>설명</strong></td></tr><tr><td>sudo&nbsp;dnf&nbsp;install&nbsp;패키지명</td><td>패키지&nbsp;설치</td></tr><tr><td>sudo&nbsp;dnf&nbsp;remove&nbsp;패키지명</td><td>패키지&nbsp;제거&nbsp;(의존성&nbsp;패키지도&nbsp;함께&nbsp;제거)</td></tr><tr><td>sudo&nbsp;dnf&nbsp;reinstall&nbsp;패키지명</td><td>패키지&nbsp;재설치</td></tr><tr><td>sudo&nbsp;dnf&nbsp;autoremove</td><td>더&nbsp;이상&nbsp;필요&nbsp;없는&nbsp;의존성&nbsp;패키지&nbsp;자동&nbsp;제거<br>&#8211; remove 패키지 제거<br>&#8211; autoremove 더 이상 필요 없는 의존성 패키지 제거</td></tr><tr><td>sudo&nbsp;dnf&nbsp;install&nbsp;파일.rpm</td><td>로컬&nbsp;RPM&nbsp;파일&nbsp;설치</td></tr><tr><td>sudo dnf install nginx git vim</td><td>패키지 여러개 설치 예시 (nginx , git, vim)</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><strong><strong><strong><strong>패키지&nbsp;검색&nbsp;및&nbsp;정보</strong></strong></strong></strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>명령어</strong></td><td><strong>설명</strong></td></tr><tr><td>dnf&nbsp;search&nbsp;키워드</td><td>패키지&nbsp;이름/설명에서&nbsp;키워드&nbsp;검색</td></tr><tr><td>dnf&nbsp;info&nbsp;패키지명</td><td>패키지&nbsp;상세&nbsp;정보&nbsp;출력&nbsp;(버전,&nbsp;크기,&nbsp;설명&nbsp;등)</td></tr><tr><td>dnf&nbsp;list&nbsp;installed</td><td>설치된&nbsp;모든&nbsp;패키지&nbsp;목록</td></tr><tr><td>dnf&nbsp;list&nbsp;available</td><td>설치&nbsp;가능한&nbsp;패키지&nbsp;목록</td></tr><tr><td>dnf&nbsp;provides&nbsp;파일경로</td><td>특정&nbsp;파일을&nbsp;제공하는&nbsp;패키지&nbsp;찾기</td></tr><tr><td>dnf&nbsp;repoquery&nbsp;패키지명</td><td>저장소에서&nbsp;패키지&nbsp;상세&nbsp;쿼리</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><strong>저장소(Repository)&nbsp;관리</strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>명령어</strong></td><td><strong>설명</strong></td></tr><tr><td>dnf&nbsp;repolist</td><td>활성화된&nbsp;저장소&nbsp;목록&nbsp;확인</td></tr><tr><td>dnf&nbsp;repolist&nbsp;all</td><td>비활성화&nbsp;포함&nbsp;전체&nbsp;저장소&nbsp;목록</td></tr><tr><td>sudo&nbsp;dnf&nbsp;config-manager&nbsp;&#8211;add-repo&nbsp;URL</td><td>저장소&nbsp;추가</td></tr><tr><td>sudo&nbsp;dnf&nbsp;config-manager&nbsp;&#8211;enable&nbsp;저장소명</td><td>저장소&nbsp;활성화</td></tr><tr><td>sudo&nbsp;dnf&nbsp;config-manager&nbsp;&#8211;disable&nbsp;저장소명</td><td>저장소&nbsp;비활성화</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><strong>캐시&nbsp;관리</strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>명령어</strong></td><td><strong>설명</strong></td></tr><tr><td>sudo&nbsp;dnf&nbsp;clean&nbsp;all</td><td>모든&nbsp;캐시&nbsp;삭제&nbsp;(패키지,&nbsp;메타데이터&nbsp;등)</td></tr><tr><td>sudo&nbsp;dnf&nbsp;clean&nbsp;packages</td><td>다운로드된&nbsp;패키지&nbsp;캐시만&nbsp;삭제</td></tr><tr><td>sudo&nbsp;dnf&nbsp;makecache</td><td>저장소&nbsp;메타데이터&nbsp;캐시&nbsp;강제&nbsp;갱신<br>(저장소 메타데이터를 미리 다운로드하여 캐시 생성)</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">4&#xfe0f;&#x20e3; <strong><strong><strong>자주&nbsp;쓰는&nbsp;옵션</strong></strong></strong></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>명령어</strong></td><td><strong>설명</strong></td></tr><tr><td>-y&nbsp;/&nbsp;&#8211;assumeyes</td><td>모든&nbsp;질문에&nbsp;자동으로&nbsp;&#8216;yes&#8217;&nbsp;응답&nbsp;(자동화&nbsp;스크립트에&nbsp;유용)</td></tr><tr><td>-q&nbsp;/&nbsp;&#8211;quiet</td><td>출력&nbsp;최소화</td></tr><tr><td>&#8211;nobest</td><td>최신&nbsp;버전&nbsp;설치&nbsp;실패&nbsp;시&nbsp;이전&nbsp;버전으로&nbsp;대체&nbsp;허용</td></tr><tr><td>&#8211;skip-broken</td><td>의존성&nbsp;충돌&nbsp;패키지를&nbsp;건너뛰고&nbsp;나머지&nbsp;설치</td></tr><tr><td>&#8211;downloadonly</td><td>설치하지&nbsp;않고&nbsp;패키지만&nbsp;다운로드</td></tr><tr><td>&#8211;downloaddir=경로</td><td>다운로드&nbsp;저장&nbsp;경로&nbsp;지정</td></tr><tr><td>&#8211;exclude=패키지명</td><td>특정&nbsp;패키지를&nbsp;업데이트/설치에서&nbsp;제외</td></tr><tr><td>&#8211;enablerepo=저장소명</td><td>비활성&nbsp;저장소를&nbsp;이번&nbsp;명령에서만&nbsp;임시&nbsp;활성화</td></tr><tr><td>&#8211;disablerepo=저장소명</td><td>이번&nbsp;명령에서만&nbsp;특정&nbsp;저장소&nbsp;비활성화</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">5&#xfe0f;&#x20e3; <strong><strong><strong><strong>실용&nbsp;예시</strong></strong></strong></strong></h3>



<h4 class="wp-block-heading"><strong>sudo&nbsp;dnf&nbsp;update&nbsp;상세&nbsp;설명</strong></h4>



<p>가장&nbsp;많이&nbsp;쓰이는&nbsp;명령어입니다.&nbsp;</p>



<p>시스템에&nbsp;설치된&nbsp;모든&nbsp;패키지를&nbsp;저장소의&nbsp;최신&nbsp;버전으로&nbsp;업데이트합니다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo dnf update</pre>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<p>실행&nbsp;시&nbsp;순서:</p>



<ul class="wp-block-list">
<li>저장소&nbsp;메타데이터&nbsp;갱신</li>



<li>업데이트&nbsp;가능한&nbsp;패키지&nbsp;목록&nbsp;계산</li>



<li>사용자에게&nbsp;변경&nbsp;사항&nbsp;요약&nbsp;출력&nbsp;후&nbsp;확인</li>



<li>패키지&nbsp;다운로드&nbsp;및&nbsp;설치/업데이트&nbsp;진행</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>자동화&nbsp;스크립트에서&nbsp;사용</strong></h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo dnf update -y
sudo dnf install -y nginx git vim</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>패키지&nbsp;검색&nbsp;후&nbsp;설치</strong></h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dnf search nginx
dnf info nginx
sudo dnf install nginx</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>특정&nbsp;버전&nbsp;설치</strong></h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo dnf install 패키지명-버전번호</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>그룹&nbsp;패키지&nbsp;설치</strong></h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo dnf groupinstall "Development Tools"
dnf grouplist</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>히스토리 관리</strong></h4>



<p>DNF로 수행한 모든 작업 기록 확인</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dnf history
dnf history info 10
sudo dnf history undo 10</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>동기화</strong></h4>



<p>저장소 기준으로 패키지 버전을 정확하게 동기화<br>(upgrade 또는 downgrade 모두 가능)</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo dnf distro-sync</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>패키지 의존성 확인</strong></h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dnf deplist nginx</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>패키지 확인</strong></h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">rpm -qa | grep nginx
또
dnf list installed | grep nginx</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="fhjUaVjTmE"><a href="https://lycos7560.com/etc/rocky-linux-10-dnf-%ec%a0%80%ec%9e%a5%ec%86%8c-%ec%b6%94%ea%b0%80/40549/">Rocky Linux 10 DNF 저장소 추가</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Rocky Linux 10 DNF 저장소 추가&#8221; &#8212; 어제와 내일의 나 그 사이의 이야기" src="https://lycos7560.com/etc/rocky-linux-10-dnf-%ec%a0%80%ec%9e%a5%ec%86%8c-%ec%b6%94%ea%b0%80/40549/embed/#?secret=6gkXJNiwAG#?secret=fhjUaVjTmE" data-secret="fhjUaVjTmE" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>The post <a href="https://lycos7560.com/etc/dnf-package-manager-dnf-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b4%80%eb%a6%ac%ec%9e%90/40530/">DNF Package Manager (DNF 패키지 관리자)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/dnf-package-manager-dnf-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b4%80%eb%a6%ac%ec%9e%90/40530/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>POSIX(Portable Operating System Interface)</title>
		<link>https://lycos7560.com/etc/posixportable-operating-system-interface/40514/</link>
					<comments>https://lycos7560.com/etc/posixportable-operating-system-interface/40514/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Sun, 08 Mar 2026 17:59:02 +0000</pubDate>
				<category><![CDATA[개인 공부 저장용]]></category>
		<category><![CDATA[기타]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40514</guid>

					<description><![CDATA[<p>POSIX Portable Operating System Interface 서로 다른 UNIX 계열 운영체제 간의 애플리케이션 호환성을 높이기 위해 IEEE가 책정한 유닉스 기반의 표준 API 규격으로 &#8216;X&#8217;는 UNIX(유닉스) 호환 운영체제를 의미하는 관습 1. 이름의 탄생 비화 (리처드 스톨먼,  Richard Stallman의 제안) https://en.wikipedia.org/wiki/POSIX 2. 구체적으로 무엇을 정의하는가? 단순히 API 함수 이름만 정하는 것이 아니라 다음 세 가지 핵심 요소를 모두 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/posixportable-operating-system-interface/40514/">POSIX(Portable Operating System Interface)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-d94b8844      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#posix" class="uagb-toc-link__trigger">POSIX</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-이름의-탄생-비화-리처드-스톨먼-richard-stallman의-제안" class="uagb-toc-link__trigger">1. 이름의 탄생 비화 (리처드 스톨먼,  Richard Stallman의 제안)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#2-구체적으로-무엇을-정의하는가" class="uagb-toc-link__trigger">2. 구체적으로 무엇을 정의하는가?</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#3-실무에서의-의미-한-번-짜서-어디든-돌린다" class="uagb-toc-link__trigger">3. 실무에서의 의미: &quot;한 번 짜서 어디든 돌린다&quot;</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">POSIX</h2>



<p>Portable Operating System Interface</p>



<ul class="wp-block-list">
<li>portable : 이식 가능한</li>



<li>Operationg System : 운영 체제</li>



<li>Interface : 인터페이스</li>



<li>X : POSIX 전체 이름에서 유닉스(UNIX) 계열임을 암시하는 관습적 접미사</li>
</ul>



<p>서로 다른 UNIX 계열 운영체제 간의 애플리케이션 호환성을 높이기 위해 </p>



<p>IEEE가 책정한 유닉스 기반의 표준 API 규격으로 &#8216;X&#8217;는 UNIX(유닉스) 호환 운영체제를 의미하는 관습</p>



<h3 class="wp-block-heading">1. 이름의 탄생 비화 (리처드 스톨먼,  <a href="https://en.wikipedia.org/wiki/Richard_Stallman" target="_blank" rel="noreferrer noopener">Richard Stallman</a>의 제안)</h3>



<p><a href="https://en.wikipedia.org/wiki/POSIX" target="_blank" rel="noreferrer noopener">https://en.wikipedia.org/wiki/POSIX</a></p>



<ul class="wp-block-list">
<li><strong>원래 이름</strong><br>IEEE 내부에서는 원래 <strong>&#8216;IEEE-IX&#8217;</strong>라고 부르려고 했습니다.</li>



<li><strong>스톨먼의 개입</strong><br>자유 소프트웨어 재단(FSF)의 <strong>리처드 스톨먼</strong>이 &#8220;IEEE-IX는 발음하기 너무 어렵다&#8221;며, <br>&#8216;Portable Operating System&#8217;의 약자에 유닉스 느낌의 &#8216;IX&#8217;를 붙인 <strong>POSIX(포직스)</strong>를 제안했습니다.</li>



<li><strong>채택 이유</strong><br>이 이름이 훨씬 부르기 쉽고 기억에 잘 남는다는 이유로 위원회에서 즉시 채택되었습니다.</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2. 구체적으로 무엇을 정의하는가?</h3>



<p>단순히 API 함수 이름만 정하는 것이 아니라 다음 세 가지 핵심 요소를 모두 포함합니다.</p>



<ul class="wp-block-list">
<li><strong>C 언어 API</strong><br><code>open()</code>, <code>read()</code>, <code>write()</code> 같은 시스템 콜의 함수 이름, 인자, 반환 값, 오류 처리 방식까지 동작 전반을 규정합니다.</li>



<li><strong>셸(Shell) 및 유틸리티</strong><br><code>ls</code>, <code>grep</code>, <code>cd</code> 같은 기본 명령어들이 어떤 옵션을 지원하고 어떤 결과를 출력해야 하는지 정의합니다.</li>



<li><strong>파일 시스템 및 프로세스</strong><br><code>/usr</code>, <code>/tmp</code> 같은 파일 경로 구조와 프로세스 생성(<code>fork</code>)·종료 방식 등 OS의 근간이 되는 동작 방식을 표준화 합니다.</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3. 실무에서의 의미: &#8220;한 번 짜서 어디든 돌린다&#8221;</h3>



<ul class="wp-block-list">
<li><strong>개발 효율성</strong><br>POSIX 표준을 준수하여 프로그램을 만들면, 코드를 거의 수정하지 않고도 Linux, macOS, BSD 등 다양한 운영체제에서 바로 컴파일하여 실행할 수 있습니다.</li>



<li><strong>호환성 확인</strong><br>어떤 시스템이 &#8220;POSIX 준수(Compliant)&#8221;라고 하면, 개발자는 &#8220;내 프로그램이 이 OS에서도 문제없이 돌아가겠구나&#8221;라고 신뢰할 수 있게 됩니다.</li>



<li><strong>호환성의 한계</strong><br>다만 Windows는 기본적으로 POSIX를 준수하지 않습니다. <br>WSL(Windows Subsystem for Linux)을 통해 부분적으로 지원하지만, <br>네이티브 Windows 환경에서는 동일한 코드가 동작하지 않을 수 있다는 점을 염두에 두어야 합니다.</li>
</ul>



<p></p>
<p>The post <a href="https://lycos7560.com/etc/posixportable-operating-system-interface/40514/">POSIX(Portable Operating System Interface)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/posixportable-operating-system-interface/40514/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>grep 명령어 (Command) &#8211; AIX 6.1</title>
		<link>https://lycos7560.com/aix/grep-%eb%aa%85%eb%a0%b9%ec%96%b4-command-aix-6-3/40510/</link>
					<comments>https://lycos7560.com/aix/grep-%eb%aa%85%eb%a0%b9%ec%96%b4-command-aix-6-3/40510/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Sun, 08 Mar 2026 17:08:28 +0000</pubDate>
				<category><![CDATA[AIX]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40510</guid>

					<description><![CDATA[<p>grep 명령어 (Command) 목적 (Purpose) 파일에서 패턴을 검색합니다. 구문 (Syntaax) 구문 (Syntaax) 파일에서 패턴을 검색합니다. grep 명령어는 Pattern 매개변수로 지정된 패턴을 검색하고, 일치하는 가 줄을 표준 출력(Standard output)으로 기록합니다. 이 패턴들을 ed 또는 egrep 명령어 스타일의 제한된 정규(regular expressions)입니다. grep 명령어는 컴팩트한 비결정적(non-deterministic) 알고리즘을 사용합니다.&#8211; grep은 메모리를 적게 쓰면서도(Compact), 모든 가능성을 유연하게 탐색하는(Non-deterministic) 수학적 모델을 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/aix/grep-%eb%aa%85%eb%a0%b9%ec%96%b4-command-aix-6-3/40510/">grep 명령어 (Command) &#8211; AIX 6.1</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-6439b8b3      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#grep-명령어-command" class="uagb-toc-link__trigger">grep 명령어 (Command)</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#목적-purpose" class="uagb-toc-link__trigger">목적 (Purpose)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#구문-syntaax" class="uagb-toc-link__trigger">구문 (Syntaax)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#구문-syntaax" class="uagb-toc-link__trigger">구문 (Syntaax)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#참고-notes" class="uagb-toc-link__trigger">참고 (Notes)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#플래그-flags" class="uagb-toc-link__trigger">플래그 (Flags)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#종료-상태-exit-status" class="uagb-toc-link__trigger">종료 상태 (Exit Status)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#예제-examples" class="uagb-toc-link__trigger">예제 (Examples)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#파일-files" class="uagb-toc-link__trigger">파일 (Files)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#관련-참조-related-reference" class="uagb-toc-link__trigger">관련 참조 (Related reference):</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#관련-정보-related-information" class="uagb-toc-link__trigger">관련 정보 (Related information):</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#원문" class="uagb-toc-link__trigger">원문</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">grep 명령어 (Command)</h2>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">목적 (Purpose)</h3>



<p>파일에서 패턴을 검색합니다.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">구문 (Syntaax)</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">grep [ -E | -F ] [ -i ] [ -h ] [ -H ] [ -L ] [ -r | -R ] [ -s ][ -u ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ [ -b ] [ -n ] ] | [ -c |-l | -q ] ] 
[ -p [ Separator ] ] { [ -e PatternList ... ] [ -f PatternFile ... ] | PatternList ... } [ File ... ]</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">구문 (Syntaax)</h3>



<p>파일에서 패턴을 검색합니다.</p>



<p><strong><code>grep</code></strong> 명령어는 <strong>Pattern</strong> 매개변수로 지정된 패턴을 검색하고, 일치하는 가 줄을 표준 출력(Standard output)으로 기록합니다. </p>



<p>이 패턴들을 <strong><code>ed</code> </strong>또는 <code><strong>egrep</strong> </code>명령어 스타일의 제한된 정규(regular expressions)입니다.</p>



<p><strong><code><code>grep</code></code></strong> 명령어는 컴팩트한 비결정적(non-deterministic) 알고리즘을 사용합니다.<br>&#8211; <code><strong>grep</strong></code>은 메모리를 적게 쓰면서도(Compact), 모든 가능성을 유연하게 탐색하는(Non-deterministic) 수학적 모델을 사용하여 줄 단위로 검색 결과를 뽑아낸다는 뜻</p>



<p><code><strong>File</strong></code> 매개변수에 둘 이상의 이름을 지정하면 <code><strong>grep</strong></code> 명령어는 일치하는 줄이 포함된 파일의 이름을 표시합니다.</p>



<p>쉘(shell)에 특별한 의미가 있는 문자(<code>$</code>, <code>*</code>, <code>[</code>, <code>|</code>, <code>^</code>, <code>(</code>, <code>)</code>, <code>\</code> )가 <strong><code>Pattern</code> </strong>매개변수에 포함될 경우 반드시 따옴표로 묶어야 합니다.</p>



<p><code><strong>Pattern</strong></code> 매개변수가 단순한 문자열이 아닌 경우, 일반적으로 전체 패턴을 작은따옴표(&#8216; &#8216;)로 묶어야 합니다.</p>



<p><code><strong>[a-z]</strong></code>와 같은 표현식에서 <code><strong>-</strong></code> (빼기 기호)는 현재 데이터 정렬 순서(collating sequence)에 따라 범위를 지정합니다.</p>



<p>데이터 정렬 순서는 문자 범위에 사용할 동치 클래스(equivalence classes)를 정의할 수 있습니다. </p>



<p>지정된 파일이 없는 경우, <code><strong>grep</strong></code>은 표준 입력(standard input)을 가정합니다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># [a-z]와 데이터 정렬 순서
시스템의 설정에 따라서 아래와 같은 순서 가능하다.
a, A, b, B, c, C...
a, b, c... A, B, C...

# 동치 클래스 (Equivalence Classes)
프랑스어의 é, è, ê 같은 글자들은 다 'e' 계열
[[=e=]]라고 쓰면 e와 비슷하게 생긴 모든 글자를 한꺼번에 찾아주겠다는 기능

# 지정된 파일이 없으면 표준 입력(Standard Input)
보통 쓸 때: grep "error" log.txt (파일에서 찾음)
파일 안 쓸 때: cat log.txt | grep "error" (앞의 cat이 넘겨준 표준 입력에서 찾음)</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">참고 (Notes)</h3>



<ul class="wp-block-list">
<li>예측할 수 없는 결과를 초래할 수 있으므로 특수 파일(special file)에서 <code><strong>grep</strong></code> 명령어를 실행하지 마십시오. <br>입력 줄에는<strong> <code>NULL</code></strong> 문자가 포함되어서는 안 됩니다.</li>



<li>입력 파일은 줄 바꿈(newline) 문자로 끝나야 합니다.</li>



<li>줄 바꿈 문자는 정규식과 일치하지 않습니다.</li>



<li>일부 플래그는 동시에 지정할 수 있지만, 특정 플래그는 다른 플래그를 무시(override)합니다. <br>예를 들어,<strong> <code>-l</code> </strong>옵션은 다른 모든 플래그보다 우선합니다. 또한 <code><strong>-E</strong></code> 및 <code><strong>-F</strong></code> 플래그를 모두 지정하는 경우 마지막에 지정된 것이 우선순위를 갖습니다.</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">플래그 (Flags)</h3>



<p><strong><code>-b</code></strong>: 각 줄 앞에 해당 줄이 발견된 블록 번호를 표시합니다. <br>이 플래그를 사용하면 문맥별로 디스크 블록 번호를 찾는 데 도움이 됩니다. <br><code>-b</code> 플래그는 표준 입력(stdin)이나 파이프(pipes)의 입력과 함께 사용할 수 없습니다.</p>



<p><strong><code>-c</code></strong>: 일치하는 줄의 개수(count)만 표시합니다.</p>



<p><strong><code>-E</code></strong>: 지정된 각 패턴을 확장 정규식(ERE)으로 취급합니다.<strong> <code>NULL</code></strong> 값의 ERE는 모든 줄과 일치합니다.</p>



<ul class="wp-block-list">
<li><em>참고</em>: <code>-E</code> 플래그를 사용한 <code>grep</code> 명령어는 오류 및 사용법 메시지가 다르고 <code>-s</code> 플래그의 기능이 다르다는 점을 제외하면 <code>egrep</code> 명령어와 동일합니다.</li>
</ul>



<p><strong><code>-e PatternList</code></strong>: 하나 이상의 검색 패턴을 지정합니다. 이는 단순 패턴처럼 작동하지만 패턴이 <code>-</code> (빼기 기호)로 시작할 때 유용합니다. 패턴은 줄 바꿈 문자로 구분해야 합니다. 두 개의 인접한 줄 바꿈 문자나 줄 바꿈 문자가 뒤따르는 따옴표(<code>"\n</code>)로 <code>NULL</code> 패턴을 지정할 수 있습니다. <code>-E</code> 또는 <code>-F</code> 플래그가 함께 지정되지 않는 한, 각 패턴은 기본 정규식(BRE)으로 취급됩니다. 여러 개의 <code>-e</code> 및 <code>-f</code> 플래그가 <code>grep</code>에서 허용됩니다. 지정된 모든 패턴은 줄을 일치시킬 때 사용되지만, 평가 순서는 지정되지 않습니다.</p>



<p><strong><code>-F</code></strong>: 지정된 각 패턴을 정규식이 아닌 문자열(string)로 취급합니다. <code>NULL</code> 문자열은 모든 줄과 일치합니다.</p>



<ul class="wp-block-list">
<li><em>참고</em>: <code>-F</code> 플래그를 사용한 <code>grep</code> 명령어는 오류 및 사용법 메시지가 다르고 <code>-s</code> 플래그의 기능이 다르다는 점을 제외하면 <code>fgrep</code> 명령어와 동일합니다.</li>
</ul>



<p><strong><code>-f PatternFile</code></strong>: <br>검색 패턴이 포함된 파일을 지정합니다. <br>각 패턴은 줄 바꿈 문자로 구분되어야 하며, 빈 줄은 <code>NULL</code> 패턴으로 간주됩니다. <br><code>-E</code> 또는 <code>-F</code> 플래그가 함께 지정되지 않는 한, 각 패턴은 기본 정규식(BRE)으로 취급됩니다.</p>



<p><strong><code>-h</code></strong>: <br>일치하는 줄에 해당 파일의 이름이 덧붙여 표시되는 것을 방지합니다. <br>여러 파일이 지정된 경우 파일 이름 표시를 억제합니다.</p>



<p><strong><code>-H</code></strong>: <br><code>-r</code> 또는 <code>-R</code> 옵션이 지정되고 디렉토리 유형의 파일을 참조하는 심볼릭 링크가 명령줄에 지정된 경우, <br><code>grep</code>은 심볼릭 링크가 참조하는 디렉토리의 파일과 그 아래의 파일 계층 구조에 있는 모든 파일을 검색합니다.</p>



<p><strong><code>-i</code></strong>: <br>비교를 수행할 때 문자의 대소문자(대문자 또는 소문자)를 무시합니다.</p>



<p><strong><code>-l</code></strong>: <br>일치하는 줄이 포함된 파일의 이름만 (한 번) 나열합니다. <br>각 파일 이름은 줄 바꿈 문자로 구분됩니다. <br>표준 입력을 검색한 경우 <code>(StandardInput)</code>이라는 경로 이름이 반환됩니다. <br><code>-c</code> 및 <code>-n</code> 플래그의 조합과 함께 사용된 <code>-l</code> 플래그는 <code>-l</code> 플래그만 사용한 것과 같이 동작합니다.</p>



<p><strong><code>-L</code></strong>: <br><code>-r</code> 또는 <code>-R</code> 옵션이 지정되고 디렉토리 유형의 파일을 참조하는 심볼릭 링크가 명령줄에 지정되거나 파일 계층 구조 탐색 중 발견된 경우, <br><code>grep</code>은 심볼릭 링크가 참조하는 디렉토리의 파일과 그 아래의 파일 계층 구조에 있는 모든 파일을 검색합니다. <br><code>-H</code>와 <code>-L</code>이 모두 지정된 경우 명령줄에 마지막으로 지정된 옵션이 적용됩니다.</p>



<p><strong><code>-n</code></strong>: <br>각 줄 앞에 파일 내의 상대적인 줄 번호를 표시합니다. <br>각 파일은 1번 줄부터 시작하며, 처리되는 각 파일마다 줄 카운터가 재설정됩니다.</p>



<p><strong><code>-p [Separator]</code></strong>: <br>일치하는 줄이 포함된 전체 단락(paragraph)을 표시합니다. <br>단락은 <code>Separator</code> 매개변수로 지정된 단락 구분 기호로 구분되며, 이는 검색 패턴과 동일한 형식의 패턴입니다. <br>단락 구분 기호가 포함된 줄은 구분 기호로만 사용되며 출력에는 절대 포함되지 않습니다. <br>기본 단락 구분 기호는 빈 줄입니다.</p>



<p><strong><code>-q</code></strong>: <br>일치하는 줄이 있는지 여부에 관계없이 표준 출력으로의 모든 쓰기를 억제합니다. <br>입력 줄이 선택되면 상태 값 0으로 종료됩니다. <br><code>-c</code>, <code>-l</code> 및 <code>-n</code> 플래그의 조합과 함께 사용된 <code>-q</code> 플래그는 <code>-q</code> 플래그만 사용한 것과 같이 동작합니다.</p>



<p><strong><code>-r</code></strong>: <br>디렉토리를 재귀적으로 검색합니다.<br>기본적으로 디렉토리에 대한 링크는 따라갑니다(Recursive &#8211; Link Follow).</p>



<p><strong><code>-R</code></strong>: <br>디렉토리를 재귀적으로 검색합니다. <br>기본적으로 디렉토리에 대한 링크는 따라가지 않습니다(Recursive &#8211; No Link Follow).</p>



<p><strong><code>-s</code></strong>: <br>존재하지 않거나 읽을 수 없는 파일에 대해 일반적으로 표시되는 오류 메시지를 억제합니다. <br>다른 오류 메시지는 억제되지 않습니다.</p>



<p><strong><code>-u</code></strong>: <br>출력을 버퍼링하지 않도록(unbuffered) 합니다.</p>



<p><strong><code>-v</code></strong>: <br>지정된 패턴과 일치하지 않는 모든 줄을 표시합니다.</p>



<p><strong><code>-w</code></strong>: <br>단어 검색을 수행합니다.</p>



<p><strong><code>-x</code></strong>: <br>추가 문자 없이 지정된 패턴과 정확히 일치하는 줄을 표시합니다.</p>



<p><strong><code>-y</code></strong>: <br>비교를 수행할 때 문자의 대소문자를 무시합니다.</p>



<p><strong><code>PatternList</code></strong>: <br>검색 중에 사용할 하나 이상의 패턴을 지정합니다. <br>패턴은 <code>-e</code> 플래그를 사용하여 지정된 것처럼 취급됩니다.</p>



<p><strong><code>File</code></strong>: <br>패턴을 검색할 파일의 이름을 지정합니다. <br><code>File</code> 변수가 주어지지 않으면 표준 입력(standard input)이 사용됩니다.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>종료 상태 (Exit Status)</strong> </h3>



<p>이 명령어는 다음 종료 값을 반환합니다:</p>



<ul class="wp-block-list">
<li><strong><code>0</code></strong>: 일치하는 항목을 찾았습니다.</li>



<li><strong><code>1</code></strong>: 일치하는 항목을 찾지 못했습니다.</li>



<li><strong><code>&gt;1</code></strong>: 구문 오류(syntax error)가 발견되었거나 파일에 액세스할 수 없습니다(일치하는 항목이 발견되었더라도).</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>예제 (Examples)</strong></h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 예제 1
*, ^, ?, [, ], \(, \), \{, \} 등의 일부 패턴 일치 문자가 포함된 패턴을 사용하려면 다음을 입력하십시오: 
grep "^[a-zA-Z]" pgm.s 
이 명령어는 첫 번째 문자가 영문자인 pgm.s 파일의 모든 줄을 표시합니다.

# 예제 2
패턴과 일치하지 않는 모든 줄을 표시하려면 다음을 입력하십시오: 
grep -v "^#" pgm.s 
이 명령어는 첫 번째 문자가 # (파운드 기호)가 아닌 pgm.s 파일의 모든 줄을 표시합니다.

# 예제 3
abc 또는 xyz 문자열과 일치하는 file1 파일의 모든 줄을 표시하려면 다음을 입력하십시오: 
grep -E "abc|xyz" file1

# 예제 4
test2라는 파일에서 $ (달러 기호)를 검색하려면 다음을 입력하십시오: 
grep \\$ test2 
쉘이 grep 명령어에 \$ (단일 백슬래시, 달러 기호)를 전달하도록 강제하려면 \\ (이중 백슬래시) 문자가 필요합니다. 
\ (단일 백슬래시) 문자는 grep 명령어에 다음 문자를 표현식 문자가 아닌 리터럴(literal) 문자로 취급하도록 지시합니다. 
(이 예시에서는 $)
백슬래시와 같은 이스케이프 문자를 사용하는 번거로움을 피하려면 fgrep 명령어를 사용하십시오.

# 예제 5
디렉토리를 가리키는 링크를 통해 재귀적으로 탐색하지 않고, 
IBM이라는 단어가 포함된 파일을 찾기 위해 /tmp 디렉토리를 재귀적으로 검색하려면 다음을 입력하십시오: 
grep -R IBM /tmp 또는 (OR) grep -r -H IBM /tmp

# 예제 6
링크를 포함하여 IBM이라는 단어가 포함된 파일을 찾기 위해 /tmp 디렉토리를 재귀적으로 검색하려면 다음을 입력하십시오: 
grep -r IBM /tmp 
또는 (OR) 
grep -R -L IBM /tmp</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>파일 (Files)</strong></h3>



<ul class="wp-block-list">
<li><strong><code>/usr/bin/grep</code></strong>: <code>grep</code> 명령어를 포함합니다.</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>관련 참조 (Related reference):</strong></h3>



<ul class="wp-block-list">
<li>“<code><strong>egrep</strong></code> Command” on page 347</li>



<li>“<code><strong>fgrep</strong></code> Command” on page 514</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>관련 정보 (Related information):</strong></h3>



<ul class="wp-block-list">
<li><code><strong>sed</strong></code> command</li>



<li>Input and output redirection</li>
</ul>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">원문</h3>



<p>Commands Reference, Volume 2, d &#8211; h.PDF 685p</p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">grep Command
Purpose
Searches for a pattern in a file.
Syntax
grep [ -E | -F ] [ -i ] [ -h ] [ -H ] [ -L ] [ -r | -R ] [ -s ][ -u ] [ -v ] [ -w ] [ -x ] [ -y ] [ [ [ -b ] [ -n ] ] | [ -c |-l | -q ] ] [ -p [ Separator ] ] { [ -e PatternList ... ] [ -f PatternFile ... ] | PatternList ... } [ File ... ]
Description
The grep command searches for the pattern specified by the Pattern parameter and writes each matching
line to standard output. The patterns are limited regular expressions in the style of the ed or egrep
command. The grep command uses a compact non-deterministic algorithm.
The grep command displays the name of the file containing the matched line if you specify more than
one name in the File parameter. Characters with special meaning to the shell ($, *, [, |, ^, (, ), \ ) must be
in quotation marks when they appear in the Pattern parameter. When the Pattern parameter is not a
simple string, you usually must enclose the entire pattern in single quotation marks. In an expression
such as [a-z], the - (minus sign) cml specifies a range, according to the current collating sequence. A
collating sequence may define equivalence classes for use in character ranges. If no files are specified,
grep assumes standard input.
Notes:
1. Do not run the grep command on a special file because it produces unpredictable results. Input lines
should not contain the NULL character.
2. Input files should end with the newline character.
3. The newline character will not be matched by the regular expressions.
4. Although some flags can be specified simultaneously, some flags override others. For example, the -l
option takes precedence over all other flags. And if you specify both the -E and -F flags, the last one
specified takes priority.
g 685
Flags
Item-b-c-E-e PatternList-F-f PatternFile-h-H-i
Item-l-L-n-p[Separator]-q-r-R-s-u-v-w-x-y
PatternList
File
Description
Precedes each line by the block number on which it was found. Use this flag to help find disk
block numbers by context. The -b flag cannot be used with input from stdin or pipes.
Displays only a count of matching lines.
Treats each pattern specified as an extended regular expression (ERE). A NULL value for the
ERE matches every line.
Note: The grep command with the -E flag is the same as the egrep command, except that
error and usage messages are different and the -s flag functions differently.
Specifies one or more search patterns. This works like a simple pattern but is useful when the
pattern begins with a - (minus). Patterns should be separated by a new-line character. A
NULL pattern can be specified by two adjacent new-line characters or a quotation mark
followed by a new-line character ("\n). Each pattern is treated like a basic regular expression
(BRE) unless the -E or -F flag is also specified. Multiple -e and -f flags are accepted by grep.
All of the specified patterns are used when matching lines, but the order of evaluation is
unspecified.
Treats each specified pattern as a string instead of a regular expression. A NULL string
matches every line.
Note: The grep command with the -F flag is the same as the fgrep command, except that
error and usage messages are different and the -s flag functions differently.
Specifies a file containing search patterns. Each pattern should be separated by a new-line
character, and an empty line is considered a NULL pattern. Each pattern is treated like a basic
regular expression (BRE), unless the -E or -F flag is also specified.
Prevents the name of the file containing the matching line from being appended to that line.
Suppresses file names when multiple files are specified.
If the -r or -R option is specified and a symbolic link referencing a file of type directory is
specified on the command line, grep will search the files of the directory referenced by the
symbolic link and all the files in the file hierarchy below it.
Ignores the case (uppercase or lowercase) of letters when making comparisons.
Description
Lists just the names of files (once) which contain matching lines. Each file name is separated
by a new-line character. If standard input is searched, a path name of (StandardInput) is
returned. The -l flag with any combination of the -c and -n flags behaves like the -l flag only.
If the -r or -R option is specified and a symbolic link referencing a file of type directory is
specified on the command line or encountered during the traversal of a file hierarchy, grep
shall search the files of the directory referenced by the symbolic link and all the files in the file
hierarchy below it. If both -H and -L are specified, the last option specified on the command
line takes effect.
Precedes each line with the relative line number in the file. Each file starts at line 1, and the
line counter is reset for each file processed.
Displays the entire paragraph containing matched lines. Paragraphs are delimited by
paragraph separators, as specified by the Separator parameter, which are patterns in the same
form as the search pattern. Lines containing the paragraph separators are used only as
separators; they are never included in the output. The default paragraph separator is a blank
line.
Suppresses all writing to standard output, regardless of matching lines. Exits with a zero status
if an input line is selected. The -q flag with any combination of the -c, -l and -n flags behaves
like the -q flag only.
Searches directories recursively. By default, links to directories are followed.
Searches directories recursively. By default, links to directories are not followed.
Suppresses error messages ordinarily written for nonexistent or unreadable files. Other error
messages are not suppressed.
Causes output to be unbuffered.
Displays all lines not matching the specified pattern.
Does a word search.
Displays lines that match the specified pattern exactly with no additional characters.
Ignores the case of letters when making comparisons.
Specifies one or more patterns to be used during the search. The patterns are treated as if they
were specified using the -e flag.
Specifies a name of a file to be searched for patterns. If no File variable is given, the standard
input is used.
686 AIX Version 6.1: Commands Reference, Volume 2, d - h
Exit Status
This command returns the following exit values:
Item
0
1
>1
Description
A match was found.
No match was found.
A syntax error was found or a file was inaccessible (even if matches were found).
Examples
1. To use a pattern that contains some of the pattern-matching characters *, ^, ?, [, ], \(, \), \{, and \},
enter:
grep "^[a-zA-Z]" pgm.s
This displays every line in pgm.s whose first character is a letter.
2. To display all lines that do not match a pattern, enter:
grep-v "^#" pgm.s
This displays every line in pgm.s whose first character is not a # (pound sign).
3. To display all lines in the file1 file that match either the abc or xyz string, enter:
grep-E "abc|xyz" file1
4. To search for a $ (dollar sign) in the file named test2, enter:
grep \\$ test2
The \\ (double backslash) characters are necessary in order to force the shell to pass a \$ (single
backslash, dollar sign) to the grep command. The \ (single backslash) character tells the grep
command to treat the following character (in this example the $) as a literal character rather than an
expression character. Use the fgrep command to avoid the necessity of using escape characters such as
the backslash.
5. To search recursively through /tmp to find files which have the word IBM without recursing through
links pointing to directories, type:
grep–R IBM /tmp
OR
grep–r-H IBM /tmp
6. To search recursively through /tmp to find files which have the word IBM and recurse through links as
well, type:
grep–r IBM /tmp
OR
grep-R-L IBM /tmp
Files
g 687
Item
/usr/bin/grep
Description
Contains the grep command.
Related reference:
“egrep Command” on page 347
“fgrep Command” on page 514
Related information:
sed command
Input and output redirection</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="GWKPiMRNYe"><a href="https://lycos7560.com/aix/aix-5-3-0-6-1-0-docs-pdf-link/40506/">AIX 5.3.0 / 6.1.0 Docs PDF Link</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;AIX 5.3.0 / 6.1.0 Docs PDF Link&#8221; &#8212; 어제와 내일의 나 그 사이의 이야기" src="https://lycos7560.com/aix/aix-5-3-0-6-1-0-docs-pdf-link/40506/embed/#?secret=zJyKtHGj0Q#?secret=GWKPiMRNYe" data-secret="GWKPiMRNYe" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>The post <a href="https://lycos7560.com/aix/grep-%eb%aa%85%eb%a0%b9%ec%96%b4-command-aix-6-3/40510/">grep 명령어 (Command) &#8211; AIX 6.1</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/aix/grep-%eb%aa%85%eb%a0%b9%ec%96%b4-command-aix-6-3/40510/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AIX 5.3.0 / 6.1.0 Docs PDF Link</title>
		<link>https://lycos7560.com/aix/aix-5-3-0-6-1-0-docs-pdf-link/40506/</link>
					<comments>https://lycos7560.com/aix/aix-5-3-0-6-1-0-docs-pdf-link/40506/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Sun, 08 Mar 2026 15:42:55 +0000</pubDate>
				<category><![CDATA[AIX]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40506</guid>

					<description><![CDATA[<p>Table 1. AIX PDF files https://www.ibm.com/docs/en/aix/6.1.0?topic=aix-older-versions Title AIX® Version 개인 Zip Commands Reference, Volume 1: a through c 5.3,&#160;6.1 Commands Reference, Volume 2: d through h 5.3,&#160;6.1 Commands Reference, Volume 3: i through m 5.3,&#160;6.1 Commands Reference, Volume 4: n through r 5.3,&#160;6.1 Commands Reference, Volume 5: s through u 5.3,&#160;6.1 Commands Reference, Volume 6: [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/aix/aix-5-3-0-6-1-0-docs-pdf-link/40506/">AIX 5.3.0 / 6.1.0 Docs PDF Link</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Table 1. AIX PDF files</h2>



<p><a href="https://www.ibm.com/docs/en/aix/6.1.0?topic=aix-older-versions" target="_blank" rel="noreferrer noopener">https://www.ibm.com/docs/en/aix/6.1.0?topic=aix-older-versions</a></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Title</th><th>AIX® Version</th><th>개인 Zip</th></tr></thead><tbody><tr><td>Commands Reference, Volume 1: a through c</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixcmds1.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixcmds1_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Commands Reference, Volume 2: d through h</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixcmds2.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixcmds2_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Commands Reference, Volume 3: i through m</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixcmds3.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixcmds3_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Commands Reference, Volume 4: n through r</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixcmds4.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixcmds4_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Commands Reference, Volume 5: s through u</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixcmds5.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixcmds5_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Commands Reference, Volume 6: v through z</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixcmds6.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixcmds6_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Files Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixfiles.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixfiles_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Installation and migration</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/insgdrf_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/insgdrf_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Operating system and device management</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/baseadmndita_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/baseadmndita_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Security</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/security_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/security_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Performance management</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/prftungd_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/prftungd_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Networks and communication management</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/commadmndita_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/commadmndita_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>General Programming Concepts: Writing and Debugging Programs</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/genprogc.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/genprogc_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Printers and printing</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/printrgd_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/printrgd_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Performance Tools Guide and Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/prftools.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/prftools_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Performance Toolbox Version 2 and 3 Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/prfusrgd.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/prfusrgd.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIX Fast Connect Version 3.2 Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/fastcon.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/fastcon.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIXlink/X.25 Version 2.1 for AIX: Guide and Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/x25usrgd.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/x25usrgd.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Switch Network Interface for eServer<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> pSeries High Performance Switch Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/sni.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/sni.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Network Information Services (NIS and NIS+) Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/nisplus.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/nisplus.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIX Network Data Administration Facility (NDAF)</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/ndaf_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/ndaf_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIXwindows Programming Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/aixwnpgd.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/aixwnpgd.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Assembler Language Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/alangref.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/idalangref_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Communications Programming Concepts</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/progcomc.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/progcomc_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>KDB Kernel debugger and kdb command</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/kdb.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/kdb_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Kernel Extensions and Device Support Programming Concepts</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/kernextc.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/kernextc_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIX globalization</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/nlsgdrf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/nlsgdrf_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>OpenGL 1.2 Reference Manual</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/openglrf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/openglrf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Understanding the Diagnostic Subsystem for AIX</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/diagunsd.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/diagunsd_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Advanced Accounting Subsystem</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/accounting_pdf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/accounting_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Web-based System Manager Administration Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/wsmadmn.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/wsmadmn.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Technical Reference: Base Operating System and Extensions, Volume 1 (A-P)</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/basetrf1.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/basetrf1_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Technical Reference: Base Operating System and Extensions , Volume 2 (Q-Z)</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/basetrf2.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/basetrf2_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Technical Reference: Communications, Volume 1</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/commtrf1.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/commtrf1_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Technical Reference: Communications, Volume 2</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/commtrf2.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/commtrf2_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Technical Reference: Kernel and Subsystems, Volume 1</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/ktechrf1.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/ktechrf1_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Technical Reference: Kernel and Subsystems, Volume 2</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/ktechrf2.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/ktechrf2_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Keyboard Technical Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/kybdtech.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/kybdtech.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>The graPHIGS Programming Interface: ISO PHIGS Subroutine Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/phigsisosubs.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/phigsisosubs.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>The graPHIGS Programming Interface: Subroutine Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/phigsubs.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/phigsubs.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>The graPHIGS Programming Interface: Technical Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/phigstrf.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/phigstrf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>The graPHIGS Programming Interface: Understanding Concepts</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/phigsund.pdf" rel="noreferrer noopener" target="_blank">5.3</a>,&nbsp;<a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/phigsund.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIX Release Notes</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/rnbase619_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIX Expansion Pack Release Notes</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/rnexp619_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Remote Direct Memory Access</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/rnexp619_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>AIX Installation: Quick Start Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/quickinstall61.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>IBM AIX Dynamic System Optimizer</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/optimize_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>4765 PCIe Cryptographic Coprocessor AIX CCA Support Program Installation 4.4</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/cca_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Cluster Data Aggregation Tool User Guide and Reference</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/cdat_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>IBM Workload Partitions for AIX</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/wpar_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>IBM Workload Partitions Manager<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> for AIX</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/wparlpp_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Electronic service agent on AIX</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/61/idesa_pdf.pdf" rel="noreferrer noopener" target="_blank">6.1</a></td><td></td></tr><tr><td>Common Information Model Guide</td><td><a href="http://public.dhe.ibm.com/systems/power/docs/aix/53/cim.pdf" rel="noreferrer noopener" target="_blank">5.3</a></td><td></td></tr></tbody></table></figure>



<p></p>
<p>The post <a href="https://lycos7560.com/aix/aix-5-3-0-6-1-0-docs-pdf-link/40506/">AIX 5.3.0 / 6.1.0 Docs PDF Link</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/aix/aix-5-3-0-6-1-0-docs-pdf-link/40506/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux Default Directory Structure (기본 디렉터리 구조)</title>
		<link>https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/</link>
					<comments>https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Sun, 01 Mar 2026 07:06:00 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[기초]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40290</guid>

					<description><![CDATA[<p>디렉터리 구조 표 디렉터리 용도 이름(어원/줄임말) / 파일 시스템 최상위 디렉터리, 모든 경로의 출발점 &#8211; /bin 기본 명령어(binary) 저장소. 부팅/유저 작업에 필수적인 실행 파일 binary /boot 부팅 관련 파일 저장. 커널, 초기 램디스크, 부트로더 설정 포함 boot /dev 장치 파일 저장 (디스크, 터미널, 가상 장치 등) device /etc 시스템 설정 파일(전역 설정) et cetera (원래 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/">Linux Default Directory Structure (기본 디렉터리 구조)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-eedf4b9d      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#디렉터리-구조-표" class="uagb-toc-link__trigger">디렉터리 구조 표</a><li class="uagb-toc__list"><a href="#각-디렉터리-상세-설명" class="uagb-toc-link__trigger">각 디렉터리 상세 설명</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#toc_69d311d976409" class="uagb-toc-link__trigger">/</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#bin" class="uagb-toc-link__trigger">/bin</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#boot" class="uagb-toc-link__trigger">/boot</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#dev" class="uagb-toc-link__trigger">/dev</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#etc" class="uagb-toc-link__trigger">/etc</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#home" class="uagb-toc-link__trigger">/home</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#lib-lib64" class="uagb-toc-link__trigger">/lib, /lib64</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#media" class="uagb-toc-link__trigger">/media</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#mnt" class="uagb-toc-link__trigger">/mnt</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#opt" class="uagb-toc-link__trigger">/opt</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#proc" class="uagb-toc-link__trigger">/proc</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#root" class="uagb-toc-link__trigger">/root</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#run" class="uagb-toc-link__trigger">/run</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#sbin" class="uagb-toc-link__trigger">/sbin</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#srv" class="uagb-toc-link__trigger">/srv</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#sys" class="uagb-toc-link__trigger">/sys</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#tmp" class="uagb-toc-link__trigger">/tmp</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#usr" class="uagb-toc-link__trigger">/usr</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#var" class="uagb-toc-link__trigger">/var</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#lostfound" class="uagb-toc-link__trigger">/lost+found</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">디렉터리 구조 표</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>디렉터리</th><th>용도</th><th>이름(어원/줄임말)</th></tr></thead><tbody><tr><td><code>/</code></td><td>파일 시스템 최상위 디렉터리, 모든 경로의 출발점</td><td>&#8211;</td></tr><tr><td><code>/bin</code></td><td>기본 명령어(binary) 저장소. 부팅/유저 작업에 필수적인 실행 파일</td><td>binary</td></tr><tr><td><code>/boot</code></td><td>부팅 관련 파일 저장. 커널, 초기 램디스크, 부트로더 설정 포함</td><td>boot</td></tr><tr><td><code>/dev</code></td><td>장치 파일 저장 (디스크, 터미널, 가상 장치 등)</td><td>device</td></tr><tr><td><code>/etc</code></td><td>시스템 설정 파일(전역 설정)</td><td>et cetera (원래 의미) / Editable Text Configuration (재해석)</td></tr><tr><td><code>/home</code></td><td>일반 사용자 홈 디렉터리</td><td>home directory</td></tr><tr><td><code>/lib</code>, <code>/lib64</code></td><td>실행 파일이 필요로 하는 공유 라이브러리</td><td>library</td></tr><tr><td><code>/media</code></td><td>USB, CD-ROM 등 이동식 미디어 자동 마운트 지점</td><td>media (removable media)</td></tr><tr><td><code>/mnt</code></td><td>관리자가 수동으로 마운트할 때 사용하는 임시 디렉터리</td><td>mount</td></tr><tr><td><code>/opt</code></td><td>선택적 소프트웨어 설치 경로</td><td>optional</td></tr><tr><td><code>/proc</code></td><td>가상 파일 시스템. 커널과 프로세스 상태 정보 제공</td><td>process</td></tr><tr><td><code>/root</code></td><td>root(관리자) 계정의 홈 디렉터리</td><td>root / superuser</td></tr><tr><td><code>/run</code></td><td>실행 중 생성되는 상태 파일 저장 (PID, 소켓 등)</td><td>runtime</td></tr><tr><td><code>/sbin</code></td><td>시스템 관리용 실행 파일</td><td>system binary</td></tr><tr><td><code>/srv</code></td><td>시스템 서비스 데이터 저장</td><td>service</td></tr><tr><td><code>/sys</code></td><td>커널 객체 정보 제공 가상 파일 시스템</td><td>system</td></tr><tr><td><code>/tmp</code></td><td>임시 파일 저장소</td><td>temporary</td></tr><tr><td><code>/usr</code></td><td>사용자 프로그램과 라이브러리 저장소</td><td>user / Unix System Resources</td></tr><tr><td><code>/var</code></td><td>가변 데이터 저장 (로그, 메일, 캐시 등)</td><td>variable</td></tr><tr><td><code>/lost+found</code></td><td>파일 시스템 손상 복구 시 fsck가 잃어버린 파일 조각을 모아두는 디렉터리</td><td>lost + found</td></tr></tbody></table></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">각 디렉터리 상세 설명</h2>



<h3 class="wp-block-heading"><code>/</code></h3>



<p>리눅스에서 모든 파일과 디렉터리는 **루트 디렉터리 <code>/</code>**를 기준으로 계층 구조를 갖습니다. 모든 경로는 <code>/</code>에서 시작하며, Windows의 <code>C:\</code>와 비슷한 역할을 하지만, 드라이브 개념이 없고 모든 장치가 여기 아래로 마운트됩니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/bin</code></h3>



<p>시스템 부팅과 사용자 작업에 필수적인 <strong>기본 명령어</strong>가 저장됩니다.</p>



<p>예: <code>ls</code>, <code>cp</code>, <code>mv</code>, <code>cat</code>. 싱글 유저 모드에서도 실행 가능하도록 필수 명령어를 제공합니다.</p>



<ul class="wp-block-list">
<li><code>ls</code>, <code>cp</code>, <code>mv</code> &#8211; 파일 작업</li>



<li><code>cat</code>, <code>grep</code> &#8211; 텍스트 도구</li>



<li><code>bash</code> &#8211; 쉘(Shell)</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/boot</code></h3>



<p>부팅 관련 파일이 저장됩니다. </p>



<p>커널 파일(이미)(<code>vmlinuz</code>), 초기 램디스크(<code>initrd</code>/<code>initramfs</code>), 부트로더 설정(<code>grub.cfg</code>) 등이 포함되어 있으며, </p>



<p>부트로더(GRUB)는 이 파일들을 사용해 커널을 메모리에 올립니다.</p>



<p>GNU GRUB(Grand Unified Bootloader), <strong>커널 파일</strong> &#8211; 운영체제의 심장</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/dev</code></h3>



<p>시스템의 <strong>장치 파일</strong>을 모아두는 디렉터리입니다. </p>



<p>하드디스크, 터미널, 프린터, 가상 장치 등이 모두 파일로 표현됩니다. </p>



<p>예: <code>/dev/sda</code>는 첫 번째 디스크, <code>/dev/null</code>은 데이터를 버리는 장치입니다.</p>



<ul class="wp-block-list">
<li><code>/dev/sda1</code> &#8211; 하드 드라이브 파티션</li>



<li><code>/dev/null</code> &#8211; 데이터를 삼켜버리는 유명한 &#8220;블랙홀&#8221;</li>



<li><code>/dev/random</code> &#8211; 난수 생성기</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/etc</code></h3>



<p>시스템의 <strong>전역 설정 파일</strong>이 있는 디렉터리입니다. </p>



<p>리눅스 시스템의 설정 본부입니다. 모든 설정, 규칙, 시스템 기본 설정이 이곳에 저장됩니다.</p>



<p>초기에는 &#8220;et cetera&#8221;(잡다한 설정) 의미였으며, 현재는 시스템 설정을 담당합니다. </p>



<p>예: <code>/etc/passwd</code>(사용자 계정), <code>/etc/fstab</code>(파일 시스템 마운트 정보).</p>



<ul class="wp-block-list">
<li><strong>사용자 계정</strong> (<code>passwd</code>, <code>shadow</code>)</li>



<li><strong>네트워크 설정</strong> (<code>hosts</code>, <code>resolv.conf</code>)</li>



<li><strong>서비스 설정</strong> (SSH, Apache 등)</li>



<li><strong>시작 스크립트 및 시스템 규칙</strong></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/home</code></h3>



<p>일반 사용자들의 <strong>홈 디렉터리</strong>입니다. </p>



<p>각 사용자는 <code>/home/username</code> 디렉터리를 갖습니다. </p>



<p>root 계정은 <code>/root</code>를 사용합니다. 보안과 안정성을 위해 일반 사용자 폴더(<code>/home</code>)와 분리되어 있습니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/lib</code>, <code>/lib64</code></h3>



<p>실행 파일이 필요로 하는 <strong>공유 라이브러리</strong>를 저장합니다. </p>



<p><code>/bin</code>과 <code>/sbin</code> 프로그램들이 실행되기 위해 필요한 공통 함수들을 제공합니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/media</code></h3>



<p>USB, CD-ROM 등 <strong>이동식 미디어</strong>를 자동 마운트하는 디렉터리입니다. </p>



<p>사용자가 장치를 연결하면 시스템이 <code>/media</code> 아래에 장치를 자동으로 연결합니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/mnt</code></h3>



<p>관리자가 <strong>수동으로 장치를 마운트</strong>할 때 사용하는 임시 디렉터리입니다. 테스트용 외장 하드나 파티션 마운트 시 사용됩니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/opt</code></h3>



<p>선택적 소프트웨어를 설치하는 디렉터리입니다. </p>



<p>표준 레이아웃을 따르지 않는 상용 프로그램이나 독립 패키지를 <code>/opt</code> 아래에 설치하는 방식이 일반적입니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/proc</code></h3>



<p>가상 파일 시스템으로, 커널과 프로세스 상태 정보를 제공합니다. </p>



<p><code>/proc/cpuinfo</code>(CPU 정보), <code>/proc/meminfo</code>(메모리 사용 현황)처럼 실제 파일은 없고 커널이 동적으로 생성합니다.</p>



<ul class="wp-block-list">
<li><code>/proc/cpuinfo</code> &#8211; CPU 상세 정보</li>



<li><code>/proc/meminfo</code> &#8211; 메모리 사용량</li>



<li><code>/proc/[PID]/</code> &#8211; 실행 중인 프로세스 정보</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/root</code></h3>



<p>root(관리자) 계정의 <strong>홈 디렉터리</strong>입니다. 일반 사용자 홈 디렉터리는 <code>/home</code>에 있습니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/run</code></h3>



<p>실행 중 생성되는 <strong>상태 파일</strong>을 저장합니다. </p>



<p>예: 서비스 PID 파일, 소켓 파일, 현재 세션 정보 등&#8230;</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/sbin</code></h3>



<p>시스템 관리용 <strong>실행 파일</strong>을 저장합니다. </p>



<p>예: <code>fsck</code>, <code>reboot</code>, <code>ifconfig</code>. 일반 사용자는 주로 접근하지 않습니다.</p>



<ul class="wp-block-list">
<li><code>mount</code> &#8211; 파일시스템 마운트</li>



<li><code>iptables</code> &#8211; 방화벽 관리</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/srv</code></h3>



<p>시스템에서 제공하는 <strong>서비스 데이터</strong>를 담습니다. 예: 웹 서버의 웹 페이지 데이터 <code>/srv/www</code>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/sys</code></h3>



<p>커널 객체 정보를 제공하는 <strong>가상 파일 시스템(sysfs)</strong>입니다. </p>



<p>하드웨어와 장치 드라이버 관련 정보를 확인하고 설정할 때 사용합니다.</p>



<p>커널 및 하드웨어 정보와 상호작용하는 더 새롭고 깔끔한 방식의 디렉토리입니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/tmp</code></h3>



<p><strong>임시 파일 저장소</strong>입니다.</p>



<p>프로그램 실행 중 생성되는 임시 데이터를 저장하며, <strong>시스템 재부팅 시 대부분 삭제</strong>됩니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/usr</code></h3>



<p>사용자 프로그램과 라이브러리 저장소입니다. </p>



<p>원래는 &#8220;user&#8221; 디렉터리였으나, 지금은 <strong>응용 프로그램, 라이브러리, 공유 데이터</strong>를 담습니다.</p>



<p><strong>U</strong>ser <strong>S</strong>ystem <strong>R</strong>esources의 약자로, 대부분의 프로그램이 설치되는 곳입니다.</p>



<ul class="wp-block-list">
<li><code>/usr/bin</code> &#8211; 사용자 프로그램 (Firefox, LibreOffice 등)</li>



<li><code>/usr/lib</code> &#8211; 프로그램 라이브러리</li>



<li><code>/usr/local</code> &#8211; 사용자가 직접 설치한 커스텀 소프트웨어</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/var</code></h3>



<p>끊임없이 변하는 가변 데이터를 저장하는 디렉터리입니다. </p>



<p>로그(<code>/var/log</code>), 메일, 캐시, 스풀, 데이터베이스 파일 등 수시로 변경되는 데이터를 저장합니다.</p>



<ul class="wp-block-list">
<li><code>/var/log</code> &#8211; 시스템 로그 (<strong>문제 해결의 보물창고!</strong>)</li>



<li><code>/var/cache</code> &#8211; 애플리케이션 캐시</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/lost+found</code></h3>



<p>파일 시스템 손상 복구를 위해 존재합니다. <code>fsck</code> 실행 시 깨진 inode나 위치를 잃은 파일을 이곳에 모아 복구 작업에 사용합니다.</p>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/">Linux Default Directory Structure (기본 디렉터리 구조)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
