Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

what is the easiest way to get a host's canonical host name from linux's command line?

If it matters, my shell is bash.

CLARIFICATION: I want another host's canonical hostname, either by ip or by non canonical hostname. Not the local host's canonical hostname.

share|improve this question

6 Answers 6

Here's the command:

hostname

share|improve this answer
    
I want another host's canonical hostname, either by ip or by non canonical hostname. I should have clarified that. –  flybywire Mar 16 '10 at 8:39

To find the fqdn of a remote host with IP xxx.xxx.xxx.xxx you can use

nslookup xxx.xxx.xxx.xxx

and see the answer contains

name = host.domain.net
share|improve this answer

You could use also the host command. Like in this example

host xxx.xxx.xxx.xyz

The result will be something like

xyz.xxx.xxx.xxx.in-addr.arpa domain name pointer name.domain.com
share|improve this answer

Use dig(1). For normal lookups use:

dig full.hostname.xxx

and for reverse lookups use:

dig -x 127.0.0.1

Also check the man page for much more cool options.

share|improve this answer

A remote host's node name bears no necessary relationship to any of its network names. You'll have to log in and use the hostname command.

If you're looking for the Fully Qualified Domain Name (FQDN) of a network address, you can use DNS query tools like dig or nslookup, as described by @firm and @Richard Holloway.

share|improve this answer

To be clear, hostname will just return the short name. Use the -f parameter; hostname -f to get the fully qualified name.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.