[LINUX] Der Befehl hostname kann multifunktional sein

Es ist nicht so vielseitig, aber es gibt einige Optionen. Sie können das Ergebnis mit Alias oder fqdn zurückgeben.

$ hostname --help
Usage: hostname [-b] {hostname|-F file}         set host name (from file)
       hostname [-a|-A|-d|-f|-i|-I|-s|-y]       display formatted name
       hostname                                 display host name

       {yp,nis,}domainname {nisdomain|-F file}  set NIS domain name (from file)
       {yp,nis,}domainname                      display NIS domain name

       dnsdomainname                            display dns domain name

       hostname -V|--version|-h|--help          print info and exit

Program name:
       {yp,nis,}domainname=hostname -y
       dnsdomainname=hostname -d

Program options:
    -a, --alias            alias names
    -A, --all-fqdns        all long host names (FQDNs)
    -b, --boot             set default hostname if none available
    -d, --domain           DNS domain name
    -f, --fqdn, --long     long host name (FQDN)
    -F, --file             read host name or NIS domain name from given file
    -i, --ip-address       addresses for the host name
    -I, --all-ip-addresses all addresses for the host
    -s, --short            short host name
    -y, --yp, --nis        NIS/YP domain name

Description:
   This command can get or set the host name or the NIS domain name. You can
   also get the DNS domain or the FQDN (fully qualified domain name).
   Unless you are using bind or NIS for host lookups you can change the
   FQDN (Fully Qualified Domain Name) and the DNS domain name (which is
   part of the FQDN) in the /etc/hosts file.

Sowohl yp als auch dns sind symbolische Links.

$ rpm -ql hostname-3.13-3.el7.x86_64 | grep bin |  xargs ls -li
33663457 lrwxrwxrwx. 1 root root     8 Jan 20  2015 /bin/dnsdomainname -> hostname
33663500 lrwxrwxrwx. 1 root root     8 Jan 20  2015 /bin/domainname -> hostname
33663501 -rwxr-xr-x. 1 root root 15768 Jun 10  2014 /bin/hostname
33663502 lrwxrwxrwx. 1 root root     8 Jan 20  2015 /bin/nisdomainname -> hostname
33663503 lrwxrwxrwx. 1 root root     8 Jan 20  2015 /bin/ypdomainname -> hostname

Warum probierst du nicht die Sauce, um eine Pause zu machen? Laden Sie die Quelle mit yum-utils herunter.

$ yum install yum-utils
$ yum --downloadonly --source hostname
$ rpm -ivh hostname-3.13-3.el7.src.rpm
$ rpm2cpio hostname-3.13-3.el7.src.rpm| cpio -id
$ tar xvzf hostname_3.13.tar.gz

argv [0] Unter UNIX wird häufig das Verhalten geändert. Früher war so etwas eine harte Verbindung, aber ich frage mich, ob es jetzt anders ist.

hostname.c


    /* If called as 'dnsdomainname', by default show the DNS domain name. */
    progname = (rindex(argv[0], '/')) ? rindex(argv[0], '/') + 1 : argv[0];
    if (!strcmp(progname, "dnsdomainname"))
        type = DNS;
    else if (!strcmp(progname, "domainname"))
        type = NIS;
    else if (!strcmp(progname, "ypdomainname"))
        type = NIS_DEF;
    else if (!strcmp(progname, "nisdomainname"))
        type = NIS_DEF;

Recommended Posts

Der Befehl hostname kann multifunktional sein
PyQtGraph ist möglicherweise nicht im Interpreter verfügbar.
Das Problem, dass der Befehl ifconfig nicht verwendet werden kann
Python Hinweis: Wenn der Befehl pip nicht verwendet werden kann
Die Geschichte des Stoppens des Produktionsdienstes mit dem Befehl hostname
Über den Servicebefehl
Installieren Sie den Befehl pip
Linux-Löschbefehl, wenn nur der Ordner nicht gelöscht werden kann
Klonen Sie mit dem Befehl dd
Beschleunigen Sie den Befehl netstat
Bis die Shell den Befehl findet
Python-Standardmodul, das in der Befehlszeile verwendet werden kann