用户登录
用户注册

分享至

最最实用的30个Linux命令!

  • 作者: 如果如果可以的话我想说我爱你
  • 来源: 51数据库
  • 2022-09-20

本文由LinuxProbe.Com团队成员岳永整理发布,点此报名Linux培训

本文中将介绍一些实用又常用的Linux或Unix命令,这些是Linux系统管理员们平常使用的命令。本文不是什么完整列表,而是简要地列出了需要时派得上用场的命令,下面开始逐一介绍如何使用这些命令并附有示例。

1.uptime命令

在Linux中,uptime命令显示了你的系统运行了多久以及目前登录的用户有多少,另外还显示了间隔1分钟、5分钟和15分钟的负载平均值。

#?uptime
 08:16:26?up?22?min,??1?user,??load?average:?0.00,?0.03,?0.22

检查uptime版本

除了uptime(正常运行时间)和version(版本)外,uptime命令没有其他选项。如果时间不到1天,它只给出hours:mins这种形式的信息。

[tecmint@linuxprobe ~]$?uptime?-V
 procps?version?3.2.8

2.w命令

该命令会显示目前登录的用户及其进程,另外还会显示负载平均值。此外,它还显示了登录名称、tty名称、远程主机、登录时间、闲置时间、JCPU、PCPU、命令和进程。

#?w
08:27:44?up?34?min,??1?user,??load?average:?0.00,?0.00,?0.08
USER ? ?TTY ? ?FROM ? ? LOGIN@???IDLE???JCPU???PCPU?WHAT
tecmint??pts/0????192.168.50.1?????07:59????0.00s??0.29s??0.09s?w

 可用的选项
 -h:不显示标题。

 -s:不显示JCPU和PCPU。

 -f:不显示字段信息。

 -V:(大写V)-显示版本。

3.users命令

users命令显示了目前已登录的用户,除了help(帮助)和version(版本)外,该命令没有其他参数。

#?users
 Tecmint

4.who命令

who命令仅仅返回用户名称、日期、时间和主机信息;who命令类似w命令,不像w命令,who并不输出用户执行的操作这一信息,不妨具体看看who和w这两个命令之间的区别。

#?who
 tecmint??pts/0????????2010-09-18?07:59?(192.168.50.1)
#?w
 08:43:58?up?50?min,??1?user,??load?average:?0.64,?0.18,?0.06
 USER ? ?TTY ? ?FROM? ? LOGIN@???IDLE???JCPU???PCPU?WHAT
 tecmint??pts/0????192.168.50.1?????07:59????0.00s??0.43s??0.10s?w

 who命令的选项

 -b:显示上一次系统重启日期和时间。

 -r:显示当前的运行级别。

 -a,–all:显示累积的所有信息。

5.whoami命令

whoami命令输出当前用户的姓名;你还可以使用“who am i”命令显示当前用户,如果你以根用户身份使用sudo命令登录,“whoami”命令返回根用户是当前用户,如果你想知道登录的用户具体是哪个,使用“who am i”命令。

#?whoami
 tecmint

6.ls命令

ls命令显示了人类可读格式的文件列表。

#?ls?-l
 total?114
 dr-xr-xr-x.???2?root?root??4096?Sep?18?08:46?bin
 dr-xr-xr-x.???5?root?root??1024?Sep??8?15:49?boot

按照上一次修改时间排序文件。

#?ls?-ltr
 total?40
 -rw-r--r--.?1?root?root??6546?Sep?17?18:42?install.log.syslog
 -rw-r--r--.?1?root?root?22435?Sep?17?18:45?install.log
 -rw-------.?1?root?root??1003?Sep?17?18:45?anaconda-ks.cfg

7.crontab命令

可使用crontab命令和-l选项,列出当前用户的计划任务。

#?crontab?-l
 00?10?*?*?*?/bin/ls?>/ls.txt

可以使用-e选项编辑crontab,在下面例子中,将用VI编辑工具打开计划任务,进行必要的更改,按:wq键退出,这会自动保存设置。

#?crontab?-e

8.less命令

less命令允许快速查看文件;你可以向上和向下翻页,按“q”即可退出less窗口。

#?less?install.log
 Installing?setup-2.8.14-10.el6.noarch
 warning:?setup-2.8.14-10.el6.noarch:?Header?V3?RSA/SHA256?Signature,?key?ID?c105b9de:?NOKEY
 Installing?filesystem-2.4.30-2.1.el6.i686
 Installing?ca-certificates-2010.63-3.el6.noarch
 Installing?xml-common-0.6.3-32.el6.noarch
 nstalling?tzdata-2010l-1.el6.noarch
 Installing?iso-codes-3.16-2.el6.noarch

9.more命令

