<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>SOYALI님의 블로그</title>
    <link>https://soyali.tistory.com/</link>
    <description>안녕하세요! soyali의 블로그에 오신 것을 환영합니다  
저는 신입 웹 &amp;amp; 서버 개발자입니다.
현재는 서버 개발 업무를 중심으로, 웹 개발도 병행하고 있습니다.
Linux 환경은 이제 막 배우기 시작한 단계로, 업무 중 새롭게 알게 된 내용이나 별도로 학습한 내용을 이 블로그에 기록하고 있습니다.
저와 비슷한 상황에 계신 분들께 작은 도움이 되었으면 합니다.</description>
    <language>ko</language>
    <pubDate>Sat, 6 Jun 2026 20:20:32 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>soyali</managingEditor>
    <image>
      <title>SOYALI님의 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/7298767/attach/e4cf0cdc458b453fb8bf30de8b9babb1</url>
      <link>https://soyali.tistory.com</link>
    </image>
    <item>
      <title>[ Linux ] 운영 서버 로그 기반 의심 징후 탐지 체크리스트</title>
      <link>https://soyali.tistory.com/25</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;운영 서버에서 로그를 보는 목적은 단순히 이벤트를 확인하는 것을 넘어, &lt;b&gt;비정상/의심 행동&lt;/b&gt;을 조기에 포착하는 것입니다.&lt;br /&gt;이 글에서는 auth.log/secure 같은 인증 로그에서 &lt;b&gt;비정상 sudo 패턴, IP 기반 이상 탐지, 로그인 이상 징후&lt;/b&gt;를 찾아내는 방법을 실전 기준으로 정리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;명령어는 Ubuntu 기준으로 작성되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;502&quot; data-start=&quot;485&quot; data-ke-size=&quot;size26&quot;&gt;1. 리눅스 인증/권한 로그 위치&lt;/h2&gt;
&lt;p data-end=&quot;543&quot; data-start=&quot;504&quot; data-ke-size=&quot;size16&quot;&gt;운영 서버에서 인증/SSH/권한 상승 로그는 대개 아래 위치에 저장돼요. 이 파일들이 &lt;b&gt;이상 탐지의 출발점&lt;/b&gt;입니다&lt;/p&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;696&quot; data-start=&quot;545&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 배포판 계열인증 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;권한 상승 로그 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;649&quot; data-start=&quot;610&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;626&quot; data-start=&quot;610&quot;&gt;Debian/Ubuntu&lt;/td&gt;
&lt;td data-end=&quot;649&quot; data-start=&quot;626&quot; data-col-size=&quot;sm&quot;&gt;/var/log/auth.log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;696&quot; data-start=&quot;650&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;675&quot; data-start=&quot;650&quot;&gt;RHEL/CentOS/Rocky/Alma&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;696&quot; data-start=&quot;675&quot;&gt;/var/log/secure&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-end=&quot;778&quot; data-start=&quot;698&quot; data-ke-size=&quot;size16&quot;&gt;이 파일에는 SSH 로그인 성공/실패, sudo, su, su - 같은 이벤트가 포함됩니다.&lt;/p&gt;
&lt;p data-end=&quot;778&quot; data-start=&quot;698&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;778&quot; data-start=&quot;698&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;778&quot; data-start=&quot;698&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;799&quot; data-start=&quot;785&quot; data-ke-size=&quot;size26&quot;&gt;2. 운영 서버 이상 징후 탐지&lt;/h2&gt;
&lt;p data-end=&quot;869&quot; data-start=&quot;849&quot; data-ke-size=&quot;size18&quot;&gt;1) 반복된 로그인 실패 (브루트포스 의심)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;940&quot; data-start=&quot;871&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;910&quot; data-start=&quot;871&quot;&gt;&lt;b&gt;짧은 시간에 여러 로그인 실패&lt;/b&gt; &amp;rarr; 브루트포스 공격 가능성&lt;/li&gt;
&lt;li data-end=&quot;1071&quot; data-start=&quot;1030&quot;&gt;동일 IP에서 많은 실패가 있으면 방화벽/차단 조치 후 분석 권장.&lt;/li&gt;
&lt;li data-end=&quot;1143&quot; data-start=&quot;1072&quot;&gt;실패 패턴이 장시간 쌓이는 경우 보안 설정 재검토 필요.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;Failed password&quot; /var/log/auth.log | cut -d ' ' -f 11 | sort | uniq -c | sort -nr | head -n 20&lt;/blockquote&gt;
&lt;p data-end=&quot;1153&quot; data-start=&quot;1079&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1153&quot; data-start=&quot;1079&quot; data-ke-size=&quot;size18&quot;&gt;2) 정상 범주와 다른 SSH 로그인 성공 IP&lt;/p&gt;
&lt;p data-end=&quot;1246&quot; data-start=&quot;1186&quot; data-ke-size=&quot;size16&quot;&gt;로그인 성공이 예상 범위(내부망, 사무실 IP 등)를 벗어나면 &lt;b&gt;잠재적인 외부 접근&lt;/b&gt; 가능성이 있습니다.&lt;/p&gt;
&lt;blockquote data-end=&quot;1153&quot; data-start=&quot;1079&quot; data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;Accepted password&quot; /var/log/auth.log | awk '{print $11}' | sort | uniq -c&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 예상치 못한 외부 IP가 있으면 접속 시간/사용자명과 함께 추가 조사 필요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3) sudo 명령 과도 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상 운영자라도 sudo 명령을 과도하게 반복해서 쓰면 &lt;b&gt;자동화 스크립트, 비정상 행위 가능성&lt;/b&gt;이 있습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;sudo&quot; /var/log/auth.log | awk '{print $1,$2,$3,$9,$11}' | sort | uniq -c | sort -nr | head -n 20&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 시간/사용자/명령별로 리포트해서 &lt;b&gt;비정상 패턴&lt;/b&gt; 여부를 판단할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;4) 권한 없는 sudo 시도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo 권한이 없는 사용자가 sudo를 시도하면 &lt;b&gt;권한 설정 누락 또는 무단 시도&lt;/b&gt;일 수 있습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;NOT in sudoers&quot; /var/log/auth.log&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 이벤트는 운영자가 의도적으로 sudo 권한을 주지 않은 계정의 &lt;b&gt;무단 사용 시도&lt;/b&gt;로 해석됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;5) su/su - 전환 이상 패턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상범주를 벗어나는 su/su - 전환이 반복되면 운영 이상 행동의 힌트가 되기도 합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;su:&quot; /var/log/auth.log&lt;/blockquote&gt;
&lt;p data-end=&quot;2684&quot; data-start=&quot;2573&quot; data-ke-size=&quot;size16&quot;&gt;- &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;어떤 사용자가 언제 루트 전환을 시도했는지를 빠르게 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;2684&quot; data-start=&quot;2573&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2684&quot; data-start=&quot;2573&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;3022&quot; data-start=&quot;2952&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;3022&quot; data-start=&quot;2952&quot; data-ke-size=&quot;size26&quot;&gt;3. 실시간 모니터링&lt;/h2&gt;
&lt;p data-end=&quot;3022&quot; data-start=&quot;2952&quot; data-ke-size=&quot;size16&quot;&gt;실시간 모니터링으로 이상 시도를 빠르게 포착하는 것도 실전에서 유용합니다.&lt;/p&gt;
&lt;blockquote data-end=&quot;3022&quot; data-start=&quot;2952&quot; data-ke-style=&quot;style3&quot;&gt;sudo tail -f /var/log/auth.log | grep -E &quot;Failed password|Accepted password|sudo&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- tail -f로 실시간 감시를 하면서 이상한 입력이 들어오는 순간 빠르게 대응할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 추가 보안 보강 도구&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Fail2Ban : 로그를 스캔해 지정된 조건 이상 실패가 쌓이면 해당 IP를 자동 차단하는 도구입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;# 설&lt;br /&gt;sudo apt install fail2ban&lt;br /&gt;&lt;br /&gt;# SSH 로그인 실패가 연속으로 발생하면 특정 시간 동안 해당 IP를 차단 &lt;br /&gt;sudo systemctl enable fail2ban&lt;br /&gt;&lt;br /&gt;# 차단 상태 확인&lt;br /&gt;sudo fail2ban-client status sshd&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 로그 동작은 /var/log/fail2ban.log에 기록됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2924&quot; data-start=&quot;2905&quot; data-ke-size=&quot;size26&quot;&gt;5. 실전 판단 기준&lt;/h2&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;3190&quot; data-start=&quot;2926&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 이상 패턴 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 의미 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 대응 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3016&quot; data-start=&quot;2974&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2987&quot; data-start=&quot;2974&quot;&gt;반복된 로그인 실패&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2998&quot; data-start=&quot;2987&quot;&gt;브루트포스 의심&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3016&quot; data-start=&quot;2998&quot;&gt;IP 차단/Fail2Ban&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3061&quot; data-start=&quot;3017&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3033&quot; data-start=&quot;3017&quot;&gt;낯선 IP의 로그인 성공&lt;/td&gt;
&lt;td data-end=&quot;3045&quot; data-start=&quot;3033&quot; data-col-size=&quot;sm&quot;&gt;외부 접근 가능성&lt;/td&gt;
&lt;td data-end=&quot;3061&quot; data-start=&quot;3045&quot; data-col-size=&quot;sm&quot;&gt;접속 시간/사용자 비교&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3104&quot; data-start=&quot;3062&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3076&quot; data-start=&quot;3062&quot;&gt;과도한 sudo 패턴&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3089&quot; data-start=&quot;3076&quot;&gt;자동화/비정상 동작&lt;/td&gt;
&lt;td data-end=&quot;3104&quot; data-start=&quot;3089&quot; data-col-size=&quot;sm&quot;&gt;사용자/스크립트 조사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3149&quot; data-start=&quot;3105&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3121&quot; data-start=&quot;3105&quot;&gt;권한 없는 sudo 시도&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3135&quot; data-start=&quot;3121&quot;&gt;계정/권한 설정 문제&lt;/td&gt;
&lt;td data-end=&quot;3149&quot; data-start=&quot;3135&quot; data-col-size=&quot;sm&quot;&gt;sudoers 검토&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;3190&quot; data-start=&quot;3150&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;3166&quot; data-start=&quot;3150&quot;&gt;su/su - 반복 전환&lt;/td&gt;
&lt;td data-end=&quot;3177&quot; data-start=&quot;3166&quot; data-col-size=&quot;sm&quot;&gt;운영 이상 시도&lt;/td&gt;
&lt;td data-end=&quot;3190&quot; data-start=&quot;3177&quot; data-col-size=&quot;sm&quot;&gt;해당 사용자 조사&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;로그 기반 이상 징후 탐지는 &lt;b&gt;현장 운영에서 가장 기본적이고 즉각적인 대응 수단&lt;/b&gt;입니다. &lt;br /&gt;로그 분석은 정기적으로, 그리고 자동화 도구(예: Fail2ban, auditd)와 함께 병행하며 운영 품질과 보안 수준을 높이는 데 쓰면 좋습니다.&lt;/p&gt;</description>
      <category>Linux</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/25</guid>
      <comments>https://soyali.tistory.com/25#entry25comment</comments>
      <pubDate>Wed, 28 Jan 2026 15:41:38 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] su / su - / sudo 로그 확인 및 감사 방법</title>
      <link>https://soyali.tistory.com/24</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이전 글에서 su, su -, sudo의 차이점을 정리했는데요.&lt;br /&gt;이번에는 &lt;b&gt;운영 서버에서 권한 상승 관련 로그를 어떻게 확인할지&lt;/b&gt; 알아보겠습니다.&lt;br /&gt;로그는 &lt;b&gt;누가 어떤 권한 상승을 했는지&lt;/b&gt;를 추적하는 데 필수적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 인증/보안 로그 파일 위치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스는 인증 및 권한 상승 관련 이벤트 로그를 /var/log 아래 특정 파일에 저장합니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center; width: 56.1628%;&quot;&gt;배포판 계열인증&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 43.721%;&quot;&gt;권한 상승 로그&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 56.1628%;&quot;&gt;Ubuntu / Debian&lt;/td&gt;
