掌握了这几个 Linux 命令可以让你工作效率提升三倍
很多程序员熟悉了在 Windows 环境下开发,而我们服务器一般都是 Linux 系统。当有一天你需要在 Linux 服务器上做一些配置或者故障排除的时候,你会很困惑,不知道如何下手。原因是对 Linux 常用的命令还不熟悉,今天我就给大家介绍几个 Linux 常用命令。掌握它们的用法后...
很多程序员熟悉了在 Windows 环境下开发,而我们服务器一般都是 Linux 系统。当有一天你需要在 Linux 服务器上做一些配置或者故障排除的时候,你会很困惑,不知道如何下手。原因是对 Linux 常用的命令还不熟悉,今天我就给大家介绍几个 Linux 常用命令。掌握它们的用法后,我们在使用 CRMEB 打通版系统(www.crmeb.com)的时候就能如鱼得水,可以大大提高工作效率。
1、top 命令
第一个命令是 top,这是 Linux 下常用的性能分析工具,可以实时显示系统中各个进程的资源占用情况,类似于 Windows 下的任务管理器。
每个顶部行表示一种类型的性能数据:
-
top:这一行是汇总信息,09:26:48 是系统时间;up 169 days 表示运行时间;1 user 表示当前登录用户数;load average 是负载情况,后面的三个数字分别表示 1 分钟、5 分钟、15 分钟的负载情况 load average 的数据是每隔 5 秒钟检查一次活动进程的数量,然后计算结果。
-
Tasks 任务:total 表示进程总数;running 表示正在运行的进程;sleeping 表示休眠的进程;stopped 表示已停止的进程;zombie 表示僵尸进程。
-
CPU 状态:us 是用户空间占用 CPU 的百分比;sy 是内核空间占用 CPU 的百分比;ni 是改变过优先级的进程占用 CPU 的百分比;id 是 空闲 CPU 百分比;wa 是 IO 等待占用 CPU 的百分比;hi 是硬中断占用 CPU 的百分比;si 是软中断占用 CPU 的百分比。
-
Mem 内存:total 是内存总量;used 是使用掉的内存;free 是空闲的内存;buffers 是缓存的内存量。
-
Swap 交换分区:total、used、free 跟内存一样;cached 是缓冲的交换区总量下面的列表是各个进程的状态监控,具体每一项含义如下:
-
PID — 进程 id
-
USER — 进程所有者
-
PR — 进程优先级
-
NI — nice 值。负值表示高优先级,正值表示低优先级
-
VIRT — 进程使用的虚拟内存总量,单位 kb。VIRT=SWAP+RES
-
RES — 进程使用的、未被换出的物理内存大小,单位 kb。RES=CODE+DATA
-
SHR — 共享内存大小,单位
-
kbS — 进程状态。D = 不可中断的睡眠状态 R = 运行 S = 睡眠 T = 跟踪 / 停止 Z = 僵尸进程
-
%CPU — 上次更新到现在的 CPU 时间占用百分比
-
%MEM — 进程使用的物理内存百分比
-
TIME+ — 进程使用的 CPU 时间总计,单位 1/100 秒 COMMAND — 进程名称(命令名 / 命令行)
2、ps 命令
第二个命令是 ps,常用的命令是 ps aux 或 ps -ef,主要作用是查看进程,经常和 grep 一起使用。此命令的主要用例是查看进程状态或查找进程号。使用示例如下:
ps aux | grep 'nginx' 或者 ps -ef | grep 'nginx'
3、grep 命令
此命令用于查找指定文件或文件夹中的字符串,通常与 ps、cat、tail 等命令一起使用。例子如下:
tail -f app.log | grep 'register'
4、netstat 命令
这是一个与网络相关的命令,我用这个命令最重要的是找到端口,例如:
netstat -lntup | grep 80
除此之外,netstat 还有许多其他特性,如果您感兴趣,可以自己搜索。
5、find 命令
find 命令用于查找指定目录中的文件,比如在服务器上 \home\www 目录查找 app.c 这个文件,就可以这样来查:find /home -name “*.c”
6、kill 命令
kill 命令是用来杀死进程的,例如杀死编号为 2198 的进程,则命令是:kill 2198。也可以使用 kill -9 2198 来彻底杀死这个进程。
7、tail 命令
我们经常使用 tail 命令来监视实时日志,有时与 grep 结合使用:
tail -f app.log | grep login
该命令实时查看当前目录中 app.log 日志中带有 login 标识符的输入流。
8、cat 命令
cat 命令经常用于查看文件,有时与 grep 一起使用,如下所示:
cat app.log | grep 'login' | more
这个命令先打开当前目录中的 app.log 日志文件,然后通过 grep 查询带有 login 的日志,最后使用 more 对其进行分页显示。
如果要以相反的顺序显示,可以使用 tac 命令,它具有与 cat 相同的效果,如下所示:
tac app.log | grep 'login' | more
更多推荐
所有评论(0)