more命令允许快速查看文件,并以百分比的形式显示详细信息,你可以向上和向下翻页,按“q”即可退出more窗口。

#?more?install.log
 Installing?setup-2.8.14-10.el6.noarch
 warning:?setup-2.8.14-10.el6.noarch:?Header?V3?RSA/SHA256?Signature,?key?ID?c105b9de:?NOKEY
 Installing?filesystem-2.4.30-2.1.el6.i686
 Installing?ca-certificates-2010.63-3.el6.noarch
 Installing?xml-common-0.6.3-32.el6.noarch
 Installing?tzdata-2010l-1.el6.noarch
 Installing?iso-codes-3.16-2.el6.noarch
 --More--(10%)

10.cp命令

将文件从来源拷贝到目的地,保留同一种模式。

#?cp?-p?fileA?fileB

覆盖文件之前系统会提示你。

#?cp?-i?fileA?fileB

11.mv命令

将fileA更名为fileB; -i选项会在覆盖前提示;如果文件已经存在,会要求予以确认。

#?mv?-i?fileA?fileB

12.cat命令

cat命令用来同时查看多个文件。

#?cat?fileA?fileB

要是某个文件在一个屏幕/页面显示不了,你可以使用cat命令来合并more和less命令,查看文件内容。

#?cat?install.log?|?less
      or
#?cat?install.log?|?more

13.cd命令(切换目录)

借助cd命令(切换目录),它会进入到fileA目录。

#?cd?/fileA

14.pwd命令(输出工作目录)

pwd命令会返回当前的工作目录。

#?pwd
/root

15.sort命令

以升序排序一行行文本文件,如果使用-r选项,就会以降序排序。

#sort?fileA.txt
#sort?-r?fileA.txt

16.vi命令

对大多数类似UNIX的操作系统而言,vi是最流行的文本编辑器,下面例子使用-R选项,打开只读方式的文件,按“:q”即可退出vi窗口。

#?vi?-R?/etc/shadows

17.ssh命令(安全外壳)

ssh命令用来登录入到远程主机;比如说,下面这个ssh例子会使用用户作为narad,连接到主机(192.168.50.2)。

#?ssh?narad@192.168.50.2

想检查ssh的版本,使用选项-V(大写),即可显示ssh的版本。

#?ssh?-V
OpenSSH_5.**1,?OpenSSL?1.0.0-fips?29?Mar?2010

18.ftp或sftp命令

ftp或sftp命令用来连接到远程ftp主机;ftp是指文件传输协议,而sftp是安全文件传输协议。比如说,下列命令将连接到ftp主机(192.168.50.2)。

#?ftp?192.168.50.2
#?sftp?192.168.50.2

正如可以使用mput将多个文件上传到到远程主机,我们同样可以使用mget从远程主机下载多个文件。

#?ftp?>?mput?*.txt
#?ftp?>?mget?*.txt

19.service命令

service命令调用位于/etc/init.d/目录处的脚本,并执行脚本。有两种方法可以启动任何服务;比如说,我们使用service命令,启动名为httpd的服务。

#?service?httpd?start
#?/etc/init.d/httpd?start

20.free命令

free命令显示了闲置内存、总内存和交换内等方面的信息,单位是字节。

# free
 total ? ? ? ? ? used??????? ? ??free??? ? ? ?shared ? ? buffers ? ?cached
 Mem:???????1030800?????735944?????294856??????????0??????51648?????547696
 -/+?buffers/cache:?????136600?????894200
 Swap:??????2064376??????????0????2064376

使用-t选项的free命令显示了已使用的总内存和可以使用的内存,单位是字节。

#?free ?-t
 total???????used???????free?????shared????buffers?????cached
 Mem:???????1030800?????736096?????294704??????????0??????51720?????547704
 -/+?buffers/cache:?????136672?????894128
 Swap:??????2064376??????????0????2064376
 Total:?????3095176?????736096????2359080

21.top命令

top命令显示了系统的处理器活动,还显示了由内核实时管理的任务,它会显示所使用的处理器和内存;如果使用带“u”选项的top命令,这会显示特定的用户进程详细信息,如下所示:按“O”(大写)即可按你希望的方式来排序,按“q”即可退出top屏幕。

#?top?-u?tecmint
 top?-?11:13:11?up??3:19,??2?users,??load?average:?0.00,?0.00,?0.00
 Tasks:?116?total,???1?running,?115?sleeping,???0?stopped,???0?zombie
 Cpu(s):??0.0%us,??0.3%sy,??0.0%ni,?99.7%id,??0.0%wa,??0.0%hi,??0.0%si,??0.0%st
 Mem:???1030800k?total,???736188k?used,???294612k?free,????51760k?buffers
 Swap:??2064376k?total,????????0k?used,??2064376k?free,???547704k?cached

 PID?USER??????PR??NI??VIRT??RES??SHR?S?%CPU?%MEM????TIME+??COMMAND
 1889?tecmint???20???0?11468?1648??920?S??0.0??0.2???0:00.59?sshd
 1890?tecmint???20???0??5124?1668?1416?S??0.0??0.2???0:00.44?bash
 6698?tecmint???20???0?11600?1668??924?S??0.0??0.2???0:01.19?sshd
 6699?tecmint???20???0??5124?1596?1352?S??0.0??0.2???0:00.11?bash

