【分享】系统管理员必须学会的30条实用Linux命令。本文并不是一个完整的列表,而是一个简短的命令列表,在需要时可以派上用场。让我们首先通过示例解释如何使用这些命令中的每一个。1.uptime命令在Linux中,uptime命令显示你的系统已经运行了多长时间,当前有多少用户登录。它还会以1分钟、5分钟和15分钟为间隔显示平均负载。#uptime08:16:26up22min,1user,loadaverage:0.00,0.03,0.22查看uptime版本uptime命令除了uptime(正常运行时间)和version(版本)外没有其他选项。如果时间小于1天,则仅以小时:分钟的形式提供信息。[tecmint@tecmint~]$uptime-Vprocpsversion3.2.82.w命令这个命令会显示当前登录的用户和他们的进程,也会显示平均负载。此外,它还显示登录名、tty名称、远程主机、登录时间、空闲时间、JCPU、PCPU、命令和进程。#w08:27:44up34min,1user,loadaverage:0.00,0.00,0.08USERTTYFROMLOGIN@IDLEJCPUPPUWHATtecmintpts/0192.168.50.107:590.00s0.29s0.09sw可用选项-h:不显示标题。◆-s:不显示JCPU和PCPU。◆-f:不显示字段信息。◆-V:(大写V)-显示版本。3.users命令users命令显示当前登录的用户。除了帮助(help)和版本(version),该命令没有其他参数。#usersTecmint4.who命令who命令仅返回用户名、日期、时间和主机信息。who命令类似于w命令。与w命令不同,who不输出有关用户执行的操作的信息。让我们看一下who和w命令之间的区别。#whotecmintpts/02012-09-1807:59(192.168.50.1)#w08:43:58up50min,1user,loadaverage:0.64,0.18,0.06USERTTYFROMLOGIN@IDLEJCPUPPUWHATtecmintpts/0192.168.50.107:590.00s0.0命令的1个选项。b:显示上次系统重启的日期和时间。◆-r:显示当前运行级别。◆-a,--all:显示所有累积的信息。5.whoami命令whoami命令输出当前用户的名称。您还可以使用“我是谁”命令来显示当前用户。如果您使用sudo命令以root身份登录,“whoami”命令会返回root是当前用户。如果您想知道哪个用户登录了,请使用“我是谁”命令。#whoamitecmint6.ls命令ls命令以人类可读的格式显示文件列表。#ls-ltotal114dr-xr-xr-x.2rootroot4096Sep1808:46bindr-xr-xr-x.5rootroot1024Sep815:49boot按最后修改时间排序文件。#ls-ltrtotal40-rw-r--r--.1rootroot6546Sep1718:42install.log.syslog-rw-r--r--.1rootroot22435Sep1718:45install.log-rw------.1rootroot1003Sep1718:45anaconda-ks.cfg7.crontab命令可以使用crontab命令和-l选项列出当前用户的计划任务。#crontab-l0010***/bin/ls>/ls.txt您可以使用-e选项编辑crontab。在下面的例子中,计划任务将使用VI编辑工具打开。进行必要的更改,按:wq退出,这将自动保存设置。#crontab-e#p#8.less命令less命令允许快速查看文件。您可以上下翻页。按“q”退出less窗口。#lessinstall.logInstallingsetup-2.8.14-10.el6.noarchwarning:setup-2.8.14-10.el6.noarch:HeaderV3RSA/SHA256Signature,keyIDc105b9de:NOKEYInstallingfilesystem-2.4.30-2.1.el6.i686Installingca-certificates6-3-3010..el6.noarchInstallingxml-common-0.6.3-32.el6.noarchInstallingtzdata-2010l-1.el6.noarchInstallingiso-codes-3.16-2.el6.noarch9.more命令more命令允许快速查看文件并显示它作为百分比细节。您可以上下翻页。按“q”退出更多窗口。#moreinstall.logInstallingsetup-2.8.14-10.el6.noarchwarning:setup-2.8.14-10.el6.noarch:HeaderV3RSA/SHA256Signature,keyIDc105b9de:NOKEYInstallingfilesystem-2.4.30-2.1.el6.i686Installingca-certificates.6-2030.el6.noarchInstallingxml-common-0.6.3-32.el6.noarchInstallingtzdata-2010l-1.el6.noarchInstallingiso-codes-3.16-2.el6.noarch--More--(10%)10.cp命令转换文件from将源复制到目标,保持相同的模式。#cp-pfileAfileB在覆盖文件之前会提示您。#cp-ifileAfileB11.mv命令将文件A重命名为文件B。-i选项在覆盖前提示。如果文件已经存在,将要求确认。#mv-ifileAfileB12.cat命令cat命令用于同时查看多个文件。#catfileAfileB如果一个文件无法在一屏/一页显示,可以使用cat命令结合more和less命令查看文件内容。#catinstall.log|less#catinstall.log|more13.cd命令(改变目录)用cd命令(改变目录),会进入fileA目录。#cd/fileA14.pwd命令(输出工作目录)pwd命令将返回当前工作目录。#pwd/root15.sort命令按升序对一行文本文件进行排序。如果使用-r选项,它将按降序排列。#sortfileA.txt#sort-rfileA.txt16.viCommandVi是大多数类UNIX操作系统最流行的文本编辑器。以下示例使用-R选项以只读模式打开文件。按“:q”退出vi窗口。#vi-R/etc/shadows17.ssh命令(secureshell)ssh命令用于登录远程主机。例如,以下ssh示例将使用用户narad连接到主机(192.168.50.2)。#sshnarad@192.168.50.2想查看ssh的版本,使用选项-V(大写)显示ssh的版本。#ssh-VOpenSSH_5.3p1,OpenSSL1.0.0-fips29Mar201018.ftp或sftp命令ftp或sftp命令用于连接远程ftp主机。ftp是指文件传输协议,而sftp是安全文件传输协议。例如,以下命令将连接到ftp主机(192.168.50.2)。#ftp192.168.50.2#sftp192.168.50.2正如我们可以使用mput将多个文件上传到远程主机一样,我们也可以使用mget从远程主机下载多个文件。#ftp>mput*.txt#ftp>mget*.txt19.service命令service命令调用位于/etc/init.d/目录下的脚本并执行脚本。有两种方法可以启动任何服务。比如我们使用service命令启动一个名为httpd的服务。#servicehttpdstartOR#/etc/init.d/httpdstart#p#20.free命令free命令以字节为单位显示有关可用内存、总内存和交换的信息。#freetotalusedfreesharedbufferscachedMem:1030800735944294856051648547696-/+buffers/cache:136600894200Swap:206437602064376带-t选项的free命令显示已使用的总内存和可用内存(以字节为单位)。#免费ttotalusedFreesharedBuffersCachedMem:103080073609629470404051720547704-/+buffers/cache/cache:136672894128SWAP:206437602064376TOTALSHOTERATECRECTIONCRECTIONPRESTITORSMALDITYPRITSSERYMALDITYPRITISTERMALDYERSMALDITYWIRSTORTERTORTYMALDITYWINSTORTORERERTERSMALDITY命令命令命令命令命令命令。使用的内存。如果您使用带有“u”选项的top命令,则会显示特定的用户进程详细信息,如下所示。按“O”(大写)按您想要的方式对其进行排序。按“q”退出顶部屏幕。#top-utecminttop-11:13:11up3:19,2users,loadaverage:0.00,0.00,0.00Tasks:116total,1running,115sleeping,0stopped,0zombieCpu(s):0.0%us,0.3%sy,0.0%ni,99.7%id,0.0%wa,0.0%hi,0.0%si,0.0%stMem:1030800ktotal,736188kused,294612kfree,51760kbuffersSwap:2064376ktotal,0kused,2064376kfree,547704kcachedPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND1889tecmint200114681648920S0.00.20:00.59sshd1890tecmint200512416681416S0.00.20:00.44bash6698tecmint200116001668924S0.00.20:01.19sshd6699tecmint200512415961352S0.00.20:00.11bash22.tar命令tar命令用于在Linux下压缩文件和文件夹。例如,以下命令将为/home目录创建文件名为archive-name.tar的压缩存档。#tar-cvfarchive-name.tar/home要解压缩tar存档,请使用下面显示的选项。#tar-xvfarchive-name.tar23.grepgrep命令可以在文件中搜索特定的字符串。仅在/etc/passwd文件中显示tecmint用户。我们可以使用-i选项忽略大小写。#greptecmint/etc/passwdtecmint:x:500:500::/home/tecmint:/bin/bash24.find命令find命令用于搜索文件、字符串和目录。在下面的示例中,find命令在“/”分区中搜索单词tecmint并返回输出。#find/-nametecmint/var/spool/mail/tecmint/home/tecmint/root/home/tecmint25.lsof命令lsof的意思是“列出所有打开的文件”。下面,lsof命令列出了tecmint用户打开的所有文件。#lsof-utecmintCOMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEsshd1889tecmintcwdDIR253,040962/sshd1889tecminttxtREG253,0532336298069/usr/sbin/sshdsshd1889tecmintDELREG253,0412940/lib/libcom_err.so.2.1sshd1889tecmintDELREG253,0393156/lib/ld-2.12.sosshd1889tecmintDELREG253,0298643/usr/lib/libcrypto.so.1.0.0sshd1889tecmintDELREG253,0393173/lib/libnsl-2.12.sosshd1889tecmintDELREG253,0412937/lib/libkrb5support.so.0.1sshd1889tecmintDELREG253,0412961/lib/libplc4.last.so26.last命令系统用户可以观察活动。此命令也可以作为普通用户执行。它显示完整的用户信息,例如终端、时间、日期、系统重新引导或引导以及内核版本。这是用于故障排除的有用命令。#lastTecMintpts/1192.168.50.1TUESEP1808:50StillLoggedIntecmintpts/0192.168.50.10.1TUESEP1807:59STILLLOGGEDINROGGEDINREBOOTSEMSEMBOOOT2.6.32-279.EL6.EL6.EL6.EL6.ITUESEP1807:54-11:54-1111:38(038)rootpts/0:0.0SunSep1610:36-13:09(02:32)roottty1:0SunSep1610:07-down(04:26)rebootsystemboot2.6.32-279.el6.iSunSep1609:57-14:33(04:35)naradpts/2192.168.50.1ThuSep1308:07-down(01:15)您可以使用lastwithusername来了解特定用户的活动,如下所示。#lastTecmintTecmintpts/1192.168.50.1TUESEP1808:50StillLoggedIntecmintpts/0192.168.50.1TUESEP1807:59STILLLOGGEDECTECMINTPTS/1192.192.168.50.50.50.1THUSEP113198.1TEP138:077-1515.77-1515151515151515.151515151515151515151515.110.110.10.110.10.10.110.110.110.11/tecl命令ps命令显示有关系统中运行的进程的信息。以下示例仅显示init进程。#ps-ef|grepinitroot10007:53?00:00:04/sbin/initroot75086825011:48pts/100:00:00grepinit28.kill使用kill命令终止进程。先用ps命令找到进程id,如下图,然后用kill-9命令终止进程。#ps-ef|grepinitroot10007:53?00:00:04/sbin/initroot75086825011:48pts/100:00:00grepinit#kill-9750829.rmrm命令用于清除或删除文件而不提示确认。#rmfilename在删除之前使用-i选项进行确认。使用“-r”和“-f”选项将在不确认的情况下强制删除文件。#rm-itest.txtrm:removeregularfile`test.txt'?30、mkdir命令mkdir命令用于在Linux下创建目录。#mkdirdirectoryname类Linux/Unix操作系统下的一系列简单易用、实用的日常基本命令。如果有什么命令我们遗漏了,欢迎留言交流!原标题:30条对系统管理员有用的Linux命令,作者:RaviSaive
