拿走不谢!创客学院教你64个Linux运维必备命令行工具
系统管理员(sysadmins)负责日常维护生产系统和服务。其中一个关键任务就是保证功能性服务能24小时工作。为了这个,他们得很小心地计划备份方式,灾难管理策略,定时维护,安全审查,等等。和任意其他管理一样,系统管理员也有他们的必备工具。在正确的时间正确的情况下使用合适的工具,可以帮助维护操作系统的健壮,达到最小的服务中断时间和最大的运行时间。
这篇文章会介绍一些系统管理员日常活动中最常用和有效的命令行工具。如果你想推荐其他没在这里列出来的好用的工具,别忘了在评论区里分享一下。
网络工具
ping:通过ICMP回应/回复报文来检查远端主机的端到端连接性(RTT延时,抖动,丢包)。用来检查系统状态和可连接性很不错。
hping:网络扫描和检测工具,可以产生ICMP/TCP/UDP ping数据包。常常用于高级端口扫描,防火墙测试,手动MTU路径发现和碎片测试。
traceroute:通过TTL限定的ICMP/UDP/TCP侦测包来发现从本地主机到远端目标主机之间的第三层转发路径。用来调试网络连接性和路由问题。
mtr:traceroute的一个变种,能根据运行时统计数据整理出每一跳的包丢失/抖动。用来评估路由路径延时很不错。
netcat/socat:TCP/IP网络里的瑞士军刀,可以读/写 TCP/UDP 协议字节流。用来调试防火墙策略和服务可用性很不错。
dig:DNS调试工具,可以生成正向查询,反向查询,搜索域名服务器,检查CNAME,MX和其他DNS记录。可以在侦错的时候查询特定的DNS服务器。
nslookup:另外一个DNS检查/调试工具。支持所有DNS查询和记录。可以查询特定DNS服务器。
dnsyo:一个DNS测试工具,通过对全世界1500个不同网络中的大量开放解析器执行DNS查询来测试DNS传输。
lsof:显示进程打开的文件信息(例如,普通文件,管道或套接字)。用来监视网络连接很不错。
iftop:一个基于ncurses的命令行界面应用,可以实时监视各个网络物理接口上的网络连接和带宽占用。用来记录霸占带宽的应用、用户、目的地和端口等很不错。
netstat:一个网络统计工具,可以显示状态以及统计信息,当前网络连接(TCP/UDP端口,IP地址)、路由表、TX/RX traffic以及网络协议。用来做网络相关诊断和性能调试很不错。
tcpdump:一个常用的基于libpcap抓包库的包侦测工具。可以按伯克利包过滤器格式定义抓包条件。
tshark:另一个命令行抓包工具,和它的GUI版本Wireshark完全兼容。支持1000种协议而且这个列表还在增加。用来调试、分析和保存实时网络封包信息很不错。
ip:一个多功能的命令行网络工具,是iproute2包的一部分。可以检查和修改路由表、网络设备状态以及IP隧道设置。用来查看路由表、增加/删除静态路由、配置网络接口、以及调试路由问题很有用。
ifup/ifdown:用来激活和关闭特定的网络接口。经常用于重启整个网络服务。
autossh:一个能建立SSH连接并在断线后自动重新连接的程序。用来创建长时间保持的穿越严格企业网络的SSH隧道很有用。
iperf:一个网络测试工具,通过在发送自定义TCP/UDP数据流来衡量主机间双向最大吞吐量。
elinks/lynx:为基于命令行的服务器环境下使用的基于文字的网页浏览器。
安全工具
iptables:一个用户空间下的命令行工具,用于配置Linux内核防火墙。可以创建和修改Linux内核空间的网络包接收、转发和发送规则。
nmap:一个常用的为了安全审查目的的端口扫描和网络发现工具。用来在本地网络中找出哪些主机开机并运行起来了以及某台特定主机打开了哪些端口很有用。
TCP Wrappers:一个主机端的网络访问控制列表工具,可以过滤进入/出去的网络请求/回复。经常配合iptables一起使用,作为额外一层安全保护。
getfacl/setfacl:查看和定制文件和目录的访问控制列表,作为传统文件权限的扩展。
cryptsetup:用于创建和管理LUKS加密磁盘分区。
lynis:一个命令行的漏洞扫描工具。可以扫描整个Linux系统,并汇报潜在的漏洞以及相关可能解决方案。
maldet:一个恶意软件扫描命令行工具,可以检测和隔离潜在的感染文件。可以在后台运行长期监视。
rkhunter/chkrootkit:一个命令行工具,可以扫描本地系统里的潜在木马、隐藏后门和可疑利用,并禁用它们。
存储工具
fdisk:一个磁盘分区编辑工具。用于查看、创建和修改本地磁盘或可移动磁盘的分区。
sfdisk:fdisk的一个变种,能用一种非交互的方式访问或更新磁盘分区表。用来自动化备份和恢复过程中的磁盘分区很有用。
parted:另一个磁盘分区编辑器,支持超过2TB的磁盘的GPT(GUID分区表)格式。gparted是parted的一个前端GTK+图形界面。
df:用来查看不同分区或文件路径的已用/可用存储空间和挂载点。还有一个更易用的变种dfc。
du:用来查看不同文件和目录的当前磁盘占用情况(例如,du -sh *)。
mkfs:一个磁盘格式化命令,用来在独立磁盘分区上建立文件系统。有多个文件系统相关的版本:ext2、ext3、ext4、bfs、ntfs、vfat/fat。
fsck:一个命令行工具,用来检查文件系统错误并尝试可能的修复。通常在启动时自动运行,但是在卸载一个分区后也可以根据需要手动运行。
mount:用来映射一个物理磁盘分区、网络共享或远程存储到一个本地挂载点。任何对挂载点里的读/写操作都是对应实际存储的实际数据读/写。
mdadm:一个命令行工具,用来管理物理块设备上的软件RAID设备。可以创建、构造、增长或监视RAID阵列。
lvm:一套命令行工具集,用来管理卷分组和物理/逻辑卷,可以用最小的停机时间在多个物理磁盘上创建、调整大小、拆分和合并卷。
日志访问工具
tail:用来查看一个(增长中的)日志文件的尾部。有几个变种,包括multitail(多窗口查看)和ztail(支持inotify和正则表达式过滤以及颜色)。
logrotate:一个命令行工具,可以在根据设定的时间段拆分、压缩并通过邮件发送旧的/大的日志文件。用来管理可能产生大量日志文件的繁忙主机很有用。
grep/egrep:可以通过特定的模式或正则表达式过滤日志内容。变种包括用户更友好的ack和速度更快的ag。
awk:一个多功能的文本扫描和处理工具。常用于从文本/日志文件中找出特定的列或内容,并输出给其他工具。
sed:一个文本流编辑工具,可以过滤和改变(例如,删除行/空格、替换/转换单词、增加计数)文本流并通过管道连接到stdout/stderr或者其他工具。
备份工具
rsync:一个快速的单向增量备份和镜像工具(LCTT 译注:rsync 应是双向的)。常用于复制一个数据仓库到线下存储,可以选择通过SSH或stunnel的加密连接。
rdiff-backup:另一个有效利用带宽的增量备份工具。管理两个连续快照之间的差分。
duplicity:一个加密的增量备份工具。使用GnuPG加密备份,并通过SSH上传到远程服务器。
性能监视工具
top:一个命令行的进程查看程序。可以监视系统负载、进程状态、CPU和内存占用。有一个更易用的变种htop。
ps:显示系统所有运行中进程的一个快照。输出可以定制成显示PID、PPID、用户、负载、内存、积累的用户/系统时间、启动时间、以及更多。有一个变种pstree可以用树结构显示进程。
nethogs:一个带宽监视工具,按进程来分组显示活动网络连接,实时汇报每个进程占用的(上传/下载)带宽。
ngxtop:一个网页服务器访问日志解析和监视工具,界面受到了top命令启发。它可以实时汇报整理过的页面请求列表,包括频率、大小、HTTP返回值、IP地址,等等。
vmstat:一个简单的命令行工具,可以显示多个实时系统特征,例如进程数、剩余内存、分页状态、CPU占用、块设备I/O活动、中断/上下文切换统计、等等。
iotop:一个基于ncurses的I/O监视工具,可以实时排序显示所有运行中进程的磁盘I/O活动。
iostat:一个命令行工具,可以汇报当前CPU使用情况,以及设备I/O使用情况,这里的I/O使用情况(例如,块传输速度、字节读/写速度)是按设备或分区来汇报的。
效率工具
screen:用来把一个单一的终端拆分成多个持久的虚拟终端,也支持远程用户访问,类似teamviewer的屏幕分享功能。
tmux:另一个终端复用工具,可以支持多个长期会话,还可以横向/纵向拆分终端。
cheat:一个简单的命令行工具,可以让你查看多个常用Linux命令的备忘录,就在手边非常方便。内建的备忘录也可以完全定制。
apropos:用来在帮助手册里查找描述或关键字很有用。
包管理工具
apt:基于Debian系统的事实上的包管理工具,例如Debian、Ubuntu或Backtrack。一个救生圈。
apt-fast:apt-get的一个支撑应用,可以通过多个并行连接明显提高apt-get的下载速度。
apt-file:用来查看某个特定文件属于哪个.deb包,或者显示一个特定.deb包里的所有文件。已安装和未安装的包都能支持。
dpkg:一个用来手动安装.deb包的命令行工具。强烈建议尽可能的使用apt。
yum:用于基于红帽的系统的自动包管理工具,比如RHEL、CentOS或Fedora。这是另一个救生圈!
rpm:通常我都是使用 rpm 来配合 yum 使用。有很多有用的参数,比如-q、-f、-l可以分别用来查询、指定文件和路径。
硬件工具
lspci:一个命令行工具,可以显示已安装的PCI设备的各种信息,比如型号名称、设备驱动、设备功能、内存地址、PCI总线地址。
lshw:一个命令行工具,可以查询和显示不同分类下的硬件配置的详细信息(例如,处理器、内存、主板、网络、存储)。支持多重输出格式:html、xml、json、text。
inxi:一个综合硬件查看工具,可以提供不同硬件模块的总览,例如CPU,显卡,声卡,网卡,温度/风扇传感器,等等。
参考资料:http://www.makeru.com.cn/
拿走不谢!创客学院教你64个Linux运维必备命令行工具相关推荐
- linux运维管理系统培训,Linux运维教程之Linux系统用户与组管理
今天小编要跟大家分享的文章是关于Linux运维教程之Linux系统用户与组管理.正在从事Linux运维工作和学习的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助. 一.Linux系统用户 ...
- CMD生疏了?教你10招酷酷的Windows命令行指令
CMD生疏了?教你10招酷酷的Windows命令行指令 [PConline 技巧]经常在电影里看到这样的情节,某大神把键盘敲得震天响,一大串黑屏文字后,屏幕蓦然出现了一行大字"资料已销毁!& ...
- 51CTO学院马哥Linux运维工程师培训班 学习宣言
51CTO学院&马哥Linux运维工程师培训班 学习宣言 亲爱的小伙伴: 欢迎大家报名51CTO学院&马哥Linux运维工程师培训班,跟随马哥学习Linux技术,成就Linux大牛之梦 ...
- cmd 顺序启动服务_CMD生疏了?教你10招酷酷的Windows命令行指令
[PConline 技巧]经常在电影里看到这样的情节,某大神把键盘敲得震天响,一大串黑屏文字后,屏幕蓦然出现了一行大字"资料已销毁!".虽然类似的情节常被大家戏称为NC,但不可否认 ...
- php个税计算接口,拿走不谢:通过个税反算工资的公式(实用小工具)
有个小伙伴遇到了个问题,知道该员工缴纳的个税,怎么快速反算工资薪金收入.于是我在网上找,半小时没有找到后,我干脆自己写了个公式.就是用最简单的函数,解决了这个令人头痛的麻烦.大家拿走,不知道哪天就用到 ...
- 教你写一个可以找到.m文件所有接口名的命令行工具
项目github 出发点 今天工作中写了一个工具类,在.m中完成所有功能后,发觉把所有接口从.m中拷贝到.h中声明,好麻烦啊,所以就考虑写个命令行工具来做这些工作. 想要达到的结果 我们设计这个小工具 ...
- php exec多条命令怎么拼接_PHP--手摸手,教你撸一个会自动补全的命令行工具1
前言 一次在使用symfony的时候,发现使用命令行的时候有些关键字会自动提示. 介绍 随着laravel,symfony等框架的流行,命令行工具越来越流行,但是很多时候命令太多,根本无法记住所有参数 ...
- ge linux安装apt_教你如何在 Linux 中使用 apt 命令
apt 是一个命令行实用程序,用于在 Ubuntu , Debian 和相关 Linux 发行版上安装,更新,删除和管理 deb 包.它是 apt-get 和 apt-cache 工具的最常用命令和选 ...
- linux运维之磁盘利用率100%教你做人
文章目录 磁盘空间满的情况都有哪些??? 第一种情况: 是磁盘空间block剩余量不够了(df -h) 第二种情况: 是磁盘空间inode剩余量不够了(df -i) 一.索引节点信息---inode与 ...
最新文章
- 3、vue-router之什么是动态路由
- 阿里洛神云网络这局妥了!集齐“软硬结合、创新NFV、智能管理”三张牌
- 2013年中国数据库大会PPT
- 使用jXLS将Excel文件解析为JavaBeans
- jquery ajax post请求连续多个问号特殊数据异常问题
- php 查找数组相同元素,查找数组中重复的元素
- WebResource.axd引起的问题
- 面试题--------9、mysql的drop delete truncate 分别在什么场景下使用
- 【优化算法】果蝇算法(FOA)【含Matlab源码 1568期】
- WIFI密码破解笔记
- Open mv识别图形形状及颜色
- 题目内容: 班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1
- 通过 I2C 驱动 LCD1602 液晶屏(51单片机)
- cad批量选择相同块_cad怎么快速选择相同图形/块?
- 2017 主流手机分辨率与尺寸
- excel 将隔行空白单元格填充为最靠近上面且有值的单元格的数据
- iphone7运行linux,我在iPhone7装入了Linux系统!
- Problem D: 四阶多项式
- MapReduce的运行机制及共同好友
- JS笔记 (四)数组,json对象,数据类型 ,if 判断,swich 判断,三目运算 判断