터미널에 현재 기계 정보를 표시하는 방법은 무엇입니까?

터미널에 현재 기계 정보를 표시하는 방법은 무엇입니까?

내가 실제로 사용하고 있는 컴퓨터를 확인할 수 있는 명령줄이 있나요?

저는 터미널을 광범위하게 사용하고 있는데 PS1 세션과 컴퓨터가 비슷해서 현재 어떤 기기를 사용하고 있는지 헷갈립니다. 기계란 현재 사용자가 아닌 로컬 컴퓨터나 서버를 의미합니다(PS1에서는 이를 표시하므로). 명령줄이 있나요?

(ps: PS1 변경 방법이 아닌 명령줄을 요청했습니다. 가끔 작은 화면에서 작업하고 상대적으로 짧은 줄을 관리하려고 하기 때문입니다.)

감사해요

답변1

IMHO, 팁은 현재 위치를 알려주는 최고의 도구입니다. 이는 귀하의 컴퓨터, 현재 사용자 이름, 디렉토리 등에 대한 정보를 상기시키는 데 사용될 수 있습니다. 프롬프트는 명령줄에 항상 나타나므로 무시하기 어렵습니다. 다른 것을 사용하세요주문하다현재 컴퓨터 이름(예 hostname: )을 찾는 것도 분명 효과가 있지만 그렇게 하는 것을 잊어버렸습니다.


호스트 이름이 포함된 문자열로 기본 프롬프트를 설정합니다.

PS1="$(id -un)@$(hostname) \$ "

그러면 내 현재 컴퓨터에서 내 사용자에 대한 프롬프트가 다음으로 설정됩니다.

[email protected] $ 

호스트 이름의 도메인 부분을 제거하는 hostname -s대신 사용하는 것이 좋습니다 .hostname

일부 셸(예: bash)에는 동일한 목적으로 사용할 수 있는 단축 표기법이 있습니다. bash( 더 짧은 버전의 호스트 이름을 얻으려면 \H다음으로 바꾸 십시오):\h

PS1='\u@\H \$ '

export PS1이는 현재 쉘 프로세스에서만 사용되므로 필요하지 않습니다 .

이 변수는 쉘 초기화 파일에서 변경될 수 있습니다. bash수정 하려면 ~/.bashrc관련 쉘 매뉴얼을 읽으십시오 PS1.


매우 작은 화면의 경우 고유한 동적 프롬프트를 만들어야 할 수도 있습니다.

case "$(hostname)" in
    bigserver*)  promptstr='bs'  ;;
    srv-*)       promptstr='srv' ;;
    accounting*) promptstr='a'   ;;
    web-dev-*)   promptstr='wd'  ;;
    *)           promptstr=$(hostname -s) ;;
esac

PS1="$promptstr \$ "

또는 호스트 이름의 처음 세 문자를 사용하세요.

HOSTNAME=$(hostname)
PS1="${HOSTNAME:0:3} \$ "

(분명히 이것은 그러한 변수 대체를 수행하는 방법을 아는 쉘이 필요하지만 bash그렇습니다)

...또는 ( )를 로컬 대신 원격으로 사용하는 등 더 이상 로컬이 아님을 알려주는 다른 표시기일 수도 있습니다 *. 또는 가능한 많은 팁 중 다른 팁.$PS1='*$ '

답변2

기계를 차별화하는 데 필요한 정보에 따라 여러 가지 방법이 있습니다.


dmidecode -t1제조업체 및 모델을 포함하여 사용 중인 컴퓨터에 대한 정보를 표시합니다.

> dmidecode -t1 | grep Version
    Version: ThinkPad T520

uname -a-n네트워크 노드 호스트 이름( ) 및 커널 버전( ) 과 같은 시스템 정보를 인쇄합니다 -r.


lsb_release -a다음과 같은 배포 관련 정보를 표시합니다.

> lsb_release -d
Description:    Ubuntu 16.04.3 LTS

답변3

uname -a OR hostname, ip a..etc 명령을 사용해 보세요.

답변4

터미널에 쓰기

CPU 이름

관련 정보