下面是王老师总结的一些linux常用命令,希望对大家有帮助

一、系统监控
1、free命令使用
free命令简介
free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存

free命令语法

语法:free [param]
1
param可以为:

-b:以Byte为单位显示内存使用情况;

-k:以KB为单位显示内存使用情况;

-m:以MB为单位显示内存使用情况;

-o:不显示缓冲区调节列;

-s<间隔秒数>:持续观察内存使用状况;

-t:显示内存总和列;

-V:显示版本信息。

free命令使用
 

Mem:表示物理内存统计

total:表示物理内存总数(total=used+free)

used:表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)

free:表示未分配的物理内存总数

shared:表示共享内存

buffers:系统分配但未被使用的buffers 数量。

cached:系统分配但未被使用的cache 数量。

-/+ buffers/cache:表示物理内存的缓存统计

(-buffers/cache) 内存数: (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) 内存数: (指的第一部分Mem行中的free + buffers + cached)
(-buffers/cache)表示真正使用的内存数, (+buffers/cache) 表示真正未使用的内存数

Swap:表示硬盘上交换分区的使用情况

2、ulimit命令使用
ulimit用于显示系统资源限制的信息
语法:ulimit [param]
param参数可以为:

-a 显示目前资源限制的设定。
-c <core文件上限> 设定core文件的最大值,单位为区块。
-d <数据节区大小> 程序数据节区的最大值,单位为KB。
-f <文件大小> shell所能建立的最大文件,单位为区块。
-H 设定资源的硬性限制,也就是管理员所设下的限制。
-m <内存大小> 指定可使用内存的上限,单位为KB。
-n <文件数目> 指定同一时间最多可开启的文件数。
-p <缓冲区大小> 指定管道缓冲区的大小,单位512字节。
-s <堆叠大小> 指定堆叠的上限,单位为KB。
-S 设定资源的弹性限制。
-t <CPU时间> 指定CPU使用时间的上限,单位为秒。
-u <程序数目> 用户最多可开启的程序数目。
-v <虚拟内存大小> 指定可使用的虚拟内存上限,单位为KB
 

 

3、top命令使用
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具,TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,有点像window系统的任务管理器

语法:top [param]
1
param为:

-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-u [用户名]:指定用户名;
-p [进程号]:指定进程;
-n [次数]:循环显示的次数。
top命令分为上下两个部分:

系统统计信息
系统进程信息

 系统统计信息

top - 11:38:01 up 231 days,  2:06,  1 user,  load average: 0.88, 0.22, 0.18
Tasks: 170 total,   1 running, 169 sleeping,   0 stopped,   0 zombie
%Cpu(s): 38.7 us,  3.5 sy,  0.0 ni, 42.0 id, 15.5 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :  8010580 total,   927820 free,  2411572 used,  4671188 buff/cache
KiB Swap:  4063228 total,  2933688 free,  1129540 used.  5153128 avail Mem 

row1:任务队列信息,同 uptime 命令的执行结果
top - 11:38:01 up 231 days, 2:06, 1 user, load average: 0.88, 0.22, 0.18

11:38:01 (当前系统时间)
up 231 days, 2:06(系统运行时间)
1 user (当前登录用户数)
load average: 0.88, 0.22, 0.18 (系统的平均负载数,表示 1分钟、5分钟、15分钟到现在的平均数)
row2:进程统计信息
Tasks: 170 total, 1 running, 169 sleeping, 0 stopped, 0 zombie

170 total(系统当前总进程总数)
1 running (正在运行的进程数)
169 sleeping(睡眠进程数)
0 stopped (停止进程数)
0 zombie (僵尸进程数)
row3:CPU 统计信息
%Cpu(s): 38.7 us, 3.5 sy, 0.0 ni, 42.0 id, 15.5 wa, 0.0 hi, 0.3 si, 0.0 st

38.7 us, (用户空间CPU占用率)
3.5 sy (内核空间CPU占用率)
0.0 ni (用户进程空间改变过优先级的进程CPU的占用率)
42.0 id(空闲CPU占有率)
15.5 wa (等待输入输出的CPU时间百分比)
0.0%hi (硬件中断请求)
0.3%si (软件中断请求)
0.0%st (分配给运行在其它虚拟机上的任务的实际 CPU时间)
row4:内存状态
KiB Mem : 8010580 4671188 , 927820 free, 2411572 used, 4671188 buff/cache