&lt;td style=&quot;width: 43.721%;&quot;&gt;/var/log/auth.log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 56.1628%;&quot;&gt;RHEL / CentOS / Rocky / Alma&lt;/td&gt;
&lt;td style=&quot;width: 43.721%;&quot;&gt;/var/log/secure&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-end=&quot;823&quot; data-start=&quot;748&quot; data-ke-size=&quot;size16&quot;&gt;이 위치는 시스템 로그인/SSH/권한 상승 관련 로그를 포함합니다.&lt;/p&gt;
&lt;p data-end=&quot;823&quot; data-start=&quot;748&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;823&quot; data-start=&quot;748&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;823&quot; data-start=&quot;748&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;823&quot; data-start=&quot;748&quot; data-ke-size=&quot;size26&quot;&gt;2. su / su - 로그 확인&lt;/h2&gt;
&lt;p data-end=&quot;1530&quot; data-start=&quot;1396&quot; data-ke-size=&quot;size16&quot;&gt;su와 su -는 &lt;b&gt;사용자 전환 세션&lt;/b&gt; 이벤트로 인증 로그에 기록됩니다.&lt;br /&gt;이는 권한 상승(예: 일반 사용자 &amp;rarr; root) 시도와 성공/실패 모두에 해당합니다.&lt;/p&gt;
&lt;h3 data-end=&quot;1549&quot; data-start=&quot;1532&quot; data-ke-size=&quot;size23&quot;&gt;su/su - 로그 검색&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ubuntu/Debian:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;su&quot; /var/log/auth.log&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CentOS/RHEL:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;su&quot; /var/log/secure&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 &lt;b&gt;누가 어떤 계정으로 전환했는지&lt;/b&gt; 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. sudo 로그 확인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1)&amp;nbsp; 기본 sudo 이벤트 검색&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ubuntu/Debian:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;sudo&quot; /var/log/auth.log&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CentOS/RHEL:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo grep &quot;sudo&quot; /var/log/secure&lt;/blockquote&gt;
&lt;p data-end=&quot;1076&quot; data-start=&quot;994&quot; data-ke-size=&quot;size16&quot;&gt;이렇게 하면 &lt;b&gt;누가 sudo 명령을 실행했는지&lt;/b&gt; 로그를 확인할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-end=&quot;1076&quot; data-start=&quot;994&quot; data-ke-size=&quot;size18&quot;&gt;2) 실시간 sudo 로그 보기&lt;/p&gt;
&lt;p data-end=&quot;1076&quot; data-start=&quot;994&quot; data-ke-size=&quot;size16&quot;&gt;로그를 실시간으로 모니터링하면 &lt;b&gt;사용자 행동을 즉시 파악&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;1076&quot; data-start=&quot;994&quot; data-ke-size=&quot;size16&quot;&gt;Ubuntu/Debian:&lt;/p&gt;
&lt;blockquote data-end=&quot;1076&quot; data-start=&quot;994&quot; data-ke-style=&quot;style3&quot;&gt;sudo tail -f /var/log/auth.log | grep sudo&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CentOS/RHEL:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo tail -f /var/log/secure | grep sudo&lt;/blockquote&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1290&quot; data-ke-size=&quot;size16&quot;&gt;이 명령은 새로운 sudo 이벤트가 발생할 때마다 화면에 표시합니다.&lt;/p&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1290&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1290&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1290&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1366&quot; data-start=&quot;1290&quot; data-ke-size=&quot;size26&quot;&gt;4. SSH 인증 및 세션 로그&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sudo나 su 로그는 SSH 로그인/로그아웃 기록과 함께 보면 더 많은 맥락을 알 수 있습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;# SSH 로그인 성공 &lt;br /&gt;sudo grep &quot;Accepted&quot; /var/log/auth.log &lt;br /&gt;&lt;br /&gt;# SSH 로그인 실패 &lt;br /&gt;sudo grep &quot;Failed&quot; /var/log/auth.log&lt;/blockquote&gt;
&lt;p data-end=&quot;2055&quot; data-start=&quot;1987&quot; data-ke-size=&quot;size16&quot;&gt;이 명령은 인증 성공/실패와 관련된 로그를 보여줍니다.&lt;/p&gt;
&lt;p data-end=&quot;2055&quot; data-start=&quot;1987&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2055&quot; data-start=&quot;1987&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2055&quot; data-start=&quot;1987&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2079&quot; data-start=&quot;2062&quot; data-ke-size=&quot;size26&quot;&gt;5. 로그 분석/필터링 팁&lt;/h2&gt;
&lt;p data-end=&quot;2136&quot; data-start=&quot;2081&quot; data-ke-size=&quot;size16&quot;&gt;실무에서는 단순히 로그 전체를 보는 것보다 &lt;b&gt;필요한 이벤트만 빠르게 추출&lt;/b&gt;하는 것이 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;특정 사용자 sudo 로그&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; grep &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&quot;sudo.*username&quot;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; /var/log/auth.log&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실패한 su 시도&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; grep &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&quot;su.*authentication failure&quot;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; /var/log/auth.log&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;일정 시간대 이벤트&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo&amp;nbsp;grep&amp;nbsp;&quot;Jan 28&quot;&amp;nbsp;/var/log/auth.log | grep&amp;nbsp;sudo&lt;/blockquote&gt;
&lt;p data-end=&quot;2529&quot; data-start=&quot;2403&quot; data-ke-size=&quot;size16&quot;&gt;로그 파일은 시간이 지나면 용량이 커지고 이름이 바뀌기 때문에 압축된 로그(auth.log.*, secure.*)까지 살펴야 하는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 126px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;text-align: center; height: 21px;&quot;&gt;&lt;b&gt; 목적 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; height: 21px;&quot;&gt;&lt;b&gt; 확인 방법 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;SSH 인증 성공/실패&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;grep &quot;Accepted&quot; / grep &quot;Failed&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;sudo 사용 내역&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;grep &quot;sudo&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;su / su - 세션 전환&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;grep &quot;su&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;실시간 감시&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;`tail -f &amp;hellip;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;특정 사용자 필터&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;grep &quot;sudo.*username&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-end=&quot;2529&quot; data-start=&quot;2403&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2529&quot; data-start=&quot;2403&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2529&quot; data-start=&quot;2403&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2556&quot; data-start=&quot;2536&quot; data-ke-size=&quot;size26&quot;&gt;6. 왜 로그 확인이 중요할까?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2822&quot; data-start=&quot;2558&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2648&quot; data-start=&quot;2558&quot;&gt;&lt;b&gt;보안 점검/감사&lt;/b&gt;: 누가 언제 어떤 권한 상승을 시도했는지 기록으로 남습니다.&lt;/li&gt;
&lt;li data-end=&quot;2740&quot; data-start=&quot;2649&quot;&gt;&lt;b&gt;운영 장애 원인 분석&lt;/b&gt;: 특정 명령을 실행한 사용자를 빠르게 찾을 수 있습니다.&lt;/li&gt;
&lt;li data-end=&quot;2822&quot; data-start=&quot;2741&quot;&gt;&lt;b&gt;침입 탐지&lt;/b&gt;: 비정상적인 sudo/su 시도가 있는지 감시합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2529&quot; data-start=&quot;2403&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2529&quot; data-start=&quot;2403&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;2529&quot; data-start=&quot;2403&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2837&quot; data-start=&quot;2829&quot; data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3187&quot; data-start=&quot;2839&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2944&quot; data-start=&quot;2839&quot;&gt;인증/권한 상승 로그는 /var/log/auth.log 또는 /var/log/secure에 저장됩니다.&lt;/li&gt;
&lt;li data-end=&quot;3020&quot; data-start=&quot;2945&quot;&gt;sudo 로그는 명령 실행 정보까지 로그로 남습니다.&lt;/li&gt;
&lt;li data-end=&quot;3106&quot; data-start=&quot;3021&quot;&gt;su/su -는 &lt;b&gt;세션 전환 이벤트&lt;/b&gt;로 인증 로그에 기록됩니다.&lt;/li&gt;
&lt;li data-end=&quot;3187&quot; data-start=&quot;3107&quot;&gt;실시간 모니터링과 필터링으로 이상 징후를 빠르게 포착할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <category>auth.log</category>
      <category>Linux</category>
      <category>log</category>
      <category>Secure</category>
      <category>su</category>
      <category>su -</category>
      <category>sudo</category>
      <category>권한추적</category>
      <category>보안</category>
      <category>서버운영</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/24</guid>
      <comments>https://soyali.tistory.com/24#entry24comment</comments>
      <pubDate>Wed, 28 Jan 2026 15:10:12 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] su, su -, sudo 차이점 정리 (운영 서버 기준)</title>
      <link>https://soyali.tistory.com/23</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;팀장님께서 &lt;b&gt;su와 su -의 차이점을 아느냐&lt;/b&gt;고 물어보셔서 정리한 내용입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스 서버에서 su, su -, sudo는 모두 &lt;b&gt;권한 상승&lt;/b&gt;과 관련된 명령어지만, 목적과 동작 방식이 달라 운영 서버에서는 &lt;b&gt;추적성 / 최소 권한 / 보안 정책&lt;/b&gt; 관점에서 접근해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;344&quot; data-start=&quot;332&quot; data-ke-size=&quot;size26&quot;&gt;1. su (Switch User) 명령어&lt;/h2&gt;
&lt;div&gt;
&lt;p data-end=&quot;462&quot; data-start=&quot;362&quot; data-ke-size=&quot;size16&quot;&gt;su는 다른 사용자 계정으로 &lt;b&gt;세션을 전환&lt;/b&gt;하는 명령어입니다.&lt;br /&gt;기본값은 root이며, 해당 계정의 &lt;b&gt;비밀번호를 입력해야&lt;/b&gt; 전환이 됩니다.&lt;/p&gt;
&lt;p data-end=&quot;470&quot; data-start=&quot;464&quot; data-ke-size=&quot;size18&quot;&gt;동작&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;683&quot; data-start=&quot;472&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;536&quot; data-start=&quot;472&quot;&gt;전환 대상 계정의 &lt;b&gt;비밀번호 입력&lt;/b&gt; 필요&lt;/li&gt;
&lt;li data-end=&quot;622&quot; data-start=&quot;537&quot;&gt;전환 후 shell이 &lt;b&gt;전환된 계정 세션&lt;/b&gt;으로 유지됨&lt;/li&gt;
&lt;li data-end=&quot;683&quot; data-start=&quot;623&quot;&gt;exit으로 다시 원래 계정으로 돌아감&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;691&quot; data-start=&quot;685&quot; data-ke-size=&quot;size18&quot;&gt;실무 특징&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;841&quot; data-start=&quot;693&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;788&quot; data-start=&quot;747&quot;&gt;root로 완전히 로그인한 상태가 되므로 &lt;b&gt;연속 명령 실행이 쉬움&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;842&quot; data-start=&quot;789&quot;&gt;하지만 &lt;b&gt;전체 세션이 권한 상승 상태&lt;/b&gt;이기 때문에 실수로 시스템에 영향 줄 위험이 큽니다&lt;/li&gt;
&lt;li data-end=&quot;908&quot; data-start=&quot;843&quot;&gt;어떤 명령을 했는지 &lt;b&gt;세부 추적이 어려움&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. su - ( su with login ) 명령어&lt;/h2&gt;
&lt;p data-end=&quot;968&quot; data-start=&quot;882&quot; data-ke-size=&quot;size16&quot;&gt;su -는 단순 계정 전환이 아니라 &lt;b&gt;로그인한 것과 동일한 환경으로 전환&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-end=&quot;976&quot; data-start=&quot;970&quot; data-ke-size=&quot;size18&quot;&gt;동작&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1172&quot; data-start=&quot;978&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1077&quot; data-start=&quot;1040&quot;&gt;root의 &lt;b&gt;환경 변수, PATH, 홈 디렉토리 등이 적용&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1107&quot; data-start=&quot;1078&quot;&gt;쉘은 &lt;b&gt;root 로그인 세션&lt;/b&gt;과 동일하게 동작&lt;/li&gt;
&lt;li data-end=&quot;1130&quot; data-start=&quot;1108&quot;&gt;기본 디렉토리가 /root로 변경&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1180&quot; data-start=&quot;1174&quot; data-ke-size=&quot;size18&quot;&gt;su 와 su - 차이&lt;/p&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1333&quot; data-start=&quot;1182&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1333&quot; data-start=&quot;1244&quot;&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.8605%; text-align: center;&quot;&gt;&lt;b&gt; 옵션 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.8605%; text-align: center;&quot;&gt;&lt;b&gt;환경 반영&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31.2791%; text-align: center;&quot;&gt;&lt;b&gt;홈 디렉토리&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1264&quot; data-start=&quot;1244&quot;&gt;
&lt;td style=&quot;width: 26.8605%; text-align: center;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1249&quot; data-start=&quot;1244&quot;&gt;su&lt;/td&gt;
&lt;td style=&quot;width: 41.8605%; text-align: center;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1258&quot; data-start=&quot;1249&quot;&gt;기존 사용자 환경 유지&lt;/td&gt;
&lt;td style=&quot;width: 31.2791%; text-align: center;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1264&quot; data-start=&quot;1258&quot;&gt;변경 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1333&quot; data-start=&quot;1265&quot;&gt;
&lt;td style=&quot;width: 26.8605%; text-align: center;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1272&quot; data-start=&quot;1265&quot;&gt;su -&lt;/td&gt;
&lt;td style=&quot;width: 41.8605%; text-align: center;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1282&quot; data-start=&quot;1272&quot;&gt;root 환경 완전 반영&lt;/td&gt;
&lt;td style=&quot;width: 31.2791%; text-align: center;&quot; data-end=&quot;1292&quot; data-start=&quot;1282&quot; data-col-size=&quot;sm&quot;&gt;/root&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1324&quot; data-start=&quot;1314&quot; data-ke-size=&quot;size16&quot;&gt;실무 포인트&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1413&quot; data-start=&quot;1326&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1376&quot; data-start=&quot;1326&quot;&gt;스크립트 실행/환경 변수가 명확히 필요한 경우 **su -**가 더 정확한 결과를 보장&lt;/li&gt;
&lt;li data-end=&quot;1413&quot; data-start=&quot;1377&quot;&gt;다만 &lt;b&gt;root 직접 세션 유지&lt;/b&gt;이므로 보안 리스크는 여전&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. sudo (Superuser Do) 명령어&lt;/h2&gt;
&lt;p data-end=&quot;1495&quot; data-start=&quot;1422&quot; data-ke-size=&quot;size16&quot;&gt;sudo는 &lt;b&gt;명령어 단위로 권한 상승&lt;/b&gt;을 수행합니다.&lt;br /&gt;shell 전환 없이 &lt;b&gt;지정한 명령만 root 권한으로 실행&lt;/b&gt;됩니다.&lt;/p&gt;
&lt;p data-end=&quot;1503&quot; data-start=&quot;1497&quot; data-ke-size=&quot;size18&quot;&gt;동작&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1702&quot; data-start=&quot;1505&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1596&quot; data-start=&quot;1575&quot;&gt;&lt;b&gt;본인 계정 비밀번호 입력&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1629&quot; data-start=&quot;1597&quot;&gt;/etc/sudoers에서 실행 권한 여부 확인&lt;/li&gt;
&lt;li data-end=&quot;1657&quot; data-start=&quot;1630&quot;&gt;명령 실행 후 &lt;b&gt;일반 권한 상태로 돌아감&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1710&quot; data-start=&quot;1704&quot; data-ke-size=&quot;size18&quot;&gt;실무 특징&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1803&quot; data-start=&quot;1670&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1700&quot; data-start=&quot;1670&quot;&gt;&lt;b&gt;명령 단위 권한 적용&lt;/b&gt; &amp;rarr; 최소 권한 원칙&lt;/li&gt;
&lt;li data-end=&quot;1770&quot; data-start=&quot;1701&quot;&gt;각 명령 실행 시 &lt;b&gt;로그가 남아 추적/감사 가능&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1803&quot; data-start=&quot;1771&quot;&gt;운영 서버에서는 &lt;b&gt;표준 권한 상승 방식&lt;/b&gt;으로 간주됨&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1920&quot; data-start=&quot;1712&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: none;&quot; data-end=&quot;1920&quot; data-start=&quot;1861&quot;&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. su / su - / sudo 차이점&lt;/h2&gt;
&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 구분 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; su &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; su - &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; sudo &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;실행 방식&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;사용자 전환&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;root 로그인 환경처럼 전환&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;특정 명령 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;비밀번호&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;전환 대상 계정&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;전환 대상 계정&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;본인 계정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;환경 반영&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;본인 환경 유지&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;root 환경 완전 반영&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;본인 환경 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;명령 로그&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;제한적&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;제한적&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;명령 단위로 남음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;운영 권장&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;X&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;X&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;&lt;b&gt;O&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 실무 적용 기준&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;2455&quot; data-start=&quot;2155&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;2255&quot; data-start=&quot;2155&quot;&gt;&lt;b&gt;기본 원칙&lt;/b&gt;&lt;br /&gt;작업은 sudo 사용으로 수행 &amp;rarr; 각 명령이 &lt;b&gt;추적/로그 기록&lt;/b&gt;되어야 함&lt;/li&gt;
&lt;li data-end=&quot;2356&quot; data-start=&quot;2257&quot;&gt;&lt;b&gt;root 직접 로그인&lt;/b&gt;&lt;br /&gt;보안 정책 상 차단 권장 (root 비밀번호 공유 리스크가 큼)&lt;/li&gt;
&lt;li data-end=&quot;2455&quot; data-start=&quot;2358&quot;&gt;&lt;b&gt;su / su - 활용 케이스&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2455&quot; data-start=&quot;2387&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2419&quot; data-start=&quot;2387&quot;&gt;&lt;b&gt;테스트/개발 환경&lt;/b&gt;에서 빠른 전환이 필요할 때&lt;/li&gt;
&lt;li data-end=&quot;2455&quot; data-start=&quot;2423&quot;&gt;&lt;b&gt;복구/비상 상황&lt;/b&gt;에서 전체 환경 점검이 필요할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;운영 서버에서 중요한 건 &amp;ldquo;편한 권한 획득&amp;rdquo;이 아니라 &amp;ldquo;누가 무엇을 실행했는지 추적 가능한가?&amp;rdquo; 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2731&quot; data-start=&quot;2722&quot; data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2820&quot; data-start=&quot;2733&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2753&quot; data-start=&quot;2733&quot;&gt;su | 전체 세션 root 권한 상승 (환경 유지)&lt;/li&gt;
&lt;li data-end=&quot;2784&quot; data-start=&quot;2754&quot;&gt;su - | root 로그인 환경으로 전체 반영&lt;/li&gt;
&lt;li data-end=&quot;2820&quot; data-start=&quot;2785&quot;&gt;sudo | 단일 명령만 권한 상승 &amp;rarr; &lt;b&gt;로그 + 제어 가능&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영에서는 &lt;b&gt;sudo 기반 권한 관리&lt;/b&gt;가 &lt;b&gt;표준&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <category>Linux</category>
      <category>su</category>
      <category>su -</category>
      <category>sudo</category>
      <category>권한관리</category>
      <category>명령어</category>
      <category>보안</category>
      <category>서버운영</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/23</guid>
      <comments>https://soyali.tistory.com/23#entry23comment</comments>
      <pubDate>Wed, 28 Jan 2026 14:53:05 +0900</pubDate>
    </item>
    <item>
      <title>[ Oracle SQL Developer ] PDB 확인 및 사용자 계정 생성 절차</title>
      <link>https://soyali.tistory.com/22</link>
      <description>&lt;p data-end=&quot;338&quot; data-start=&quot;298&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;338&quot; data-start=&quot;298&quot; data-ke-size=&quot;size16&quot;&gt;Oracle 12c 이후 버전부터는 &lt;b&gt;멀티 테넌트(Multitenant)&lt;/b&gt; 구조가 도입되어, &lt;br /&gt;데이터베이스가 다음과 같이 두 가지 계층으로 구성됩니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 55px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 37.7907%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt; 구분 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 62.2093%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt; 설명 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 37.7907%; height: 17px; text-align: center;&quot;&gt;CDB (Container Database)&lt;/td&gt;
&lt;td style=&quot;width: 62.2093%; height: 17px;&quot;&gt;전체 시스템의 큰 틀로, Oracle 인스턴스의 루트 컨테이너 역할을 수행. &lt;br /&gt;시스템 계정(SYS, SYSTEM)과 공통 메타데이터 관리.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 37.7907%; height: 17px; text-align: center;&quot;&gt;PDB (Pluggable Database)&lt;/td&gt;
&lt;td style=&quot;width: 62.2093%; height: 17px;&quot;&gt;실제 사용자 데이터와 객체가 존재하는 독립적인 데이터베이스 단위. &lt;br /&gt;일반 사용자 계정은 PDB 내부에 생성됨.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 현재 접속 컨테이너 확인&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 현재 어떤 컨테이너(CDB 또는 PDB)에 접속 중인지 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;SHOW CON_NAME;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;-------------------------------------------------------------------------------- &lt;br /&gt;CDB$ROOT&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CDB$ROOT로 표시된다면 현재 &lt;b&gt;CDB 루트 컨테이너&lt;/b&gt;에 접속 중이며, 이는 일반적으로 SYS 또는 SYSTEM 계정으로 접속한 상태입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. CDB 내 PDB 목록 확인&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CDB에 등록된 PDB(플러그형 데이터베이스) 목록을 확인합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;SHOW PDBS;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;CON_ID CON_NAME OPEN_MODE RESTRICTED &lt;br /&gt;----------&amp;nbsp; &amp;nbsp;---------&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ----------&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ---------- &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; PDB$SEED&amp;nbsp; &amp;nbsp; READ ONLY&amp;nbsp; &amp;nbsp; &amp;nbsp;NO &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; XEPDB1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;READ WRITE&amp;nbsp; &amp;nbsp;NO&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt; ※ 컬럼별 의미&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 93px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 31.6279%; height: 21px;&quot;&gt;컬럼명&lt;/td&gt;
&lt;td style=&quot;width: 68.3721%; height: 21px;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 31.6279%; height: 21px;&quot;&gt;CON_ID&lt;/td&gt;
&lt;td style=&quot;width: 68.3721%; height: 21px;&quot;&gt;컨테이너 고유 ID. 각 CDB/PDB에 부여되는 내부 식별자.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 31.6279%; height: 17px;&quot;&gt;CON_NAME&lt;/td&gt;
&lt;td style=&quot;width: 68.3721%; height: 17px;&quot;&gt;컨테이너 이름 (CDB$ROOT, PDB$SEED, XEPDB1 등).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 31.6279%; height: 17px;&quot;&gt;OPEN_MODE&lt;/td&gt;
&lt;td style=&quot;width: 68.3721%; height: 17px;&quot;&gt;컨테이너 접근 모드.&lt;br /&gt;- MOUNTED: 데이터파일만 연결, 접속 불가&lt;br /&gt;- READ ONLY: 읽기 전용&lt;br /&gt;- READ WRITE: 읽기&amp;middot;쓰기 가능(일반 운영 상태)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 31.6279%; height: 17px;&quot;&gt;RESTRICTED&lt;/td&gt;
&lt;td style=&quot;width: 68.3721%; height: 17px;&quot;&gt;제한 모드 여부.&lt;br /&gt;- YES: SYSDBA 등 특권 사용자만 접속 가능&lt;br /&gt;- NO: 일반 사용자 접속 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;참고: PDB$SEED는 새로운 PDB를 생성할 때 복제되는 템플릿 PDB로, 항상 READ ONLY 상태입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;3. PDB로 세션 전환&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반 사용자 계정은 &lt;b&gt;CDB$ROOT&lt;/b&gt;가 아닌 &lt;b&gt;PDB&lt;/b&gt; 내부에서 생성해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 명령으로 사용할 PDB로 세션을 전환합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;ALTER SESSION SET CONTAINER = &amp;lt;CON_NAME 입력&amp;gt;;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 &lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;&amp;lt;CON_NAME&amp;gt;&lt;/span&gt; 컨테이너에서 사용자 계정 및 객체를 생성할 수 있습니다. .&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 사용자 계정 생성&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;CREATE USER test IDENTIFIED BY test;&lt;/blockquote&gt;
&lt;p data-end=&quot;1868&quot; data-start=&quot;1782&quot; data-ke-size=&quot;size16&quot;&gt;test 계정을 생성하고 비밀번호를 test로 설정합니다.&lt;br /&gt;이 상태에서는 아직 접속 및 객체 생성 권한이 없으므로 추가 권한을 부여해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 기본 권한 부여&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;GRANT CONNECT, RESOURCE TO &amp;lt;계정명&amp;gt;;&lt;/blockquote&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 21.7054%; text-align: center;&quot;&gt;구분&lt;/td&gt;
&lt;td style=&quot;width: 24.3799%; text-align: center;&quot;&gt;권한&lt;/td&gt;
&lt;td style=&quot;width: 53.9146%; text-align: center;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 21.7054%; text-align: center;&quot;&gt;로그인&lt;/td&gt;
&lt;td style=&quot;width: 24.3799%; text-align: center;&quot;&gt;CONNECT&lt;/td&gt;
&lt;td style=&quot;width: 53.9146%;&quot;&gt;DB 접속 가능 (CREATE SESSION)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 21.7054%; text-align: center;&quot;&gt;객체 생성&lt;/td&gt;
&lt;td style=&quot;width: 24.3799%; text-align: center;&quot;&gt;RESOURCE&lt;/td&gt;
&lt;td style=&quot;width: 53.9146%;&quot;&gt;일반 객체 생성 권한 (TABLE, INDEX, CLUSTER 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. 추가 객체 생성 권한 (옵션)&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;GRANT 권한(옵션1), 권한(옵션2).......... TO &amp;lt;사용자명&amp;gt;;&lt;/blockquote&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 189px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt; 권한(옵션)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt; 설명 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 24px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 24px;&quot;&gt;CREATE VIEW&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 24px;&quot;&gt;View 생성 가능 (SELECT 문을 기반으로 논리적 테이블 작성 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 21px;&quot;&gt;CREATE SEQUENCE&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 21px;&quot;&gt;SEQUENCE 생성 가능 (자동 증가 번호용 객체 생성)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 21px;&quot;&gt;CREATE PROCEDURE&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 21px;&quot;&gt;PL/SQL 프로시저, 함수(Function), 패키지 생성 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 17px;&quot;&gt;CREATE TRIGGER&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 17px;&quot;&gt;트리거(Trigger) 생성 가능 (데이터 변경 시 자동 동작 로직)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 17px;&quot;&gt;CREATE SYNONYM&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 17px;&quot;&gt;SYNONYM 생성 가능 (객체의 별칭을 부여 &amp;mdash; 스키마 분리 시 유용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 17px;&quot;&gt;CREATE TYPE&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 17px;&quot;&gt;사용자 정의 데이터 타입 생성 가능 (OBJECT TYPE, VARRAY 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 17px;&quot;&gt;CREATE MATERIALIZED VIEW&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 17px;&quot;&gt;물리적 뷰(Materialized View) 생성 가능 &amp;mdash; 주로 성능 튜닝용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 17px;&quot;&gt;CREATE JOB&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 17px;&quot;&gt;DB 스케줄러(Job) 생성 가능 (자동 배치작업용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 32.3256%; height: 17px;&quot;&gt;CREATE TABLESPACE&lt;/td&gt;
&lt;td style=&quot;width: 67.6744%; height: 17px;&quot;&gt;별도 테이블스페이스 생성 가능 (일반 개발자보단 DBA 권한 수준)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;※ 요약&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 120px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 15.7752%; text-align: center; height: 21px;&quot;&gt;단계&lt;/td&gt;
&lt;td style=&quot;width: 47.7519%; text-align: center; height: 21px;&quot;&gt;주요 명령&lt;/td&gt;
&lt;td style=&quot;width: 36.4728%; text-align: center; height: 21px;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 14px;&quot;&gt;
&lt;td style=&quot;width: 15.7752%; height: 14px; text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 47.7519%; height: 14px;&quot;&gt;SHOW CON_NAME;&lt;/td&gt;
&lt;td style=&quot;width: 36.4728%; height: 14px;&quot;&gt;현재 컨테이너 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 15.7752%; height: 17px; text-align: center;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 47.7519%; height: 17px;&quot;&gt;SHOW PDBS;&lt;/td&gt;
&lt;td style=&quot;width: 36.4728%; height: 17px;&quot;&gt;CDB 내 PDB 목록 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 15.7752%; height: 17px; text-align: center;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 47.7519%; height: 17px;&quot;&gt;ALTER SESSION SET CONTAINER = &lt;span style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot;&gt;CON_NAME&lt;/span&gt;;&lt;/td&gt;
&lt;td style=&quot;width: 36.4728%; height: 17px;&quot;&gt;세션을 PDB로 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 15.7752%; height: 17px; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 47.7519%; height: 17px;&quot;&gt;CREATE USER test IDENTIFIED BY test;&lt;/td&gt;
&lt;td style=&quot;width: 36.4728%; height: 17px;&quot;&gt;사용자 계정 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 15.7752%; height: 17px; text-align: center;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 47.7519%; height: 17px;&quot;&gt;GRANT CONNECT, RESOURCE TO test;&lt;/td&gt;
&lt;td style=&quot;width: 36.4728%; height: 17px;&quot;&gt;기본 권한 부여&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 15.7752%; height: 17px; text-align: center;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 47.7519%; height: 17px;&quot;&gt;GRANT CREATE VIEW, ... TO test;&lt;/td&gt;
&lt;td style=&quot;width: 36.4728%; height: 17px;&quot;&gt;필요 시 추가 권한 부여&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Oracle</category>
      <category>Container Database</category>
      <category>Oracle</category>
      <category>Oracle Database</category>
      <category>Oracle계정</category>
      <category>PDB</category>
      <category>Pluggable Database</category>
      <category>Sql Developer</category>
      <category>계정생성</category>
      <category>권한부여</category>
      <category>데이터베이스접속</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/22</guid>
      <comments>https://soyali.tistory.com/22#entry22comment</comments>
      <pubDate>Wed, 12 Nov 2025 16:05:05 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] curl GET 요청 시 URL 인코딩이 꼭 필요한 이유와 처리 방법</title>
      <link>https://soyali.tistory.com/21</link>
      <description>&lt;p data-end=&quot;419&quot; data-start=&quot;288&quot; data-ke-size=&quot;size16&quot;&gt;API 호출을 위해 curl을 사용하시는 분들이라면, GET 요청 시 쿼리 파라미터에 &lt;b&gt;공백, 콜론, 쉼표&lt;/b&gt; 등 특수 문자가 포함될 경우 서버에서 &lt;b&gt;요청을 제대로 인식하지 못하는 문제&lt;/b&gt;를 경험하신 적이 있을 것입니다.&lt;/p&gt;
&lt;p data-end=&quot;538&quot; data-start=&quot;421&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;538&quot; data-start=&quot;421&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;538&quot; data-start=&quot;421&quot; data-ke-size=&quot;size23&quot;&gt;왜 인코딩이 필요할까?&lt;/h3&gt;
&lt;p data-end=&quot;612&quot; data-start=&quot;565&quot; data-ke-size=&quot;size16&quot;&gt;GET 요청에서 파라미터는 보통 다음과 같이 &lt;b&gt;URL 쿼리 문자열&lt;/b&gt;에 포함됩니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;https://호스트명:포트/경로?key=value&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;706&quot; data-start=&quot;657&quot; data-ke-size=&quot;size16&quot;&gt;하지만 이 쿼리 문자열에 다음과 같은 &lt;b&gt;문자&lt;/b&gt;가 포함되면 문제가 발생할 수 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;755&quot; data-start=&quot;708&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;718&quot; data-start=&quot;708&quot;&gt;공백 ( )&lt;/li&gt;
&lt;li data-end=&quot;729&quot; data-start=&quot;719&quot;&gt;쉼표 (,)&lt;/li&gt;
&lt;li data-end=&quot;740&quot; data-start=&quot;730&quot;&gt;콜론 (:)&lt;/li&gt;
&lt;li data-end=&quot;755&quot; data-start=&quot;741&quot;&gt;더하기 기호 (+)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, RFC 2822 형식의 날짜를 쿼리 파라미터 값으로 전달해야 할 경우, 날짜 문자열은 다음과 같은 구조를 가집니다:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Fri, 13 Jun 2025 15:30:00 +0900&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문자열에는 공백, 쉼표, 콜론, 더하기 기호 등 여러 특수 문자가 포함되어 있어, 이를 URL에 그대로 전달하면 구문 오류가 발생하거나 파라미터가 잘못 해석될 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인코딩하지 않고 아래와 같이 전송할 경우,&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl &quot;https://호스트명:포트/경로?time=Fri, 13 Jun 2025 15:30:00 +0900&quot;&lt;/blockquote&gt;
&lt;p data-end=&quot;1121&quot; data-start=&quot;1059&quot; data-ke-size=&quot;size16&quot;&gt;서버는 &lt;b&gt;time 파라미터를 정확하게 인식하지 못하거나 오류를 반환&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;1121&quot; data-start=&quot;1059&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1121&quot; data-start=&quot;1059&quot; data-ke-size=&quot;size16&quot;&gt;반면, URL 인코딩을 적용하면,&lt;/p&gt;
&lt;blockquote data-end=&quot;1121&quot; data-start=&quot;1059&quot; data-ke-style=&quot;style3&quot;&gt;curl &quot;https://호스트명:포트/경로?time=Fri%2C%2013%20Jun%202025%2015%3A30%3A00%20%2B0900&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공백, 쉼표, 콜론, 더하기 기호가 모두 인코딩되어 쿼리 파라미터로 정상 전달되고, 서버에서 올바르게 해석할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. curl 호출 시 자동으로 인코딩하는 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;curl에서 --data-urlencode 옵션을 사용하면, 쿼리 파라미터 값을 자동으로 URL 인코딩하여 전송할 수 있습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -G \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;&quot;&lt;span style=&quot;color: #409d00;&quot;&gt;https://&lt;/span&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;${호스트명}:${포트}/${경로}&lt;/span&gt;&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;--data-urlencode &quot;&lt;span style=&quot;color: #409d00;&quot;&gt;input_datetime&lt;/span&gt;=&lt;span style=&quot;color: #f89009;&quot;&gt;$rfc2822_datetime&lt;/span&gt;&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;&lt;span style=&quot;color: #409d00;&quot;&gt;accept: application/json&lt;/span&gt;&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;609&quot; data-start=&quot;582&quot;&gt;-G 옵션은 GET 요청임을 의미하며,&lt;/li&gt;
&lt;li data-end=&quot;653&quot; data-start=&quot;610&quot;&gt;--data-urlencode는 파라미터 값을 URL 인코딩해 줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &lt;span style=&quot;color: #333333;&quot;&gt;Shell script&lt;/span&gt; 함수로 수동 인코딩하기&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;urlencode() { &lt;br /&gt;&amp;nbsp; &amp;nbsp;local raw=&quot;$1&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp;local encoded=&quot;&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp;local i c &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;for ((i=0; i&amp;lt;${#raw}; i++)); do &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;c=&quot;${raw:i:1}&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case &quot;$c&quot; in &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [a-zA-Z0-9.~_-]) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;encoded+=&quot;$c&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *) &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# ASCII 문자를 %HEX 형식으로 변환 &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;printf -v hex '%%%02X' &quot;'$c&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;encoded+=&quot;$hex&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; esac &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;done &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo &quot;$encoded&quot; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;rfc2822_datetime=&quot;Fri, 13 Jun 2025 15:30:00 +0900&quot; &lt;br /&gt;encoded_datetime=$(urlencode &quot;$rfc2822_datetime&quot;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;curl &quot;https://${호스트명}:${포트}/${경로}?time=${encoded_datetime}&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;accept: application/json&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/21</guid>
      <comments>https://soyali.tistory.com/21#entry21comment</comments>
      <pubDate>Fri, 13 Jun 2025 15:20:04 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] 사용자 입력 값을 RFC 2822 형식으로 변환하는 방법 - Shell script</title>
      <link>https://soyali.tistory.com/20</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;최근 API 작업 중, 날짜 값을 RFC 2822 형식으로 변환해 전달해야 할 일이 있었습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;RFC 2822는 이메일 메시지의 형식을 정의한 인터넷 표준 문서이지만, 사용자가 직접 입력하기에는 다소 까다로운 부분이 있어 변환 방법을 찾아보고 정리하게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;257&quot; data-start=&quot;241&quot; data-ke-size=&quot;size26&quot;&gt;- RFC 2822 정의&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;449&quot; data-start=&quot;259&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;309&quot; data-start=&quot;259&quot;&gt;&lt;b&gt;RFC 2822&lt;/b&gt;는 이메일 메시지의 형식을 정의한 &lt;b&gt;인터넷 표준 문서&lt;/b&gt;입니다.&lt;/li&gt;
&lt;li data-end=&quot;343&quot; data-start=&quot;310&quot;&gt;제목: Internet Message Format&lt;/li&gt;
&lt;li data-end=&quot;391&quot; data-start=&quot;344&quot;&gt;작성자: Internet Engineering Task Force (IETF)&lt;/li&gt;
&lt;li data-end=&quot;449&quot; data-start=&quot;392&quot;&gt;주요 목적: &lt;b&gt;이메일 헤더 구조&lt;/b&gt;, &lt;b&gt;날짜 포맷&lt;/b&gt;, &lt;b&gt;주소 포맷&lt;/b&gt; 등 메시지 형식을 통일&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;RFC란?&lt;br /&gt;Request For Comments &amp;ndash; 인터넷 표준 문서를 정의한 문서 시리즈입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;RFC 2822 날짜 포맷 예시&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Tue, 14 May 2024 13:55:30 +0900&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;형식의 구성 요소 :&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;요일, 일 월 연도 시:분:초 시간대&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #ffffff; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Shell script&lt;/span&gt;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;#!/bin/bash&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;# 입력받은 날짜 (YYYYMMddhhmmss 형식)&lt;/i&gt; &lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;input_datetime&lt;/span&gt;=&lt;span style=&quot;color: #f89009;&quot;&gt;$1&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;i&gt;# 유효성 검사 함수&lt;/i&gt; &lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;validate_format&lt;/span&gt;() { &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #8a3db6;&quot;&gt;if&lt;/span&gt; [[ ! &quot;&lt;span style=&quot;color: #f89009;&quot;&gt;$1&lt;/span&gt;&quot; =~ ^[0-9]{14}$ ]]; &lt;span style=&quot;color: #8a3db6;&quot;&gt;then&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #f89009;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #409d00;&quot;&gt;&quot;형식 오류: 입력한 날짜가 YYYYMMddhhmmss 형식이 아닙니다.&quot;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #f89009;&quot;&gt;exit&lt;/span&gt; 1 &lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #8a3db6;&quot;&gt; fi&lt;/span&gt; &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;i&gt;# RFC 2822 형식으로 변환 함수&lt;/i&gt; &lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;convert_to_rfc2822&lt;/span&gt;() {&lt;br /&gt;&amp;nbsp; &amp;nbsp;datetime=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;$1&lt;/span&gt;&quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;YYYY=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;${datetime:0:4}&lt;/span&gt;&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp;MM=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;${datetime:4:2}&lt;/span&gt;&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp;dd=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;${datetime:6:2}&lt;/span&gt;&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp;hh=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;${datetime:8:2}&lt;/span&gt;&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp;mm=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;${datetime:10:2}&lt;/span&gt;&quot; &lt;br /&gt;&amp;nbsp; &amp;nbsp;ss=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;${datetime:12:2}&lt;/span&gt;&quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;formatted_datetime=&quot;&lt;span style=&quot;color: #f89009;&quot;&gt;${YYYY}&lt;/span&gt;-&lt;span style=&quot;color: #f89009;&quot;&gt;${MM}&lt;/span&gt;-&lt;span style=&quot;color: #f89009;&quot;&gt;${dd}&lt;/span&gt; &lt;span style=&quot;color: #f89009;&quot;&gt;${hh}&lt;/span&gt;:&lt;span style=&quot;color: #f89009;&quot;&gt;${mm}&lt;/span&gt;:&lt;span style=&quot;color: #f89009;&quot;&gt;${ss}&lt;/span&gt;&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;i&gt;# Asia/Seoul 타임존 기준으로 변환 후 출력&lt;/i&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp;TZ=Asia/Seoul &lt;span style=&quot;color: #f89009;&quot;&gt;date&lt;/span&gt; -d &quot;&lt;span style=&quot;color: #f89009;&quot;&gt;$formatted_datetime&lt;/span&gt;&quot; &lt;span style=&quot;color: #409d00;&quot;&gt;'+%a, %d %b %Y %H:%M:%S %z'&lt;/span&gt; &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;# 입력값 유효성 검사&lt;/i&gt; &lt;br /&gt;validate_format &quot;&lt;span style=&quot;color: #f89009;&quot;&gt;$input_datetime&lt;/span&gt;&quot; &lt;br /&gt;&lt;br /&gt;# 변환된 RFC 2822 문자열 &lt;br /&gt;rfc2822_datetime=$(convert_to_rfc2822 &quot;&lt;span style=&quot;color: #f89009;&quot;&gt;$input_datetime&lt;/span&gt;&quot;)&lt;br /&gt;&lt;br /&gt;echo &quot;$rfc2822_datetime&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력 :&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;202506121600&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변환 출력 :&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Thu, 12 Jun 2025 16:00:00 +0900&lt;/blockquote&gt;</description>
      <category>Linux</category>
      <category>rfc2822</category>
      <category>yyyymmddhhmmss</category>
      <category>날짜변환</category>
      <category>리눅스</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/20</guid>
      <comments>https://soyali.tistory.com/20#entry20comment</comments>
      <pubDate>Fri, 13 Jun 2025 14:45:58 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] curl로 REST API 호출하는 방법</title>
      <link>https://soyali.tistory.com/19</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;curl을 활용해 REST API의 대표적인 HTTP 메서드(&lt;b&gt;GET, POST, PUT, DELETE, PATCH&lt;/b&gt;)를 사용하는 방법을 정리해보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;curl 기본 구조&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X &amp;lt;HTTP_METHOD&amp;gt; &amp;lt;URL&amp;gt; [옵션들]&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-X는 사용할 HTTP 메서드를 지정하는 옵션입니다. 그 외에도 -H(헤더), -d(데이터), -i(응답 헤더 포함) 등의 옵션이 자주 사용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1. GET &amp;ndash; 데이터 조회 (기본 방식)&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl https://api.example.com/users&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은 명시적으로:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X GET https://api.example.com/users&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;477&quot; data-start=&quot;444&quot;&gt;curl &lt;b&gt;기본값이&lt;b&gt; GET&lt;/b&gt;&lt;/b&gt;이기 때문에&lt;b&gt; -X GET 생략 가능 &lt;/b&gt;합니다.&lt;/li&gt;
&lt;li data-end=&quot;477&quot; data-start=&quot;444&quot;&gt;요청 본문(body) 없습니다.&lt;/li&gt;
&lt;li data-end=&quot;477&quot; data-start=&quot;444&quot;&gt;&lt;b&gt;파라미터는 URL에 붙임&lt;/b&gt;: ?key=value&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파라미터 예시 :&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl &quot;https://api.example.com/users?name=soyali&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. POST &amp;ndash; 데이터 생성&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X POST https://api.example.com/users \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;Content-Type: application/json&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-d '{&quot;name&quot;: &quot;soyali&quot;, &quot;email&quot;: &quot;test@example.com&quot;}'&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;803&quot; data-start=&quot;779&quot;&gt;-X POST: POST 메서드 명시해야 합니다.&lt;/li&gt;
&lt;li data-end=&quot;834&quot; data-start=&quot;804&quot;&gt;-d: 전송할 데이터 지정 (JSON, 폼 등)&lt;/li&gt;
&lt;li data-end=&quot;866&quot; data-start=&quot;835&quot;&gt;-H: Content-Type 헤더 지정 (중요)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;폼 데이터로 전송할 경우:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X POST https://api.example.com/users \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-d &quot;name=soyali&amp;amp;email=test@example.com&quot;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. PUT&amp;nbsp; &amp;ndash; 데이터 전체 수정&amp;nbsp;&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X PUT https://api.example.com/users/soyali \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;Content-Type: application/json&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-d '{&quot;name&quot;: &quot;soyali2&quot;, &quot;email&quot;: &quot;newtest@example.com&quot;}'&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1226&quot; data-start=&quot;1178&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1202&quot; data-start=&quot;1178&quot;&gt;전체 필드를 수정할 때 사용 합니다.&lt;/li&gt;
&lt;li data-end=&quot;1226&quot; data-start=&quot;1203&quot;&gt;특정 리소스(ID 등)를 URL에 포함시키는 것이 일반적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1265&quot; data-start=&quot;1228&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;-X와 -d, -H 조합은 POST와 동일합니다.&lt;/p&gt;
&lt;p data-end=&quot;1265&quot; data-start=&quot;1228&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1265&quot; data-start=&quot;1228&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;1265&quot; data-start=&quot;1228&quot; data-ke-size=&quot;size23&quot;&gt;4. PATCH &amp;ndash; 데이터 부분 수정 (선택)&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X PATCH https://api.example.com/users/soyali \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;Content-Type: application/json&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-d '{&quot;email&quot;: &quot;test_updated@example.com&quot;}'&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1448&quot; data-start=&quot;1414&quot;&gt;PUT과 비슷하지만 &lt;b&gt;전체 필드가 아니라 일부&lt;/b&gt;만 전송하여 수정합니다.&lt;/li&gt;
&lt;li data-end=&quot;1448&quot; data-start=&quot;1414&quot;&gt;리소스의 일부분만 수정할 때 사용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;-X와 -d, -H 조합은 POST와 동일합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. DELETE &amp;ndash; 데이터 삭제&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X DELETE https://api.example.com/users/soyali&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;287&quot; data-start=&quot;251&quot;&gt;대부분의 DELETE 요청은 &lt;b&gt;요청 본문이 없습니다.&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;327&quot; data-start=&quot;288&quot;&gt;주로 &lt;b&gt;URL에 삭제할 리소스의 식별자&lt;/b&gt;를 포함하여 사용합니다.&lt;/li&gt;
&lt;li data-end=&quot;387&quot; data-start=&quot;328&quot;&gt;요청을 보낸다고 해서 무조건 삭제되는 것은 아니며, 서버에서 해당 리소스를 허용한 경우에만 삭제됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-end=&quot;407&quot; data-start=&quot;389&quot; data-ke-size=&quot;size20&quot;&gt;인증이 필요한 경우&lt;/h4&gt;
&lt;p data-end=&quot;453&quot; data-start=&quot;409&quot; data-ke-size=&quot;size16&quot;&gt;보안이 설정된 API는 Authorization 헤더를 함께 보내야 합니다.&lt;/p&gt;
&lt;blockquote data-end=&quot;453&quot; data-start=&quot;409&quot; data-ke-style=&quot;style3&quot;&gt;&lt;br /&gt;curl -X DELETE https://api.example.com/users/soyali \&lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;Authorization: Bearer YOUR_TOKEN&quot;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Bearer Token은 API 서버에서 사용자를 인증하는 데 사용됩니다.&lt;/li&gt;
&lt;li&gt;실제 운영 환경에서는 토큰 없이는 삭제 요청이 거부되기도 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1614&quot; data-start=&quot;1597&quot; data-ke-size=&quot;size26&quot;&gt;자주 쓰는 옵션 정리&lt;/h2&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1854&quot; data-start=&quot;1616&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1854&quot; data-start=&quot;1644&quot;&gt;
&lt;tr data-end=&quot;1680&quot; data-start=&quot;1644&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1651&quot; data-start=&quot;1644&quot;&gt;-X&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1680&quot; data-start=&quot;1651&quot;&gt;HTTP 메서드 지정 (GET, POST 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1733&quot; data-start=&quot;1681&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1688&quot; data-start=&quot;1681&quot;&gt;-H&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1733&quot; data-start=&quot;1688&quot;&gt;헤더 추가 (Content-Type, Authorization 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1761&quot; data-start=&quot;1734&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1741&quot; data-start=&quot;1734&quot;&gt;-d&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1761&quot; data-start=&quot;1741&quot;&gt;전송할 데이터 (JSON 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1785&quot; data-start=&quot;1762&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1769&quot; data-start=&quot;1762&quot;&gt;-i&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1785&quot; data-start=&quot;1769&quot;&gt;응답 헤더도 함께 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1812&quot; data-start=&quot;1786&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1793&quot; data-start=&quot;1786&quot;&gt;-v&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1812&quot; data-start=&quot;1793&quot;&gt;디버깅용 verbose 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1854&quot; data-start=&quot;1813&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1820&quot; data-start=&quot;1813&quot;&gt;-u&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1854&quot; data-start=&quot;1820&quot;&gt;인증 정보 (-u username:password)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-start=&quot;2185&quot; data-end=&quot;2283&quot; data-ke-size=&quot;size16&quot;&gt;curl은 요청 방식만 바꿔주면 거의 모든 REST API 테스트에 대응할 수 있습니다.&lt;br /&gt;중요한 건 메서드마다&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;사용 목적&lt;/b&gt;과&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;전달 방식&lt;/b&gt;이 다르다는 점입니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-start=&quot;2285&quot; data-end=&quot;2378&quot;&gt;
&lt;li data-start=&quot;2285&quot; data-end=&quot;2309&quot;&gt;&lt;b&gt;GET&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;rarr; URL로 파라미터 전송&lt;/li&gt;
&lt;li data-start=&quot;2310&quot; data-end=&quot;2350&quot;&gt;&lt;b&gt;POST/PUT/PATCH&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;rarr; body에 JSON 데이터 전달&lt;/li&gt;
&lt;li data-start=&quot;2351&quot; data-end=&quot;2378&quot;&gt;&lt;b&gt;DELETE&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;rarr; URL만으로 요청 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1468&quot; data-start=&quot;1455&quot; data-ke-size=&quot;size26&quot;&gt;마무리 요약표&lt;/h2&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1825&quot; data-start=&quot;1470&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1825&quot; data-start=&quot;1585&quot;&gt;
&lt;tr data-end=&quot;1632&quot; data-start=&quot;1585&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1595&quot; data-start=&quot;1585&quot;&gt;GET&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1608&quot; data-start=&quot;1595&quot;&gt;데이터 조회&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1632&quot; data-start=&quot;1608&quot;&gt;유저 목록, 상세 정보 요청&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1682&quot; data-start=&quot;1633&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1643&quot; data-start=&quot;1633&quot;&gt;POST&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1656&quot; data-start=&quot;1643&quot;&gt;데이터 생성&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1682&quot; data-start=&quot;1656&quot;&gt;유저 추가, 글 등록 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1728&quot; data-start=&quot;1683&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1693&quot; data-start=&quot;1683&quot;&gt;PUT&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1704&quot; data-start=&quot;1693&quot;&gt;데이터 전체 수정&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1728&quot; data-start=&quot;1704&quot;&gt;유저 정보 전체 덮어쓰기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1776&quot; data-start=&quot;1729&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1739&quot; data-start=&quot;1729&quot;&gt;PATCH&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1750&quot; data-start=&quot;1739&quot;&gt;데이터 일부 수정&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1776&quot; data-start=&quot;1750&quot;&gt;유저 이메일만 수정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1825&quot; data-start=&quot;1777&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1787&quot; data-start=&quot;1777&quot;&gt;DELETE&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1800&quot; data-start=&quot;1787&quot;&gt;데이터 삭제&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1825&quot; data-start=&quot;1800&quot;&gt;특정 유저나 리소스 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <category>curl</category>
      <category>delete</category>
      <category>Get</category>
      <category>HTTP요청</category>
      <category>PATCH</category>
      <category>post</category>
      <category>Put</category>
      <category>restAPI</category>
      <category>리눅스기초</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/19</guid>
      <comments>https://soyali.tistory.com/19#entry19comment</comments>
      <pubDate>Fri, 13 Jun 2025 12:25:08 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] 리눅스에서 API 호출을 할 때 curl이 거의 표준처럼 사용되는 이유</title>
      <link>https://soyali.tistory.com/18</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스에서 API 호출을 할 때 curl이 거의 &lt;b&gt;표준처럼 사용되는 이유&lt;/b&gt;는 단순히 편의성 때문이 아니라, &lt;b&gt;유연성과 범용성&lt;/b&gt; 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 거의 모든 리눅스 배포판에 기본 내장&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;424&quot; data-start=&quot;394&quot;&gt;대부분의 리눅스 시스템에 &lt;b&gt;기본 설치되어 있기에&amp;nbsp;&lt;/b&gt;별도 설치 없이 &lt;b&gt;바로 사용&lt;/b&gt;이&lt;b&gt; 가능&lt;/b&gt;합니다.&lt;/li&gt;
&lt;li data-end=&quot;486&quot; data-start=&quot;452&quot;&gt;&lt;b&gt;서버, 개발 환경, 컨테이너&lt;/b&gt; 어디서든 &lt;b&gt;동일한 명령어&lt;/b&gt;로 &lt;b&gt;동작&lt;/b&gt;합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HTTP 모든 메서드 지원 (GET, POST, PUT, DELETE 등)&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X GET https://api.example.com/data&lt;br /&gt;curl -X POST -d '{&quot;name&quot;:&quot;soyali&quot;}' https://api.example.com/users....&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;647&quot; data-start=&quot;620&quot;&gt;curl은 단순한 다운로드 도구가 아니라,&amp;nbsp;&lt;b&gt;HTTP, HTTPS, FTP, SFTP, SMTP, LDAP&lt;/b&gt; 등 다양한 프로토콜을 지원합니다.&lt;/li&gt;
&lt;li data-end=&quot;732&quot; data-start=&quot;703&quot;&gt;REST API의 모든 요청 형식을 완벽하게 다룰 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 요청 헤더, 인증, 데이터 전송 등 완벽 지원&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시: 토큰 인증 + JSON 데이터 전송&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -X POST https://api.example.com/data \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;Authorization: Bearer YOUR_TOKEN&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-H &quot;Content-Type: application/json&quot; \ &lt;br /&gt;&amp;nbsp; &amp;nbsp;-d '{&quot;message&quot;: &quot;반갑습니다.&quot;}'&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1021&quot; data-start=&quot;970&quot;&gt;&lt;b&gt;Header 추가&lt;/b&gt;, &lt;b&gt;Body 데이터 지정&lt;/b&gt;, &lt;b&gt;인증 처리&lt;/b&gt;까지 모두 가능 합니다.&lt;/li&gt;
&lt;li data-end=&quot;1050&quot; data-start=&quot;1022&quot;&gt;복잡한 요청도 &lt;b&gt;한 줄 명령어로 구성 가능 해결할 수 있습니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 디버깅과 로그 확인에 유리&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;curl -v https://api.example.com&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1231&quot; data-start=&quot;1126&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1163&quot; data-start=&quot;1126&quot;&gt;-v 옵션으로 &lt;b&gt;요청/응답 헤더, 상태 코드&lt;/b&gt; 확인 할 수 있습니다.&lt;/li&gt;
&lt;li data-end=&quot;1195&quot; data-start=&quot;1164&quot;&gt;API 호출 시 어떤 데이터가 오고 가는지 추적이 가능합니다.&lt;/li&gt;
&lt;li data-end=&quot;1231&quot; data-start=&quot;1196&quot;&gt;JSON이 아닌 응답 포맷도 그대로 출력되므로 테스트에 적합합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 자동화/스크립트에 쉽게 포함 가능&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;curl은 Bash, Shell script, cron 작업에 자연스럽게 통합 가능 합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;#!/bin/bash &lt;br /&gt;&lt;br /&gt;response=$(curl -s https://api.example.com/status) &lt;br /&gt;echo &quot;API 상태: $response&quot;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;별도의 라이브러리 없이, 순수 리눅스 명령어 기반 자동화가 가능합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1496&quot; data-start=&quot;1466&quot; data-ke-size=&quot;size26&quot;&gt;6. GUI 없이도 작동 &amp;ndash; 서버 환경에 최적&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1598&quot; data-start=&quot;1498&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1556&quot; data-start=&quot;1498&quot;&gt;리눅스 서버에는 GUI가 없기 때문에, &lt;b&gt;마우스가 없이도 테스트가 가능합니다.&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1598&quot; data-start=&quot;1557&quot;&gt;curl은 CLI 환경에서도 &lt;b&gt;강력한 HTTP 요청 도구 역할&lt;/b&gt;을 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. 대체 도구는 있지만, curl만큼 범용적이지 않음&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1837&quot; data-start=&quot;1644&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1837&quot; data-start=&quot;1672&quot;&gt;
&lt;tr data-end=&quot;1713&quot; data-start=&quot;1672&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1681&quot; data-start=&quot;1672&quot;&gt;wget&lt;/td&gt;
&lt;td data-end=&quot;1713&quot; data-start=&quot;1681&quot; data-col-size=&quot;sm&quot;&gt;다운로드 특화, POST는 가능하지만 유연성 떨어짐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1753&quot; data-start=&quot;1714&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1725&quot; data-start=&quot;1714&quot;&gt;httpie&lt;/td&gt;
&lt;td data-end=&quot;1753&quot; data-start=&quot;1725&quot; data-col-size=&quot;sm&quot;&gt;가독성 좋고 현대적, 하지만 기본 설치 아님&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1793&quot; data-start=&quot;1754&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1766&quot; data-start=&quot;1754&quot;&gt;Postman&lt;/td&gt;
&lt;td data-end=&quot;1793&quot; data-start=&quot;1766&quot; data-col-size=&quot;sm&quot;&gt;GUI 기반, 리눅스 서버에 적합하지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1837&quot; data-start=&quot;1794&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1805&quot; data-start=&quot;1794&quot;&gt;&lt;b&gt;curl&lt;/b&gt;&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1837&quot; data-start=&quot;1805&quot;&gt;&lt;b&gt;가볍고 강력하며 거의 모든 작업에 대응 가능&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1856&quot; data-start=&quot;1844&quot; data-ke-size=&quot;size26&quot;&gt;마무리 요약&lt;/h2&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;2060&quot; data-start=&quot;1858&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;2060&quot; data-start=&quot;1886&quot;&gt;
&lt;tr data-end=&quot;1913&quot; data-start=&quot;1886&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1895&quot; data-start=&quot;1886&quot;&gt;&amp;nbsp;범용성&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1913&quot; data-start=&quot;1895&quot;&gt;거의 모든 시스템에서 작동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1957&quot; data-start=&quot;1914&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1923&quot; data-start=&quot;1914&quot;&gt;&amp;nbsp;기능성&lt;/td&gt;
&lt;td data-end=&quot;1957&quot; data-start=&quot;1923&quot; data-col-size=&quot;sm&quot;&gt;다양한 HTTP 메서드, 인증, 헤더, 파일 전송 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1985&quot; data-start=&quot;1958&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1967&quot; data-start=&quot;1958&quot;&gt;&amp;nbsp;자동화&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1985&quot; data-start=&quot;1967&quot;&gt;스크립트와 쉽게 통합 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2024&quot; data-start=&quot;1986&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1996&quot; data-start=&quot;1986&quot;&gt;&amp;nbsp;디버깅&lt;/td&gt;
&lt;td data-end=&quot;2024&quot; data-start=&quot;1996&quot; data-col-size=&quot;sm&quot;&gt;응답 상태, 헤더 확인 등 실시간 추적 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;2060&quot; data-start=&quot;2025&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2037&quot; data-start=&quot;2025&quot;&gt;&amp;nbsp;서버 최적화&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;2060&quot; data-start=&quot;2037&quot;&gt;GUI 없이도 테스트 및 실행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;무조건 API 호출은 curl을 사용해야 한다&amp;rdquo;가 아니라, 서버 환경과 기획 의도에 맞는 적절한 요청 도구를 사용하는 게 가장 좋습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <category>API테스트</category>
      <category>curl</category>
      <category>http요청도구</category>
      <category>restAPI</category>
      <category>리눅스기초</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/18</guid>
      <comments>https://soyali.tistory.com/18#entry18comment</comments>
      <pubDate>Fri, 13 Jun 2025 11:38:07 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] man 명령어 - 섹션, 검색, 키워드 활용법</title>
      <link>https://soyali.tistory.com/17</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;man은 &quot;manual&quot;의 줄임말로, &lt;b&gt;명령어의 공식 문서&lt;/b&gt;를 확인할 수 있는 기본 도구입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. man 사용법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;man &amp;lt;알고싶은 명령어&amp;gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;를 입력하면 less 명령어가 사용되어 매뉴얼이 보이게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;조작키&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;space : 아래로 스크롤&lt;/li&gt;
&lt;li&gt;q : 종료&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. man 페이지 구성&amp;nbsp;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt; 항목 &lt;/b&gt;&lt;/td&gt;
&lt;td&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;NAME&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;명령어 이름과 간략한 설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;SYNOPSIS&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;사용 형식 (옵션 포함)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;기능 및 작동 방식에 대한 상세 설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;OPTIONS&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;사용 가능한 옵션 목록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;EXAMPLES&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;사용 예시 (있는 경우)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;SEE ALSO&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;관련 명령어나 참고할 문서&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 키워드 검색 방법 (man 페이지 안에서 찾기)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예시&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;man less&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;man 페이지 안에서 슬래시(/)를 누르고 검색어 입력 :&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;/color&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 키워드를 포함한 항목으로 커서 이동&lt;br /&gt;&amp;rarr; 다음 결과로 이동: n&lt;br /&gt;&amp;rarr; 이전 결과로 이동: N&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. man 섹션 번호란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스의 매뉴얼은 총 &lt;b&gt;9개의 섹션&lt;/b&gt;으로 나뉘며, 같은 이름의 명령어나 함수라도 &lt;b&gt;구분&lt;/b&gt;해서 문서화되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;섹션 번호&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%; text-align: center;&quot;&gt;내용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;사용자 명령어 (Executable programs)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;시스템 호출 (System calls, 예: open, read)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;라이브러리 함수 (예: printf, malloc)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;특수 파일 (디바이스, 드라이버 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;파일 포맷 및 구성 파일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;게임 및 유머 콘텐츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;기타 정보 (매크로, 규약 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;시스템 관리자 명령어 (root 전용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.907%; text-align: center;&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;width: 86.9767%;&quot;&gt;커널 관련 함수 (일부 시스템 한정)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세션 9번은 있을 수도 있고, 없을 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 키워드로 관련된 man 항목 찾기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;man -k 키워드&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;예시&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;man -k list&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;키워드 &quot;list&quot;가 포함된 man 페이지 항목들을 검색&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;예시 출력&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;acl (5) - Access Control Lists &lt;br /&gt;BIO_listen (3ssl) - BIO socket communication setup routines &lt;br /&gt;chacl (1) - change the access control list of a file or directory &lt;br /&gt;ciphers (1ssl) - SSL cipher display and cipher list tool &lt;br /&gt;column (1) - columnate lists.......................................&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. 자주 쓰는 man 관련 명령 요약&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 명령 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 설명 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;man 명령어&lt;/td&gt;
&lt;td&gt;기본 매뉴얼 보기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;man -f 명령어&lt;/td&gt;
&lt;td&gt;해당 이름이 어떤 섹션에 있는지 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;man -k 키워드&lt;/td&gt;
&lt;td&gt;키워드 기반 관련 문서 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/키워드&lt;/td&gt;
&lt;td&gt;man 내부에서 키워드 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;n, N&lt;/td&gt;
&lt;td&gt;다음/이전 검색 결과로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;q&lt;/td&gt;
&lt;td&gt;종료&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2505&quot; data-start=&quot;2479&quot;&gt;빠르게 보고 싶을 때 &amp;rarr; --help&lt;/li&gt;
&lt;li data-end=&quot;2530&quot; data-start=&quot;2506&quot;&gt;깊이 이해하고 싶을 때 &amp;rarr; man&lt;/li&gt;
&lt;li data-end=&quot;2578&quot; data-start=&quot;2531&quot;&gt;정확히 찾아야 할 때 &amp;rarr; man -k, /검색&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/17</guid>
      <comments>https://soyali.tistory.com/17#entry17comment</comments>
      <pubDate>Mon, 2 Jun 2025 17:46:18 +0900</pubDate>
    </item>
    <item>
      <title>[ Linux ] 명령어 설명 보는 법 &amp;ndash; --help vs man</title>
      <link>https://soyali.tistory.com/16</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;처음 Linux를 배우다 보면 이게 무슨 명령어고 어떻게 쓰는 건지 자주 질문하시는데요.&lt;br /&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;이때 사용하는 명령어가 바로 &lt;/span&gt;&lt;b&gt;--help 옵션&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 또는 &lt;/span&gt;&lt;b&gt;man 명령어&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;363&quot; data-start=&quot;259&quot; data-ke-size=&quot;size16&quot;&gt;하지만 둘은 약간의 차이가 있고, 사용하는 목적도 다릅니다.&lt;/p&gt;
&lt;p data-end=&quot;414&quot; data-start=&quot;365&quot; data-ke-size=&quot;size16&quot;&gt;이번 글에서는 두 도구의 &lt;b&gt;사용법, 차이점, 언제 쓰면 좋은지&lt;/b&gt;를 함께 정리해보겠습니다.&lt;/p&gt;
&lt;p data-end=&quot;414&quot; data-start=&quot;365&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;414&quot; data-start=&quot;365&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;414&quot; data-start=&quot;365&quot; data-ke-size=&quot;size26&quot;&gt;1. --help 옵션 &amp;ndash; 빠르게 요약 보기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;사용법&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;명령어 --help&lt;/blockquote&gt;
&lt;p data-end=&quot;414&quot; data-start=&quot;365&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-end=&quot;526&quot; data-start=&quot;517&quot; data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;611&quot; data-start=&quot;528&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;554&quot; data-start=&quot;528&quot;&gt;&lt;b&gt;짧고 간단한 요약 형태의 도움말&lt;/b&gt; 제공&lt;/li&gt;
&lt;li data-end=&quot;587&quot; data-start=&quot;555&quot;&gt;자주 쓰는 옵션이나 기본 사용 예제를 빠르게 확인 가능&lt;/li&gt;
&lt;li data-end=&quot;611&quot; data-start=&quot;588&quot;&gt;대부분 &lt;b&gt;GNU 명령어&lt;/b&gt;에서 지원됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-end=&quot;876&quot; data-start=&quot;857&quot; data-ke-size=&quot;size20&quot;&gt;언제 사용하면 좋을까?&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;973&quot; data-start=&quot;878&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;906&quot; data-start=&quot;878&quot;&gt;&lt;b&gt;옵션이 뭐였더라?&lt;/b&gt; 빠르게 기억 확인할 때&lt;/li&gt;
&lt;li data-end=&quot;935&quot; data-start=&quot;907&quot;&gt;복잡한 문서 대신 &lt;b&gt;짧은 힌트&lt;/b&gt;가 필요할 때&lt;/li&gt;
&lt;li data-end=&quot;973&quot; data-start=&quot;936&quot;&gt;ls, cp, mkdir 같은 간단한 명령어 확인 시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. man 명령어 &amp;ndash; 매뉴얼 페이지 읽기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;사용법&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;man [명령어]&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-end=&quot;1080&quot; data-start=&quot;1071&quot; data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1191&quot; data-start=&quot;1082&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1108&quot; data-start=&quot;1082&quot;&gt;&lt;b&gt;명령어의 공식 매뉴얼 페이지&lt;/b&gt;를 보여줌&lt;/li&gt;
&lt;li data-end=&quot;1145&quot; data-start=&quot;1109&quot;&gt;옵션 설명, 예제, 반환 코드, 관련 명령어까지 상세하게 제공&lt;/li&gt;
&lt;li data-end=&quot;1191&quot; data-start=&quot;1146&quot;&gt;터미널에서 페이지 방식으로 열림 (&amp;uarr;&amp;darr; 이동, / 검색, q 종료)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-end=&quot;1557&quot; data-start=&quot;1538&quot; data-ke-size=&quot;size20&quot;&gt;언제 사용하면 좋을까?&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1661&quot; data-start=&quot;1559&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1590&quot; data-start=&quot;1559&quot;&gt;옵션 외에 &lt;b&gt;전체적인 사용법&lt;/b&gt;을 학습하고 싶을 때&lt;/li&gt;
&lt;li data-end=&quot;1620&quot; data-start=&quot;1591&quot;&gt;정확한 &lt;b&gt;기능 설명과 동작 원리&lt;/b&gt;가 필요할 때&lt;/li&gt;
&lt;li data-end=&quot;1661&quot; data-start=&quot;1621&quot;&gt;프로그래밍, 스크립트 작성 등에서 &lt;b&gt;세부 동작 파악&lt;/b&gt;이 필요할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;차이점 비교 요약&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: left; width: 20.8139%;&quot;&gt;항목&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 38.721%;&quot;&gt;--help&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 40.3488%;&quot;&gt;man&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.8139%;&quot;&gt;정보 수준&lt;/td&gt;
&lt;td style=&quot;width: 38.721%;&quot;&gt;간단한 요약&lt;/td&gt;
&lt;td style=&quot;width: 40.3488%;&quot;&gt;자세한 매뉴얼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.8139%;&quot;&gt;속도/형식&lt;/td&gt;
&lt;td style=&quot;width: 38.721%;&quot;&gt;터미널에 바로 출력&lt;/td&gt;
&lt;td style=&quot;width: 40.3488%;&quot;&gt;페이지 방식 (less처럼 탐색 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.8139%;&quot;&gt;예제 포함 여부&lt;/td&gt;
&lt;td style=&quot;width: 38.721%;&quot;&gt;거의 없음&lt;/td&gt;
&lt;td style=&quot;width: 40.3488%;&quot;&gt;종종 포함됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.8139%;&quot;&gt;목적&lt;/td&gt;
&lt;td style=&quot;width: 38.721%;&quot;&gt;빠르게 옵션 확인&lt;/td&gt;
&lt;td style=&quot;width: 40.3488%;&quot;&gt;공식 문서 수준의 상세 설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.8139%;&quot;&gt;검색 가능 여부&lt;/td&gt;
&lt;td style=&quot;width: 38.721%;&quot;&gt;기본 제공 안 됨&lt;/td&gt;
&lt;td style=&quot;width: 40.3488%;&quot;&gt;/검색어로 키워드 검색 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2322&quot; data-start=&quot;2313&quot; data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2462&quot; data-start=&quot;2402&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2434&quot; data-start=&quot;2402&quot;&gt;&lt;b&gt;빠르게 요약 확인&lt;/b&gt; &amp;rarr; 명령어 --help&lt;/li&gt;
&lt;li data-end=&quot;2462&quot; data-start=&quot;2435&quot;&gt;&lt;b&gt;정식 매뉴얼 확인&lt;/b&gt; &amp;rarr; man 명령어&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Linux</category>
      <category>help옵션</category>
      <category>man명령어</category>
      <category>리눅스기초</category>
      <category>명령어도움말</category>
      <category>명령어학습</category>
      <author>soyali</author>
      <guid isPermaLink="true">https://soyali.tistory.com/16</guid>
      <comments>https://soyali.tistory.com/16#entry16comment</comments>
      <pubDate>Mon, 2 Jun 2025 16:35:14 +0900</pubDate>
    </item>
  </channel>
</rss>