[命令] Linux 命令 hostname (修改主机名、显示主机名和 IP 地址)

内容一:修改 Linux 主机名

[root@server ~]# hostnamectl set-hostname eternalcenter.com

内容二:显示已经修改的主机名

2.1 显示已经修改的部分主机名

[root@eternalcenter ~]# hostname
eternalcenter

(补充:这里只会显示 “.” 符号前面的内容,“.” 后面的内容不会在这里显示)

2.2 显示已经修改的全部主机名,也就是 FQDN

[root@eternalcenter ~]# hostname -f
eternalcenter.com

内容三:显示 IP 地址

3.1 显示本地最后 1 个 IP 地址

[root@eternalcenter ~]# hostname -i

3.2 显示本地所有 IP 地址

[root@eternalcenter ~]# hostname -I

[命令] Linux 命令 timeout 的使用 (设置在几秒之后结束要执行的命令)

内容一:timeout 命令的格式

# timeout <option> <duration> <command> ......

(补充:这里的 duration 是数字,默认单位是秒。也可以手动指定时间单位,时间单位可以是 s 秒、m 分钟、h 小时、d 天)

内容二:timeout 命令的选项

1) -k, –kill-after=DURATION 当时间到了以后强制杀死命令
2) -p, –preserve-status 当结束时保持命令本身结束时的退出代码

[命令] Linux 命令 colrm (删除所有行某列的字符)

案例一:删除所有行某列字符后的所有字符

# cat test.txt | colrm 3

或者:

# colrm 3 < test.txt

(补充:这里以删除所有行第 3 列及以后的所有字符)

案例二:删除所有行从某列字符到某列字符期间的所有字符

# cat test.txt | colrm 3 6

或者:

# colrm 3 6 < test.txt

(补充:这里以删除所有行第 3 列到第 6 列包括第 3 列和第 6 列的所有字符)

[排错] 解决 Linux 开机时报错 “kernel panic – no syncing: Attempted to kill init ……”

报错代码

/init: error while loading shared libraries: libsystemd-shared-239.so: cannot open shared object file: No such file or directory
kernel panic - no syncing: Attempted to kill init! exitcode=0x00007f00

解决方法

步骤一:进入拯救模式

步骤二:确认第三方软件库

2.1 搜集第三方软件库信息

# ldconfig -p > /tmp/ldconfig.out

2.2 确认有没有第三方软件库

# for l in $(awk '{ print $1 }' /tmp/ldconfig.out); do matches=$(awk "\$1 == \"$l\" { print }" /tmp/ldconfig.out); if [ $(echo "$matches" | wc -l) -ge 2 ]; then echo "$matches"; echo; fi; done

(补充:如果没有第三方软件库的话这里不会有任何输出)

步骤三:检查 /etc/ld.so.conf 文件或者 /etc/ld.so.conf.d/ 目录里的文件去除第三方库

(步骤略)

步骤四:刷新库缓存

# ldconfig

步骤五:为启动失败的系统创建创建 initramfs 文件

# dracut -f /boot/initramfs-(uname -r).img $(uname -r)

(补充:这里以将正在运行的内核版本生成一个新的 initramfs 为例)

(注意:此时原来启动系统时使用的那个 initramfs 文件会被覆盖)

步骤六:重启系统

# reboot

参考文献

https://access.redhat.com/solutions/7096246