【Linux】重要命令总结

下文我们主要要介绍如下命令:
du、df、top、free、pstack、su、sudo(sudo -, sudo -s)、useradd、password 。

(1)du

在Linux下du命令是查看使用空间的命令,和df功能类似,但是不同的是du命令是对文件和目录磁盘使用的空间进行查看。

格式

  • du [选项] [文件]

功能

  • 查看每个文件和目录的磁盘使用空间。

选项

选项 含义
zebra stripes are neat
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference - args 显示指定符号链接的源文件大小。
–exclude = <目录或文件> 略过指定的目录或文件。
-h或–human - readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与 - h 参数相同,但是K,M,G是以1000为换算单位。
-l或–count - links 重复计算硬件链接的文件。
-k或–kilobytes 以KB(1024bytes)为单位输出。
-L<符号链接>或–dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-m或–megabytes 以MB为单位输出。
-s或–summarize 仅显示总计,只列出最后加总的值。
-S或–separate - dirs 显示个别目录的大小时,并不含其子目录的大小。
-x或–one - file - xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude - from = <文件> 在<文件>指定目录或文件。

运行截图

【Linux】重要命令总结

注意:

最左边的列显示的是每一个目录的大小,最后的196是当前目录的大小。


(2)df

df命令是用来查看Linux服务器的文件系统的磁盘占用情况(du是查看目录)可以用此命令来获取硬盘被占用了多少空间,目前还剩下多少空间。

格式

  • df [选项] [文件]

功能

显示目前在Linux系统上的文件系统的磁盘使用情况统计。默认情况下将以1KB为单位进行显示。

选项

选项 含义
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“ - h”,但是计算式,1K = 1000,而不是1K = 1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
–no - sync 忽略 sync 命令
-P 输出格式为POSIX
–sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型
–block - size = <区块大小> 指定区块大小
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息
–help 显示帮助信息
–version 显示版本信息

运行截图

【Linux】重要命令总结

注意

第一列是指定文件系统的名称,第二列给出分区包含的数据块(1024字节)的数目;第三、四列分别表示已用的和可用的数据块数目(第三列第四列块数之和不等于第二列的数值)。


(3)top

top命令是Linux系常用的性能分析工具,能够显示系统中各个进程资源占用的情况(类似于windows中任务管理器),这是必须要掌握的命令

格式

  • top [参数]

功能

显示系统中各个进程资源占用的情况等信息。

选项

选项 含义
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数

运行截图

【Linux】重要命令总结

注意

我们观察到其中的数据有的会变,因为是实时显示的内容,所以当然会变。

内容分析

第一行:
23:14:36 up 1 day, 10:44, 2 users, load average: 0.00, 0.00, 0.00

  • 23:14:36 :系统当前时间
  • 1 day, 10:44:系统开机到现在经过了多少时间
  • load average: 0.00, 0.00, 0.00:系统1分钟、5分钟、15分钟4. 的CPU负载信息

第二行:
Tasks: 139 total, 1 running, 138 sleeping, 0 stopped, 0 zombie

  • Tasks:任务;
  • 139 total:很好理解,就是当前有139个任务,也就是139个进程。
  • 1 running:1个进程正在运行
  • 138 sleeping:138个进程睡眠
  • 0 stopped:停止的进程数
  • 0 zombie:僵死的进程数

第三行:
Cpu(s): 1.0%us, 0.3%sy, 0.0%ni, 98.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

  • Cpu(s):表示这一行显示CPU总体信息
  • 1.0%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
  • 0.3%sy:内核占用CPU时间百分比
  • 0.0%ni:改变过优先级的进程占用CPU的百分比
  • 98.7%id:空闲CPU时间百分比
  • 0.0%wa:等待I/O的CPU时间百分比
  • 0.0%hi:CPU硬中断时间百分比
  • 0.0%si:CPU软中断时间百分比
    注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;

第四行:
Mem: 1030528k total, 833804k used, 196724k free, 120792k buffers

  • Men:内存的意思
  • 1030528k total:物理内存总量
  • 833804k used:使用的物理内存量
  • 196724k free:空闲的物理内存量
  • 120792k buffers:用作内核缓存的物理内存量

