用于中间件/WebSphere管理的Linux命令

中间件是2017年招聘的第四大最热门技能, 并且在未来几年中没有理由下降。
如果你最近开始使用WebSphere或任何其他中间件产品套件, 那么首先要熟悉的就是广泛使用的Linux命令。
在本文中, 我将每天讨论WebSphere或中间件管理员经常使用的一些Linux命令。
查找SystemOut.log
如果你正在使用现有环境, 并且管理员已将SystemOut.log重定向到其他位置, 那么找到它将是一个挑战。

#find / -name SystemOut.log

提示:如果你有多个文件系统, 则可能需要一些时间进行搜索。因此, 最好将/替换为你认为日志所在的实际文件系统。假设你认为日志位于/ opt文件系统中, 因此你可以这样做。
#find /opt –name SystemOut.log

知道哪个进程持有特定的端口号
通常, 你将不得不处理端口冲突问题, 尤其是在共享环境中。
如果有一种情况可以找出哪个进程持有端口号, 那么你可以通过以下方法知道。
#netstat –anlp | grep 443

Ex
[[email  protected] ~]# netstat -anlp | grep 443tcp            0        0 0.0.0.0:443                                0.0.0.0:*                                    LISTEN        20924/nginx              [[email  protected] ~]#

注意:上面的示例显示了具有PID 20924的Nginx保持443端口。
服务器启动时间
如果要执行自动启动故障排除, 并且想知道重新启动服务器的时间, 则可以使用此命令。
#who –b

[[email  protected] ~]# who -b                system boot Jun 28 01:11[[email  protected] ~]#

who -b命令将为你提供服务器重新启动的确切日期和时间。
或者, 你也可以使用启动时间来检查服务器启动了多长时间。
[[email  protected] ~]# uptime01:20:27 up 14 days, 9 min, 1 user, load average: 0.00, 0.00, 0.00[[email  protected] ~]#

在运行时检查CPU /内存利用率
如果遇到性能问题, 则可能需要了解当前的CPU /内存利用率。
这将帮助你实时找出哪个进程占用大量CPU /内存。
#toptop - 01:16:21 up 14 days, 5 min, 1 user, load average: 0.00, 0.00, 0.00Tasks: 70 total,     1 running, 69 sleeping,     0 stopped,     0 zombieCpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%stMem:    502220k total,     454920k used,     47300k free,     143476k buffersSwap:            0k total,             0k used,             0k free,     245412k cachedPID USER        PR NI VIRT RES SHR S %CPU %MEM    TIME+ COMMAND                                            29121 root        20    0 15008 1260 992 R 0.3 0.3    0:00.02 top                                          1 root        20    0 19232 1136 860 S 0.0 0.2    0:25.18 init                                                2 root        20    0        0    0    0 S 0.0 0.0    0:00.00 kthreadd                                          3 root        RT    0        0    0    0 S 0.0 0.0    0:00.00 migration/0                                    4 root        20    0        0    0    0 S 0.0 0.0    0:01.21 ksoftirqd/0

提示:在” CPU /内存” 部分查找前几个PID, 以了解利用率。
或者, 你也可以使用free命令找出总内存和可用内存。
#free –m

[[email  protected] ~]# free -m                        total            used            free        shared    buffers        cachedMem:                    490            444                46                0            140            239-/+ buffers/cache:                64              425Swap:                    0                0                0[[email  protected] ~]#

从上面可以看到, 总内存为490 MB, 只有46 MB可用。
还有另一个名为SAR(系统活动报告)的命令, 它对于查找CPU和内存统计信息也非常有帮助。
检查CPU利用率
#sar

检查内存利用率
sar -r

杀死进程
如果挂起或关闭, 有时进程不会正常停止。在这种情况下, 你可以手动终止该进程。
#kill PID

如果上述方法没有帮助, 则可以使用-9强制终止该过程。
#kill -9 PID

注意:PID是你的进程ID
压缩与提取
大多数情况下, 你将不得不将文件压缩作为文件系统的内部管理活动。
压缩
gzip命令可用于压缩文件。
#gzip filename

提示:如果要压缩多个文件, 可以使用gzip *压缩该工作目录中所有可用的文件。
萃取
gunzip命令将帮助你提取gz文件。
#gunzip filename

提示:你可以使用gunzip *, 它将帮助你提取该工作目录中的所有gz文件。
总CPU, 内存, 文件系统
如果你正在进行迁移或容量规划, 通常会要求提供服务器信息。
这是帮助你找出CPU, 内存和文件系统详细信息的快速命令。
CPU信息
通过使用查找CPU内核, MHz, CPU制造商, 型号名称等
#cat /proc/cpuinfo

提示:如果你有高端服务器, 则上述命令的输出将很长。因此, 你可以使用grep过滤掉所需的信息。例如, 只需找出核心, 即可使用
#cat /proc/cpuinfo | grep cores

记忆体资讯
要找出可用的总内存, 可以使用以下命令之一。
第一…。
#free –G

