hostname
내 모든 검색 결과는 또는 와 관련이 있었습니다 uname -n
. 나는 교활한 옵션을 찾기 위해 두 가지 모두에 대한 설명서를 확인했지만 운이 없었습니다.
scutil --get ComputerName
나는 Linux 시스템에서 시도하고 있는 OSX와 동등한 것을 찾으려고 노력하고 있습니다 . 맥 OS의 경우예를 들어인벤토리 관리, Bonjour 기반 원격 액세스...) 및 기본 호스트 이름으로 사용됩니다(공간 처리 등을 필터링한 후).
답변1
Linux를 실행하는 모든 컴퓨터의 경우 사람이 읽을 수 있는(및 사람이 선택한) 이름과 가장 가까운 이름은 에 저장된 이름입니다 /etc/hostname
. 일부(전부는 아님) Linux 배포판에서 이 이름은 설치 중에 사용자 이름을 입력하세요(단, 다음과 같이 계산됩니다). macOS의 컴퓨터 이름과 달리 네트워크 호스트 이름 제한). 이는 네임스페이스화될 수 있습니다.즉각UTS 네임스페이스다른 호스트 이름을 가질 수 있습니다.
systemd를 실행하는 시스템은 macOS의 컴퓨터 이름과 유사한 방식으로 설명되어야 하는 사람이 읽을 수 있는 "꽤" 이름을 포함하여 세 가지 다른 호스트 이름을 구별합니다. 이는 다음을 사용하여 설정하고 검색할 수 있습니다.hostnamectl
옵션 --pretty
. 다른 두 호스트 이름은 정적 호스트 이름(즉, 위의 기본 호스트 이름)과 임시 호스트 이름(현재 네트워크 구성을 반영)입니다.
Systemd는 섀시 유형도 지원합니다(예를 들어"태블릿") 및 콘솔 아이콘을 참조하세요.systemd-hostnamed.service
.
답변2
sudo dmidecode | grep -A3 '^System Information'
명령을 사용할 수 있습니다 . 이 명령은 BIOS 및 하드웨어에서 정보를 읽습니다. 내 컴퓨터의 예:
System Information
Manufacturer: LENOVO
Product Name: 20BHA06YGB
Version: ThinkPad W540
원천: [1]
답변3
엄밀히 말하면 네트워크 독립적인 "컴퓨터 이름"은 Linux에 존재하지 않으며 실제로 네트워크에 없는 컴퓨터에 이름을 지정하는 목적도 없습니다.
/etc/hostname
컴퓨터의 문자열이 다른 이유 는 DHCP 프로토콜이 새 호스트에 호스트 이름과 IP 주소를 제공하기 때문 /etc/hosts
입니다 . uname -n
"machine42.work.localnetwork"는 DHCP 서버에서 선택한 이름과 정확히 같습니다. 그런 다음 문자열을 저장하고 반환합니다.gethostname
수신 전화.
또한보십시오:
내 컴퓨터 이름을 어떻게 변경하나요?(tl;dr echo computername > /etc/hostname
) - 설치 중에 이름을 선택하면 이런 일이 발생합니다.
재부팅하지 않고 호스트 이름을 변경하는 방법은 무엇입니까?(tl;dr hostname computername
) - 호스트 이름으로 DHCP 임대를 받으면 이런 일이 발생합니다.
답변4
짧막 한 농담:
hostnamectl | egrep -i "Static hostname" | awk '{print $NF}'