第五行:
Swap: 2064376k total, 0k used, 2064376k free, 519520k cached

  • Swap:交换空间
  • 2064376k total:交换区总量
  • 0k used:使用的交换区量
  • 2064376k free:空闲的交换区量
  • 519520k cached:缓冲交换区总量

进程信息:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

  • PID:进程的ID
  • USER:进程所有者
  • PR:进程的优先级别,越小越优先被执行
  • NInice:值
  • VIRT:进程占用的虚拟内存
  • RES:进程占用的物理内存
  • SHR:进程使用的共享内存
  • S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  • %CPU:进程占用CPU的使用率
  • %MEM:进程使用的物理内存和总内存的百分比
  • TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  • COMMAND:进程启动命令名称

常用top操作命令

q:退出top命令
:立即刷新
s:设置刷新时间间隔
c:显示命令完全模式
t::显示或隐藏进程和CPU状态信息
m:显示或隐藏内存状态信息
l:显示或隐藏uptime信息
f:增加或减少进程显示标志
S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
u:指定显示用户进程
r:修改进程renice值
kkill:进程
i:只显示正在运行的进程
W:保存对top的设置到文件~/.toprc,下次启动将自动调用toprc文件的设置。
h:帮助命令。
q:退出


(4)free

格式

  • free [选项]

功能

  • free命令显示系统使用和空闲的内存情况

选项

选项 含义
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。

运行截图

【Linux】重要命令总结

说明

total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行是交换分区SWAP的,也就是我们通常所说的虚拟内存。

从应用程序的角度来说:
可用内存=系统free memory+buffers+cached。

如本机情况的可用内存为:
836892=196188KB + 121112KB + 519592KB

(5)pstack

格式

  • pstack pid

功能

-pstack命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。

选项

此命令只有一个参数就是pid

应用

(1)使用pstack确定进程挂起的位置。
(2)比如,同一程序的两个不同版本在运行时CPU的使用情况有明显的不同,则可分别收集它们的统计信息,再作比较(如从#0入手),从中找出两者函数调用情况的不同之处等。

(6)su

格式

  • su

功能

  • su是切换用户权限的命名,当我们从普通用户切换至超级用户时使用该命令

运行截图

【Linux】重要命令总结

  • 如上图,我们发现当输入su时,会出现”Password:“
    这时表示需要我们输入密码,密码是不显示出来的,所以当我们输入回车按键,就可看到用户由admin切换至root用户。
    当我们需要退出超级用户时,采用ctrl+d命令推出超级用户。

【Linux】重要命令总结


(7)sudo(sudo -, sudo -s)

格式

  • sudo [选项] [参数]

功能

  • sudo命令用来以其他身份来执行命令,预设的身份为root,用户使用sudo时,必须要先输入密码,然后有五分钟有效期,超过期限必须重新输入密码

选项

选项 含义
-b 在后台执行指令
-h 显示帮助
-H 将HOME环境变量设为新身份的HOME环境变量
-k 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码
-l 列出目前用户可执行与无法执行的指令
-p 改变询问密码的提示符号
-s 执行指定的shell
-u<用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份
-v 延长密码有效期限5分钟
-V 显示版本信息

关于sudo命令更多的请看http://man.linuxde.net/sudo


(8)useradd

格式

  • useradd [选项] [参数]

功能

  • 用于在Linux中创建新的系统用户,useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

选项

选项 含义
-c<备注> 加上备注文字。备注文字会保存在passwd的备注栏位中
-d<登入目录> 指定用户登入时的启始目录
-D 变更预设值
-e<有效期限> 指定帐号的有效期限
-f<缓冲天数> 指定在密码过期后多少天即关闭该帐号
-g<群组> 指定用户所属的群组
-G<群组> 指定用户所属的附加群组
-m 自动建立用户的登入目录
-M 不要自动建立用户的登入目录
-n 取消建立以用户名称为名的群组
-r 建立系统帐号
-s 指定用户登入后所使用的shell
-u 指定用户id

注意:

后面的参数是要创建的用户名


(9)password

格式

  • password [选项] [参数]

功能

  • 用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

选项

选项 含义
-d 删除密码,仅有系统管理者才能使用
-f 强制执行
-k 设置只有在密码过期失效后,方能更新
-l 锁住密码
-s 列出密码的相关信息,仅有系统管理者才能使用
-u 解开已上锁的帐号