22.tar命令

tar命令用于压缩Linux下的文件和文件夹;比如说,下面这个命令将为/home目录创建一个压缩存档,文件名为archive-name.tar。

#?tar?-cvf?archive-name.tar?/home

想解压缩tar压缩存档文件,请使用如下所示的选项。

#?tar?-xvf?archive-name.tar

23.grep命令

grep可搜索文件中的特定字符串;只显示/etc/passwd文件中的tecmint用户。我们可以使用-i选项,忽略大小写。

#?grep?tecmint?/etc/passwd
 tecmint:x:500:500::/home/tecmint:/bin/bash

24.find命令

find命令用来搜索文件、字符串和目录;在下面这个例子中,find命令搜索“/”分区中的tecmint单词,并返回输出。

#?find?/?-name?tecmint
 /var/spool/mail/tecmint
 /home/tecmint
 /root/home/tecmint

25.lsof命令

lsof意味着“列出所有打开的文件”;下面,lsof命令列出了tecmint用户打开的所有文件。

# lsof -u tecmint 
 COMMAND  PID    USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME  
 sshd    1889 tecmint  cwd    DIR      253,0     4096      2 /  
 sshd    1889 tecmint  txt    REG      253,0   532336 298069 /usr/sbin/sshd  
 sshd    1889 tecmint  DEL    REG      253,0          412940 /lib/libcom_err.so.2.1  
 sshd    1889 tecmint  DEL    REG      253,0          393156 /lib/ld-2.12.so  
 sshd    1889 tecmint  DEL    REG      253,0          298643 /usr/lib/libcrypto.so.1.0.0  
 sshd    1889 tecmint  DEL    REG      253,0          393173 /lib/libnsl-2.12.so  
 sshd    1889 tecmint  DEL    REG      253,0          412937 /lib/libkrb5support.so.0.1  
 sshd    1889 tecmint  DEL    REG      253,0          412961 /lib/libplc4.so

26.last命令

借助last命令,我们就能观察用户在系统中的活动;该命令还可以以正常用户的身份来执行,它会显示完整的用户信息,比如终端、时间、日期、系统重启或启动以及内核版本,这是用来排查故障的实用命令。

# last 
 tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in  
 tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in  
 reboot   system boot  2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38  (03:43)  
 root     pts/1        192.168.50.1     Sun Sep 16 10:40 - down   (03:53)  
 root     pts/0        :0.0             Sun Sep 16 10:36 - 13:09  (02:32)  
 root     tty1         :0               Sun Sep 16 10:07 - down   (04:26)  
 reboot   system boot  2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33  (04:35)  
 narad    pts/2        192.168.50.1     Thu Sep 13 08:07 - down   (01:15) 

你可以使用带用户名的last,了解特定用户的活动,如下所示。

# last tecmint 
 tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in  
 tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in  
 tecmint  pts/1        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)  
 tecmint  pts/4        192.168.50.1     Wed Sep 12 10:12 - 12:29  (02:17) 

27.ps命令

ps命令显示了系统中运行的进程方面的信息;下面这个例子只显示init进程。

#?ps?-ef?|?grep?init
 root?????????1?????0??0?07:53??????????00:00:04?/sbin/init
 root??????7508??6825??0?11:48?pts/1????00:00:00?grep?init

28.kill命令

使用kill命令来终结进程;先使用ps命令找到进程id,如下所示,然后使用kill -9命令,终止进程。

#?ps?-ef?|?grep?init
 root?????????1?????0??0?07:53??????????00:00:04?/sbin/init
 root??????7508??6825??0?11:48?pts/1????00:00:00?grep?init
#?kill-?9?7508

29.rm命令

rm命令用来清除或删除文件,并不提示予以确认。

#?rm?filename

使用-i选项即可在删除之前予以确认;使用“-r”和“-f”这两个选项将强行删除文件,并不予以确认。

#?rm?-i?test.txt
rm:?remove?regular?file?`test.txt'?

30.mkdir命令

mkdir命令用来在Linux下创建目录。

#?mkdir?directoryname

这是类似Linux/Unix的操作系统下一系列使用方便、又很实用的日常基本命令,要是我们遗漏了哪些命令,欢迎留言交流!

软件
前端设计
程序设计
Java相关