linux查看hostname
‘壹’ 如何在linux shell中获取本机主机名
1、查看主机名查看当前系统主机名,输入hostname命令查看。
‘贰’ linux怎么查看hostname
两种方法命令:
#hostname
#cat /proc/sys/kernel/hostname
‘叁’ Linux如何配置主机名称
查看hostname
1、查询命令:hostname
2、输出对应的文本文件:cat /proc/sys/kernel/hostname
修改hostname
1、hostname命令可以设置系统的hostname,
[root@linuxprobe~]hostnamenewhostname
newhostname即要设置的新的hostname,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件。
2、修改系统配置文件 /etc/sysconfig/network
[root@linuxprobe~]#vi/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=linuxprobe
3、修改hosts文件或者dns服务器
[root@linuxprobe~]#vi/etc/hosts
127.0.0.1localhost.localdomain
4、用sysctl 修改kernel.hostname
[root@linuxprobe~]#sysctlkernel.hostname=hadoop
kernel.hostname=hadoop
备注
1、请使用sudo权限
2、更多详细的Linux基本学习教程和书籍可以从linuxprobe.com找到
‘肆’ linux查看当前的主机名并保存到c.txt文件中
你可以使用以下命令来查看当前的主机名并保存到 c.txt 文件中:
hostname > c.txt
执行这个命令后,会在当前目录下创建一个名为 c.txt 的文件,并将当前的主机名写入文件中。
你也可以使用以下命令来达到同样的效果:
echo `hostname` > c.txt
总之,通过使用 hostname 命令和输出重定向符号(">"),你就可以在 Linux 系统中查看当前的主机名并保存到文件中了。
‘伍’ 获取Linux IP地址的六种方法总结
本文总结六种查看Linux IP地址的方法,方便以后的运维开发工作。
在介绍前先学习一下三个命令行筛选的主要的指令,也是频繁使用到的命令。
1、head。 head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10。
运行head --help查看说明信息:
-q 隐藏文件名
-v 显示文件名
-c<数目> 显示的字节数。
-n<行数> 显示的行数。
2、grep。 grep 命令用于查找文件里符合条件的字符串。运行grep --help查看说明信息,参数太多主要有以下几种:
grep -r递归选择。
grep -v反选,显示不包含匹配文本的所有行。
grep -n显示符合样式的那一行之前。
grep -A显示符合范本样式的那一列之外,并显示该行之后的内容。
3、awk。 强大的文本分析工具,命令使用过于复杂(awk --help),只需要知道 awk '{print$2}'为打印第二行数据。
4、tail 。tail命令可用于查看文件的结束部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10。tail --help查看主要的参数:
tail -n显示最后多少行
tail -c显示最后十个字符
tail -f 循环读取,跟踪显示最后十行
5、cut。 显示每行从开头算起的文字。
cut -b :以字节为单位进行分割。
cut -c :以字符为单位进行分割
cut -d :自定义分隔符,默认为制表符
cut -f :与-d一起使用,指定显示哪个区域
无线网卡地址:
echo wlan0=`ifconfig wlan0 | head -n2 | grep inet | awk '{print$2}'`
有线网卡地址:
echo eth0=`ifconfig eth0 | head -n2 | grep inet | awk '{print$2}'`
或者命令:
ifconfig | grep "inet " | cut -d: -f2 | awk '{print $1}' | grep -v "^127."
无线网卡地址:
ip address | grep wlan0 | awk '{print$2}'
有线网卡地址:
ip address | grep eth0 | awk '{print$2}'
或者
echo eth0=`ip address show eth0 | head -n4 | grep inet | awk '{print$2}'
echo wlan0=`ip address show wlan0 | head -n4 | grep inet | awk '{print$2}'
运行hostname -help命令查看说明信息:
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
hostname -i得到环回地址127.0.1.1, hostname -I得到具体的网卡信息192.168.31.82 。
php语言查看ip就是使用函数shell_exec来执行shell命令。
比如:
<?php
echo shell_exec("echo wlan0=`ifconfig wlan0 | head -n2 | grep inet | awk '{print$2}'`");
?>
然后执行php ip.php 。shell_exec()里面可以放置任何shell命令。这个方法的意义在于php可以通过网页对外提供服务。
#!/usr/bin/env python
import socket
import fcntl
import struct
def get_ip_address(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915, # SIOCGIFADDR
struct.pack('256s', ifname[:15])
)[20:24])
Local_wlan0=get_ip_address("wlan0")
Local_lo=get_ip_address("lo")
#Local_eth0=get_ip_address("eth0")
print Local_wlan0
print Local_lo
#print Local_eth0
利用socket包,然后执行python ip.py 得到wlan0信息。
#!/usr/bin/env python
import os
def get_ip():
out = os.popen("echo wlan0=`ifconfig wlan0 | head -n2 | grep inet | awk '{print$2}'`").read()
print out
if __name__ == '__main__':
get_ip()
和php的shell_exec函数类似,os.popen()里面可以放置任何shell命令。注意有个函数os.system的结果只是命令执行结果的返回值,执行成功为0;os.popen()可以读出执行的内容,输出的结果比较特殊,带换行符\n 。
‘陆’ linux命令更改hostnane
查看当前的主机名
首先我们使用hostname命令来查看当前的主机名。
hostname1
也可以使用hostnamctl命令
hostnamectl
方法1:修改配置文件
主机名保存在/etc/hostname文件里,所以我们可以打开这个文件,手动编辑主机名。
sudo nano /etc/hosts12
把旧的主机名删除,替换为新的主机名,保存文件就行了。要注意大小写。
方法2:hostnamectl命令
命令语法为:
sudo hostnamectl set-hostname <newhostname>12
这条命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新/etc/hosts文件。这两种方法的本质都是一样的。
方法3:hostname命令进行临时更改
如果只需要临时更改主机名,可以使用hostname命令。《Linux就该这么学》
sudo hostname <new-hostname>12
这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。
静态主机名保存在/etc/hostname文件中。
‘柒’ linux本机的hostname是什么意思
Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
#hostname
#cat /proc/sys/kernel/hostname
上面两种输出结果相同。
一、修改运行时Linux系统的hostname,即临时修改,不需要重启系统
hostname命令可以设置系统的hostname
#hostname newname
newname即要设置的新的hostname,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件。
二、永久更改Linux的hostname
man hostname里有这么一句话,”The hostname is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains thehost name, e.g. /etc/hostname).” RedHat里没有这个文件,而是由/etc/rc.d/rc.sysinit这个脚本负责设置系统的hostname,渗物碧它读取 /etc/sysconfig/network这个文本文件,蚂型RedHat的hostname就是在这个文件里设置。
所以,如果要永久修改丛举RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要设置的hostname。
Debian发行版的hostname的配置文件是/etc/hostname。
修该配置文件后,重启系统就会读取配置文件设置新的hostname。
‘捌’ 用什么命令可直以查看Linux当前定义的主机名
1.hostname 查看
2.hostname xxxx(xxxx为要更改的主机名,关机后不会生效)
2.cat /etc/sysconfig/network查看(一般为第一行)
3.vi /etc/sysconfig/network更改主机名(关机后生效)