리눅스 명령어 uname 사용법 및 9가지 옵션

리눅스 명령어 uname은 시스템의 커널 버전이나 시스템 아키텍처 등 기본 정보를 확인할 때 사용합니다. 이번 포스팅에서는 uname 명령어의 기본 사용법과 옵션을 알아보고, 실생활에서 어떻게 유용하게 활용할 수 있는지 설명하겠습니다.

리눅스 명령어 uname이란?

uname은 “Unix Name”의 줄임말로, 현재 실행 중인 시스템의 정보를 출력하는 리눅스 명령어입니다. 주로 시스템의 커널 버전, 시스템 아키텍처, 운영체제의 이름 등을 확인하는 데 사용됩니다.

기본 사용법

uname 명령어의 기본 형식은 다음과 같습니다. 이 명령어를 입력하면 커널 이름만 출력됩니다.

uname
ShellScript

아래의 경우는 Ubuntu 24.04 버전의 운영체제인 경우 “Linux”라고 간단히 출력됩니다. 그 외에 더 다양한 정보를 확인하기 위해서는 옵션을 함께 사용하면 됩니다.

그림 1. 리눅스 명령어 uname: 커널 이름 출력

uname 명령어 옵션

uname 명령어는 여러 가지 옵션을 제공하며, 이를 통해 시스템의 더 구체적인 정보를 확인할 수 있습니다. 각 옵션의 사용법을 하나씩 살펴보겠습니다.

-a (모든 정보 출력)

-a 옵션은 all을 의미하며 이 옵션을 사용하면 시스템의 모든 정보를 한 번에 출력할 수 있습니다.

uname -a
ShellScript

-a 옵션을 사용하면 아래 그림과 같이 커널 이름, 네트워크 노드 호스트 이름, 커널 릴리즈, 커널 버전, 장비 하드웨어 이름, 프로세서 타입, 하드웨어 플랫폼, 운영체제 이름이 차례대로 출력됩니다.

그림 2. 리눅스 명령어 uname: -a 옵션을 사용하여 모든 값을 출력

이처럼 -a 옵션은 시스템에 대한 모든 주요 정보를 한 번에 확인할 수 있어 매우 유용합니다.

-s (커널 이름)

-s 옵션은 커널의 이름을 출력합니다. 일반적으로 리눅스 시스템에서는 “Linux”라는 결과가 나옵니다.

uname -s
ShellScript

-n (호스트 이름)

-n 옵션을 사용하면 현재 시스템의 네트워크 노드 호스트 이름을 확인할 수 있습니다. 명칭에서 알 수 있듯이 호스트 이름은 네트워크에서 해당 시스템을 식별하는 이름을 의미합니다.

uname -n
ShellScript

-r (커널 릴리즈)

uname -r 명령어는 현재 사용 중인 커널의 릴리즈 번호를 출력합니다. 커널의 릴리즈 정보는 현재의 커널 릴리즈 번호를 확인해서 커널의 업데이트 여부를 판단할 때 사용할 수 있습니다. 예를 들어, 새로운 CPU가 출시됐는데 현재 커널이 해당 프로세서를 지원하는지 혹은 그렇지 않은지는 커널 릴리즈 정보를 통해 확인할 수 있습니다.

uname -r
ShellScript

uname과 함께 많이 사용하는 옵션 중 하나인 -r 옵션을 적용하면 아래와 같이 커널 릴리즈 정보를 확인할 수 있습니다.

그림 3. 리눅스 명령어 uname: -r 옵션으로 커널 릴리즈 정보 확인

-v (커널 버전)

-v 옵션은 커널의 버전 정보를 출력합니다. 커널 버전은 시스템 성능이나 안정성에 영향을 미칠 수 있기 때문에 문제가 발생했을 때 확인할 수 있는 중요한 정보입니다.

uname -v
ShellScript

-m (머신 하드웨어 이름)

-m 옵션은 시스템의 하드웨어 아키텍처를 출력합니다. 예를 들어, 64비트 시스템에서는 x86_64라는 결과가 출력되고, 32비트 시스템에서는 i686과 같은 결과가 나옵니다. 프로그램 컴파일이나, 설치 시 이 정보를 참고하는 경우가 많습니다.

uname -m
ShellScript

-p (프로세서 종류)

-p 옵션은 시스템의 프로세서 종류를 출력합니다. 그러나 모든 리눅스 시스템에서 지원되지 않을 수 있어서, 결과가 “unknown”으로 나올 수도 있습니다.

uname -p
ShellScript

-i (하드웨어 플랫폼)

-i 옵션은 시스템의 하드웨어 플랫폼을 출력합니다. -p 옵션과 마찬가지로 시스템에서 지원되지는 않는 경우에는 “unknown”으로 출력될 수 있습니다.

uname -i
ShellScript

-o (운영체제 이름)

이 옵션은 현재 시스템에서 실행 중인 운영체제의 이름을 출력합니다. 리눅스 시스템에서는 일반적으로 “GNU/Linux”라는 결과가 출력됩니다.

uname -o
ShellScript

유용한 활용 방법: 스크립트 내 활용

사실 uname 명령어는 명령어 자체로는 매우 간단하지만, 다른 명령어와 결합하여 스크립트 내에서 유용하게 활용될 수 있습니다. 예를 들어, 특정 커널 버전에서만 동작하는 스크립트를 작성할 때 uname -r을 이용해 커널 버전을 체크하고, 해당 버전에 맞는 동작을 하도록 제어할 수 있습니다.

#!/bin/bash
if [[ $(uname -r) == "5.4.0-42-generic" ]]; then
    echo "해당 커널 버전에서 스크립트를 실행합니다."
else
    echo "다른 커널 버전입니다. 스크립트를 종료합니다."
fi
ShellScript

아래 그림과 같이 커널 릴리즈는 6.8.0-45-generic 이므로, 위의 스크립트에서 비교하는 커널 릴리즈 “5.4.0-42-generic”과는 일치하지 않으므로 else에 해당하는 분기의 내용이 실행된 결과입니다.

그림 4. 리눅스 명령어 uname을 스크립트에서 활용한 예시

명령어 사용 시 주의사항

  • 지원되는 옵션 확인: 모든 리눅스 배포판이 uname 명령어의 모든 옵션을 지원하는 것은 아닙니다. 특히 -p-i 옵션은 일부 시스템에서 “unknown”이라는 결과를 반환할 수 있습니다.
  • 관리자 권한 필요 없음: uname 명령어는 관리자 권한이 필요하지 않아 누구나 시스템 정보를 확인할 수 있습니다. 하지만 시스템 보안을 위해 출력된 정보를 외부에 공개하지 않도록 주의해야 합니다.

정리

리눅스 명령어 uname은 리눅스 시스템 정보를 빠르게 확인할 수 있는 기본 명령어 중 하나입니다. 운영체제 이름, 커널 버전, 시스템 아키텍처 등 다양한 정보를 옵션과 함께 출력할 수 있어 시스템 유지보수나 문제 해결에 필수적인 도구로 활용됩니다. 특히 -a 옵션을 사용하면 전체 시스템 정보를 한 번에 확인할 수 있어, 자주 사용하게 되는 명령어 중 하나입니다.

참고자료

관련 포스트

Leave a Comment