Linux 系统管理员通过使用权威的命令行脚本会变得更高效。这包括巧妙使用循环和知道如何使用 awk
、grep
和 sed
等的实用程序解析数据。通常这可以减少击键次数,降低用户出错率。
例如,假设需要为即将安装的 Linux 集群生成一个新的 /etc/hosts 文件。一般的做法是在 vi 或文本编辑器中添加 IP 地址。不过,可以通过使用现有 /etc/hosts 文件并将以下内容追加到此文件来实现。在命令行上运行:
# P=1; for i in $(seq -w 200); do echo "192.168.99.$P n$i"; P=$(expr $P + 1);
done >>/etc/hosts
200
个主机名(n001 到 n200)将由 IP 地址(192.168.99.1 到
192.168.99.200)来创建。手动填充这样的文件有可能会创建重复的 IP
地址或主机名,因此这是使用内置命令行消除用户错误的好例子。请注意,这是在 bash shell(大多数 Linux 发行版的默认值)内完成的。
再举一个例子,假设要检查 Linux 集群中的各个计算节点中的内存大小是否一样。通常,拥有一个发行版或类似的 shell 是最好的。但是为了演示,以下使用 SSH。
假设 SSH 设置为不使用密码验证。然后运行:
# for num in $(seq -w 200); do ssh n$num free -tm | grep Mem | awk '{print $2}';
done | sort | uniq
这样的命令行相当简洁。(如果在其中放入正则表达式情况会更糟)。让我们对它进行细分,详细讨论各部分。
首先从 001 循环到 200。使用 seq
命令的 -w
选项在前面填充 0。
然后替换 num
变量,创建通过 SSH 连接的主机。有了目标主机后,向它发出命令。本例中是:
free -m | grep Mem | awk '{print $2}'
这个命令的意思是:
- 使用
free
命令获取以兆字节为单位的内存大小。
- 获取这个命令的结果,并使用
grep
获取包含字符串 Mem
的行。
- 获取那一行并使用
awk
输出第二个字段,它是节点中的总内存。
在每个节点上执行这个操作。
在每个节点上执行命令后,200 个节点的整个输出就传送(|
d)到 sort
命令,以对所有内存值进行排序。
最后,使用 uniq
命令消除重复项。这个命令会导致以下情况中的一种:
- 如果所有节点(n001 到 n200)拥有相同的内存大小,则只显示一个数字。这个数字就是每个操作系统看到的内存大小。
- 如果节点内存大小不同,将会看到几个内存大小的值。
- 最后,如果某个节点上的 SSH 出现故障,则会看到一些错误消息。
这个命令并不是完美无缺的。如果发现与预期不同的内存值,您就不知道是哪一个节点出了问题,或者有多少个节点。为此需要发出另一个命令。
这个技巧提供了一种查看某些内容的快速方式,而且如果发生错误,您可以立刻知道。其价值在于快速检查。
分享到:
相关推荐
它强调命令行不仅适用于系统管理员,也适用于日常用户,特别是对于远程服务器管理或自动化脚本编写来说,命令行更是不可或缺。 书中详细介绍了shell,这是Linux命令行的核心。shell是一种命令解释器,它接收用户的...
此外,命令行对于程序员和系统管理员来说是必备技能,因为它能够直接访问系统的核心功能。 本书主要讲解以下几个方面: 1. **shell**:shell 是命令行界面的核心,它是一个解释用户输入并执行命令的程序。书中介绍...
"Linux 高级Bash脚本编程实用指南"正是这样一本针对熟练Linux用户和系统管理员,旨在提升Bash脚本编写技巧的参考资料。 该指南可能涵盖以下关键知识点: 1. **Bash基础知识**:包括Bash的安装与配置,Shell环境...
在IT行业中,Linux Bash脚本编程是系统管理员、开发者以及自动化任务执行者不可或缺的技能之一。Bash(Bourne-Again SHell)是Linux和Unix操作系统中最常用的命令行解释器,也是编写shell脚本的主要工具。《Linux ...
例如,通过学习和掌握特定的Bash命令和脚本技巧,管理员可以实现复杂的任务自动化,提高工作效率。例如,Bash可以用来编写脚本,自动化网络配置、系统监控和管理任务。 在邮箱客户端与Exchange Server会话方面,...
Linux系统管理白皮书是一份全面介绍Linux操作系统管理和维护的权威文档,旨在为新手和经验丰富的系统管理员提供深入的理解和实用技巧。这份资料的核心内容涵盖了Linux的基础知识、系统安装、用户与权限管理、软件包...
本“Linux实用培训教程”旨在帮助初学者和有经验的用户深入理解和熟练掌握Linux操作系统的核心概念、常用命令行工具以及系统管理技巧。 首先,Linux的基础知识是至关重要的。Linux基于Unix,由林纳斯·托瓦兹在1991...
《Python Unix和Linux系统管理指南》是一本专为IT专业人士准备的实用教程,它深入浅出地介绍了如何利用Python语言来提升Unix和Linux系统的管理和自动化水平。这本书涵盖了多个关键的知识点,旨在帮助读者掌握用...
在IT领域,Linux操作系统是开发者、系统管理员和高级用户的常用工具。这个名为“Linux技巧汇总”的资源包显然是一个集合了各种Linux使用技巧和心得的文本文件。这些技巧可能包括命令行操作、系统管理、网络配置、...
这份资料旨在帮助用户深入理解和高效利用Linux操作系统,无论你是初学者还是经验丰富的系统管理员,都能从中受益匪浅。 Linux是基于Unix的操作系统,以其开源、免费和高度可定制性而闻名。它在服务器、云计算、...
总的来说,《Advanced Bash-Scripting Guide》是一本全面、深入的教程,适合任何想要提升Bash脚本技能的Linux/UNIX用户,无论你是初学者还是经验丰富的系统管理员,都能从中受益匪浅。通过学习这本书,你可以掌握...
在IT领域,Linux系统是广泛使用的操作系统之一,而Bash(Bourne-Again SHell)作为Linux默认的命令行解释器,是每个系统管理员和开发者必须掌握的工具。"高级Bash脚本编程指南"是一本深入讲解Bash脚本编程的权威资料...
【Linux下Shell编程】 Shell编程是Linux操作系统中一种强大的脚本编写方式,它允许用户创建自定义的命令行工具和自动化任务。...理解这些基础概念和技巧是成为一名熟练的Linux用户或系统管理员的关键步骤。
这种实践性的学习方式对于开发者、系统管理员以及任何对操作系统底层运作感兴趣的人来说极具价值。 在《Linux From Scratch 6.7》中,读者将了解到以下关键知识点: 1. **基本概念**:首先,书中会介绍Linux操作...
根据提供的信息,《Shell脚本专家指南》是一本深入讲解Shell脚本编程的书籍,适合中级到高级的Shell程序员以及需要解决日常问题的系统管理员阅读。本书不仅提供了实用的脚本和技巧,还深入探讨了Shell脚本编程的核心...
Shell编程是一种在Unix/Linux操作系统环境下进行系统管理与自动化任务的强大工具。它允许用户通过命令行接口执行一系列操作,包括文件管理、...对于Linux管理员和开发者来说,熟练掌握Shell脚本编程是一项必备技能。
8. **设备驱动与模块**:《DeviceAndModule.ppt》可能会介绍Linux设备驱动程序的原理和编写,以及动态加载和卸载模块的方法,这对理解和开发硬件支持非常关键。 9. **Linux编程基础**:《第9章 Linux编程基础.ppt》...
《Weblogic实用教程及常用技巧集锦》是一份面向初学者的详细教程,旨在帮助读者快速掌握Weblogic的基础操作和实用技巧。Weblogic是由Oracle公司提供的一个企业级应用服务器,用于部署和管理Java EE应用程序。 1. **...
在IT行业中,Shell脚本是Linux/Unix系统管理员和开发者不可或缺的工具,它是一种通过Shell解释器执行的程序,用于自动化日常任务。本资源“常用shell脚本实战案例”聚焦于如何利用Shell脚本来解决实际问题,提升运维...