这将向你显示总的, 可用的和缓存的内存
第二个…
#cat /proc/meminfo

这将向你显示更多信息以及总内存。
文件系统信息
要了解文件系统的大小和使用情况, 可以使用df命令。
#df –h

[[email  protected] tmp]# df -hFilesystem        Size Used Avail Use% Mounted on/dev/vda1            20G 1.6G    18G    9% /tmpfs                    246M        0 246M    0% /dev/shm[[email  protected] tmp]#

【用于中间件/WebSphere管理的Linux命令】包括–h将为你提供以GB为单位的输出, 这很容易理解。
检查IP, 子网掩码, MAC地址和错误
可能是发现IP相关信息的最广泛使用的命令之一。
[[email  protected] tmp]# ifconfigeth0        Link encap:Ethernet HWaddr 04:01:5A:25:57:01                  inet addr:128.199.100.162 Bcast:128.199.127.255 Mask:255.255.192.0                inet6 addr: fe80::601:5aff:fe25:5701/64 Scope:Link                UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1                RX packets:1491330 errors:0 dropped:0 overruns:0 frame:0                TX packets:1636419 errors:0 dropped:0 overruns:0 carrier:0                collisions:0 txqueuelen:1000                RX bytes:306418374 (292.2 MiB) TX bytes:274350737 (261.6 MiB)[[email  protected] tmp]#

如上所示, ifconfig将显示IP地址, 以太网详细信息, 硬件地址(MAC), 子网掩码, 错误和其他信息。如果要查找此信息, 这是非常有用的便捷命令。
提示:可以将–a与ifconfig一起使用以显示所有可用的以太网详细信息。例如:
#ifconfig –a

网络命令, 如wget, telnet, traceroute
如果要进行应用程序连接故障排除, 那么很可能需要使用这些网络命令。
检查是否可以从服务器访问特定的URL
你可以使用wget命令快速确认服务器上是否存在任何连接问题。例如:如果你需要检查服务器是否可以访问外部网站(例如https://geekflare.com), 则可以在下面使用。
[[email  protected] tmp]# wget geekflare.com--2015-07-12 02:52:56-- https://geekflare.com/Resolving geekflare.com... 104.28.23.60, 104.28.22.60Connecting to geekflare.com|104.28.23.60|:80... connected.HTTP request sent, awaiting response... 200 OKLength: unspecified [text/html]Saving to: `index.html'[ < =>                                                                                                                                                                 ] 65, 435        --.-K/s    in 0.005s2015-07-12 02:52:56 (13.4 MB/s) - `index.html' saved [65435][[email  protected] tmp]#

提示:上面你可以看到HTTP响应代码为200, 表示连接没有问题。
验证服务器是否可以使用特定端口号连接到后端服务
如果要连接到Web服务之类的其他应用程序, 并且需要验证是否可以访问它们, 则可以使用telnet命令。这对于连接测试非常有用。
在下面的示例中, 我检查了443端口上的geekflare.com是否可以访问。
[[email  protected] tmp]# telnet geekflare.com 443Trying 104.28.23.60...Connected to geekflare.com.Escape character is '^]'.

如果看到” 已连接” , 则表明连接/防火墙没有问题。但是, 如果你看到连接失败, 那么你就会知道, 有防火墙阻止了你的连接。
跟踪连接详细信息
这可能不会一直使用, 但是在遇到延迟问题或仅想找出服务器到目标之间的连接路径时非常有用。
以下示例显示了从我的服务器到geekflare.com的网络路径
[[email  protected] tmp]# traceroute geekflare.comtraceroute to geekflare.com (104.28.23.60), 30 hops max, 60 byte packets1 128.199.127.253 (128.199.127.253) 5.110 ms 5.061 ms 128.199.127.254 (128.199.127.254) 0.418 ms2 103.253.144.237 (103.253.144.237) 5.153 ms 0.463 ms 103.253.144.241 (103.253.144.241) 8.009 ms3 as13335.singapore.megaport.com (103.41.12.6) 4.822 ms 13335.sgw.equinix.com (202.79.197.132) 4.819 ms as13335.singapore.megaport.com (103.41.12.6) 4.490 ms4 104.28.23.60 (104.28.23.60) 4.454 ms 4.427 ms 4.366 ms[[email  protected] tmp]#

所有权变更
如果你正在与服务器上的多个用户打交道, 并且也具有root权限, 那么很可能偶尔会出现一次, 你将获得权限/所有权。好吧, 不用担心学习的一部分。
这是更改所有权或权限的快速方法。
变更拥有权
要更改特定文件的所有权, 可以使用以下chown命令。
#chown user:group error.log

提示:上面的内容将error.log的所有权更改为提到的用户和组。如果你有一个文件夹, 则可以使用–R, 它将递归地更改该文件夹中的所有文件。例如:-
#chown –R user:group somefolder

希望以上命令能帮助你加快Linux环境下的工作风格。

    推荐阅读