4671188 total (物理内存总量 )
2411572 used (已使用的内存 )
927820 free (空闲内存 )
4671188 buffers (内核缓存使用)
ps:以k为单位
row5:swap交换分区信息
KiB Swap: 4063228 total, 2933688 free, 1129540 used. 5153128 avail Mem

4063228 total (交换分区总量 )
1129540 used (已使用交换分区内存 )
2933688 free (空闲交换分区 )
5153128 cached (缓冲交换区 )
 

系统进程信息

PID :进程id
USER :进程所有者的用户名
PR :进程优先级
NI :nice值。负值表示高优先级,正值表示低优先级
VIRT :进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR :共享内存大小,单位kb
S :进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU :上次更新到现在的CPU时间占用百分比
%MEM :进程使用的物理内存百分比
TIME+ :进程使用的CPU时间总计,单位1/100秒
COMMAND :进程名称[命令名/命令行]
 

 按“1”键,可打开或关闭显示详细CPU统计信息:

按字母“B”键,可打开或关闭当前进程的显示效果

 

4、df命令使用
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:df(选项)(参数)

选项:

-a或–all:包含全部的文件系统;
–block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或–human-readable:以可读性较高的方式来显示信息;
-H或–si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或–inodes:显示inode的信息;
-k或–kilobytes:指定区块大小为1024字节;
-l或–local:仅显示本地端的文件系统;
-m或–megabytes:指定区块大小为1048576字节;
–no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或–portability:使用POSIX的输出格式;
–sync:在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或–type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
-T或–print-type:显示文件系统的类型;
-x<文件系统类型>或–exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
–help:显示帮助;
–version:显示版本信息。

参数:

文件:指定文件系统上的文件。

比较常用的有:

df -a 查看全部的文件系统
df -h查看磁盘使用情况
df -i 查看inode使用情况

5、ps命令使用
ps命令用于查看进程统计信息

常用参数:

a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
-e:显示系统内的所有进程信息。
-l:使用长(long)格式显示进程信息。
-f:使用完整的(full)格式显示进程信息。
在使用中可以加上grep命令一起使用,也可以单独使用

# ps命令单独使用的情况
ps -elf tomcat
#结合管道操作和grep命令进行过滤,用于查询某一个进程的信息
ps -elf | grep tomcat
1
2
3
4
6、crontab 命令
crontab 命令,用于定时程序的命令
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

二、文件操作
1、tail查看文件
tail 命令可用于查看文件的内容,语法为

tail [param] [filename]
1
其中param可为:

-f :循环读取
-q :不显示处理信息
-v :显示详细的处理信息
-c [数目]: 显示的字节数
-n [行数]: 显示文件的尾部 n 行内容
–pid=PID :与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent :从不输出给出文件名的首部
-s, --sleep-interval=S :与-f合用,表示在每次反复的间隔休眠S秒
2、查看文件情况
ll -ah命令,可以用于查看文件情况

ll -ah
1
3、文件权限设置
Linux的文件基本权限有9个,分别是owenr、group、others三种身份各自有自己的r、w和x,比如“rwxrwxrwx”,就表示owener具有r(read 读)、w(write 写)、x(execute 访问)权限,同样group和others同样具有r、w、x权限,可以用xftp查看文件权限
 

 

可以使用数字表示权限:

r->4

w->2

x->1

当文件权限为“rwxrwxrwx”时,分数是:

owner->4+2+1=7

group->4+2+1=7

others->4+2+1=7

此时文件的权限数字就是777

然后要给文件file赋权的话,就可以使用Linux命令:

chmod 777 file
1
owner、group和others三种身份各自的三个权限,用u、g、o代表三种身份,用a(all)代表所有身份,所以还有下面的Linux命令

chmod u|g|o|a  =(设置权限)|+(添加权限)|-(减少权限)  r|w|x  文件或者目录
1
eg:给文件file赋值权限

    chmod u=rwx file

好了,太多了你们也一时半会儿吸收不了,下次再给大家分享

运维工程师QQ在线交流群:580175957