1、df
df命令是用来检查文件系统的磁盘空间占用情况,所有用户都有这个使用权限
格式:df [参数]
参数说明:
-s:对每个Names参数值给出占用的数据块总数
-a:递归的显示指定目录中各文件及子目录中各文件占用的数据块总数
-k:以1024字节为单位列出磁盘空间使用情况
-l:计算所有的文件大小,对硬链接文件则计算多次
-h:以容易理解的格式打印出文件系统的大小
-T:显示文件系统的类型
df命令被广泛用来生成文件系统的使用统计数据,它能显示系统中所有文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等等
说明:
Filesystem:文件系统对应的文件设备的路径
1k-blocks:给出分区包含的数据块(1024字节)的数量
used:已使用的数据块数目
Available:可用的数据块数目
Mounted on:挂载点
此处 used+Available不等于1k-blocks,是因为每个分区都会保留一定空间给管理员使用
2、top
ps命令虽然在收集运行在系统上的进程信息时非常有用,但也有不足之处:它只能显示某个特定时间点的信息。如果想观察那些频繁换进换出的内存的进程趋势,
第一行显示了当前时间、系统的运行时间、登录的用户数以及系统的平均负载。平均负载有3个值:最近1分钟的、最近5分钟的和最近15分钟的平均负载。
值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见,但如果近15分钟内的平均负载都很高,那就说明系统可能有问题了
第二行显示了进程概要信息——top命令的输出中将进程叫作任务(task):有多少进程处在运行、休眠、停止、僵化状态
第三行显示了CPU的概要信息。top根据进程的属主(用户还是系统)和进程的状态(运行、空闲还是等待)将CPU利用率分成几类输出。
第四行说的是系统的物理内存:总共有多少内存,当前用了多少,还有多少空闲。
第五行说的是同样的信息,不过是针对系统交换空间(如果分配了的话)的状态而言的。
第六行显示了当前运行中的进程的详细列表,有些列跟ps命令的输出类似。
PID:进程的id。
USER:进程所属的用户名字。
PR:进程的优先级。
NI:进程的谦让度值,跟衰减值类似
VIRT:进程占用的虚拟内存总量。
RES:进程占用的物理内存总量。
SHR:进程和其他进程共享的内存总量。
S:进程的状态(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表跟踪状态或停止状态,Z代表僵化状态)。
%CPU:进程使用的CPU时间比例。
%MEM:进程使用的内存占可用内存的比例
TIME+:自进程启动到目前为止的CPU时间总量。
COMMAND:进程所对应的命令行名称,也就是启动的程序名。
使用top命令可以监控指定用户,缺省情况是监视所有用户的进程,如果想查看指定用户的情况,在终端中按'U'键,然后输入用户名,系统就会切换为指定用户的进程运行界面
在top的使用过程中,还可以使用一些交互命令来完成其他参数的功能,这些命令是通过快捷键启动的,如下所示:
空格:刷新
P:根据CPU使用大小排序
T:根据时间、累计时间排序
q:退出
m:切换显示内存信息
t:切换显示进程和CPU状态信息
c:切换显示命令名称和完整命令行
M:根据内存使用大小排序
3、free
free指令是用来显示内存的使用情况,所有用户都有该权限
格式:free -[bkmot] [-s 间隔秒数]
说明:
-b:以byte为单位显示内存使用情况
-k:以KB为单位显示内存使用情况
-m:已MB为单位显示内存使用情况
-o:不显示缓冲区调节行
-t:显示内存总和行
-s:设置间隔时间可持续观察内存使用情况
4、quota
quota命令用来显示磁盘使用情况和限制情况,root用户拥有该权限
格式:quota -[quvp] [用户名] [组名]
参数说明:
-q:显示用户所在组的磁盘使用限制
-u:显示用户的磁盘使用限制
-v:显示没有分配的文件系统的分配情况
-p:显示简化信息
5、at/atq/atrm
at命令用来指定时刻执行指令的命令序列
atq命令用来待处理的作业
atrm命令用来删除作业
at命令格式:at [-f file] [-m] time
参数说明:
-f:从文件中读取作业
-m:执行完作业后发送电子邮件到用户
time的格式有严格要求,由小时、分钟、日期和时间的偏移量组成,其中时间的格式为MM.DD.YY(分钟.天.年份),偏移量的格式为时间+偏移量,单位为minutes、hours和days
案例1:当前时间的5分钟后执行data文件内的命令
(1)首先创建data文件,并在里面写入命令
vim data ---->按a键,写入touch xw.txt命令----->按ESC键,shift+enter,输入wq保存
(2)输入at -f data now +1minutes(也可以写成完整:at -f data 15:40 2020-09-08 +1minutes)
案例2:使用相对时间执行命令,当前时间后1min后执行命令(创建1.txt,且内容为123)
此处的<EOT>需要用Ctrl+D快捷键打出,直接输入无效
案例3:使用绝对时间执行命令,2020年9月8日16点后一小时执行命令
案例4:atq查看待处理作业
//此处也可以用at -l来查看未处理作业
此处a表示队列,xw表示执行者
案例5:atrm删除无用的作业
格式;atrm 作业号
6、lp
lp指令是打印文件的命令,所有用户都拥有该权限
格式:lp [-c][-d][-m][-number][-title][-p]
参数说明:
-c:先拷贝文件在打印
-d:打印队列文件
-m:打印结束后发送电子邮件到用户
-number:打印份数
-title:打印标题
-p:设定优打印先级,最高为100
7、useradd
useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中
格式:useradd [-mMnr] [-c 备注] [-d 起始目录] [-e 有效期] [-g 群组] [-s shell] [-u uid] [账号名]
参数说明:
-m:自动建立用户的登入目录
-M:不要自动建立用户的登入目录
-n:取消建立以用户名称为名的群组
-r:建立系统账号
-c:加入备注文字,保留在passwd的备注栏中
-d:用户登录的起始目录
-e:账号的有效时间
-g:指定用户的所属群组
-s:指定用户登入后使用的shell
-u:指定用户的id
案例1:添加一般用户xxh,备注为1234,起始目录为/home/xxh,所属群组为root,uid为521
设置密码:passwd 用户名
passwd xxh
8、groupadd
groupadd 命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中
相关文件:
/etc/group:组账户信息
/etc/gshadow 安全组账户信息
/etc/login.defs Shadow密码套件配置
格式:groupadd [-g gid [-o]] [-r] [-f] [组名]
说明:
-g:指定组名id
-r:创建系统工作组,组id小于500
-f:如果指定值已存在,则此项将失效,仅以成功状态退出
案例:创建一个组名为zkxl,id为300的群组
groupadd -g 300 zkxl
9、usermod
usermod命令用来修改用户账号的各项设定
格式:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
说明:
-L:锁定用户密码,使密码无效
-U:解除密码锁定
其他参数跟useradd的参数一样
案例:将7中的用户xxh添加到8中的zkxl群组中,并将用户id改为522
10、kill
kill用来作为杀死进程操作
格式:kill -进程id
kill -9 进程id 强制杀死进程
killall 程序名 killall只能跟程序名,不能用进程id
11、crontab
crontab命令是用来修改crontab配置文件,然后该配置有cron公用程序在适当的时间执行,使用权限为所有用户
格式:crontab [-u user] 文件
crontab [-u user] {-l|-r|-e}
参数说明:
-e:执行文字编辑器来设定时程表,内地的文字编辑器是vi编辑器
-r:删除目前的时程表
-l:列出目前的时程表
注1:crontab文件的格式为“M H D m d cmd”。其中M代表分钟(0-59),H代表小时(0-23),D代表天数(1-31),m代表月份(1-12),d代表一星期内的天(0-6,0代表星期天),cmd代表要运行的程序,它被送入sh执行,这个shell只有USER、HOME、SHELL三个环境变量
注2:和at命令相比,crontab命令更适合做固定周期的任务
案例:设置定时定期的系统提示
步骤1:crontab -e,执行文字编辑器来设定时程表,此时会打开vi编辑器
步骤2:按a键进入编辑模式,输入* 18 * * 1-5 /sbin/reboot ,ESC退出编辑模式,wq保存 //每周一至周五的18:00,系统重启
步骤3:最后重启crontab,使重启功能生效,service crond restart //crontab程序需要重启,任务才会生效
步骤4:查看已有的定时任务:crontab -l