当前位置: 首页 > 科技观察

连接到Linux服务器时首先运行的5个命令_0

时间:2023-03-20 21:20:30 科技观察

作为sysadmin/SRE工作了5年之后,我知道在连接到Linux服务器时我应该首先做什么。以下是您必须了解的有关服务器的清单,以便您(大多数情况下)可以更好地调试它。连接到Linux服务器的第一分钟这些命令对于有经验的软件工程师来说是非常熟悉的,但我意识到对于一个刚接触Linux系统的初学者来说,比如我在HolbertonSchool教的学生,并不是这样的。这就是为什么我决定分享我在连接到Linux服务器时运行的前5个命令。whistorytopdfnetstat这5个命令在任何Linux发行版中都可用,因此您可以直接使用它们而无需额外的安装步骤。w:[ubuntu@ip-172-31-48-251~]$w23:40:25up273days,20:52,2users,loadaverage:0.33,0.14,0.12USERTTYFROMLOGIN@IDLEJCPUPPUWHATubuntupts/0104-7-14-91.ligh23:390.00s0.02s0.00swrootpts/1104-7-14-91.ligh23:405.00s0.01s0.03ssshd:root[priv][ubuntu@ip-172-31-48-251~]$这里有很多有用的信息。首先,您可以看到服务器正常运行时间,即服务器运行了多长时间。然后您可以查看哪些用户已连接到服务器,这在您想要确保您不会干扰同事的工作时非常有用。最后,平均负载是向您展示服务器健康状况的好方法。history[ubuntu@ip-172-31-48-251~]$history1cd/var/app/current/log/2ls-al3tail-n3000production.log4serviceapache2status5cat../../app/services/discourse_service.rbhistory可以告诉你current连接的用户之前运行的命令。你可以看到很多关于机器正在执行什么样的任务的信息,可能发生了什么错误,你可以从哪里开始调试工作等等。toptop-23:47:54up273days,21:00,2users,loadaverage:0.02,0.07,0.10Tasks:79total,2running,77sleeping,0stopped,0zombieCpu(s):1.0%us,0.0%sy,0.0%ni,98.7%id,0.0%wa,0.0%hi,0.0%si,0.3%stMem:3842624ktotal,3128036kused,714588kfree,148860kbuffersSwap:0ktotal,0kused,0kfree,1052320kcachedPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND21095root200513m21m4980S1.00.61237:05python1380healthd200669m36m5712S0.31.0265:43.82ruby19703dd-agent200142m25m4912S0.30.711:32.32python1root2001959616281284S0.00.00:10.64init2root200000S0.00.00:00.00kthreadd3root200000S0.00.027:31.42ksoftirqd/04root200000S0.00.00:00.00kworker/0:05root0-20000S0.00.00:00.00kworker/0:0H7root200000S0.00.042:51.60rcu_sched8root200000S0.00.00:00.00rcu_bh下一条你想知道的信息:服务器当前在做什么。使用top命令,您可以查看所有正在运行的进程,然后按CPU、内存使用情况排序,并查找占用资源的进程。df[ubuntu@ip-172-31-48-251~]$df-hFilesystemSizeUsedAvailUse%Mountedon/dev/xvda17.8G4.5G3.3G58%/devtmpfs1.9G12K1.9G1%/devtmpfs1.9G01.9G0%/dev/shm服务器正常运行所需的下一个重要资源是磁盘空间。磁盘空间不足是一个非常典型的问题。netstat[ubuntu@ip-172-31-48-251ec2-user]#netstat-lpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnameetcp00*:http*:*LISTEN1637/nginxtcp00*:ssh*:*LISTEN1209/sshdtcp00localhost:smt*:*LISTEN1241/sendmailtcp00localhost:17123*:*LISTEN19703/pythontcp00localhost:22221*:*LISTEN1380/puma2.11.1(ttcp00*:4242*:*LISTEN18904/jsvc.exectcp00*:ssh*:*LISTENshd电脑已??经成为我们的电脑了世界的重要部分,因为它们能够通过网络相互通信。了解服务器正在侦听的端口、它们的IP地址是什么以及正在使用它们的进程对您来说非常重要。显然这个列表会随着你的目的和你拥有的信息而变化。例如,当你需要调试性能时,Netflix有一个自定义列表。你有没有任何有用的命令不在我的Top5中?在评论部分和我们分享吧!