Linux常用命令(三)——系统管理命令(未拓展)

来源:互联网 发布:淘宝联盟赚钱是真的吗 编辑:程序博客网 时间:2024/06/05 17:25

1、df

①、作用:

用来检查文件系统的磁盘空间占用情况,使用权限是所有用户

②、格式:

df [options]

③、主要参数:

-s
对每个Names参数只给出占用的数据块总数
-a
递归地显示指定目录中各文件及子目录中各文件占用的数据块数,若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数
-k
以1024字节为单位列出磁盘空间使用情况
-x
跳过在不同文件系统上的目录不予统计
-l
计算所有的文件大小,对硬链接文件则计算多次
-i
显示inode信息而非块使用量
-h
以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB
-P
使用POSIX输出格式
-T
显示文件系统类型

④、应用技巧:

(df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作。)
Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df -T命令查看磁盘空间时还可以得到文件系统的信息:
df -T
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/hda7 reiserfs 5.2G 1.6G 3.7G 30% /
/dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C
/dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D
/dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E
/dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F
/dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G


2、top

①、作用:

用来显示执行中的程序进程,使用权限是所有用户

②、格式:

top [-] [d delay] [q] [c] [S] [s] [i] [n]

③、主要参数:

d
指定更新的间隔,以秒计算
q
没有任何延迟的更新,如果使用者有超级用户,则top命令将会以最高的优先序执行
c
显示进程完整的路径与名称
S
累积模式,会将己完成或消失的子行程的CPU时间累积起来
s
安全模式
i
不显示任何闲置(Idle)或无用(Zombie)的行程
n
显示更新的次数,完成后将会退出top

④、应用技巧:

PID(Process ID)
进程标示号
USER
进程所有者的用户名
PR
进程的优先级别
NI
进程的优先级别数值
VIRT
进程占用的虚拟内存值
RES
进程占用的物理内存值
SHR
进程使用的共享内存值
S
进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
%CPU
该进程占用的CPU使用率
%MEM
该进程占用的物理内存和总内存的百分比
TIME+
该进程启动后占用的总的CPU时间
Command
进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行
top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能,这些命令是通过快捷键启动的:
<空格>
立刻刷新
P
根据CPU使用大小进行排序
T
根据时间、累计时间排序
q
退出top命令
m
切换显示内存信息
t
切换显示进程和CPU状态信息
c
切换显示命令名称和完整命令行
M
根据使用内存大小进行排序
W
将当前设置写入~/.toprc文件中
使用top命令可以监视指定用户,缺省情况是监视所有用户的进程,如果想查看指定用户的情况,在终端中按"U"键,然后输入用户名,系统就会切换为指定用户的进程运行界面


3、free

①、作用:

用来显示内存的使用情况,使用权限是所有用户

②、格式:

free [-b|-k|-m] [-o] [-s delay] [-t] [-V]

③、主要参数:

-b -k -m
分别以字节、KB、MB为单位显示内存使用情况
-s delay
显示每隔多少秒数来显示一次内存使用情况
-t
显示内存总和列
-o
不显示缓冲区调节列

④、应用技巧:

free命令是用来查看内存使用情况的主要命令,和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-s参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器
free -b -s5
使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次


4、quota

①、作用:

用来显示磁盘使用情况和限制情况,使用权限超级用户

②、格式:

quota [-g][-u][-v][-p] 用户名 组名

③、主要参数:

-g
显示用户所在组的磁盘使用限制
-u
显示用户的磁盘使用限制
-v
显示没有分配空间的文件系统的分配情况
-p
显示简化信息

④、应用技巧:

在企业应用中磁盘配额非常重要,普通用户要学会看懂自己的磁盘使用情况,要查询自己的磁盘配额可以使用下面命令
quota 用户账号
Disk quotas for user 用户账号(uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/hda3 58 200000 400000 41 500 1000
以上显示ID号为500的用户账号,文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB,一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额


5、at

①、作用:

用来在指定时刻执行指定的命令序列

②、格式:

at [-V] [-q x] [-f file] [-m] time

③、主要参数:

-V
显示标准错误输出
-q
许多队列输出
-f
从文件中读取作业
-m
执行完作业后发送电子邮件到用户
time
设定作业执行的时间,time格式有严格的要求,由小时、分钟、日期和时间的偏移量组成,其中日期的格式为MM.DD.YY,MM是分钟,DD是日期,YY是指年份,偏移量的格式为时间+偏移量,单位是minutes、hours和days

④、应用技巧:

at -f data 15:30 +2 days
表示让系统在两天后的17:30执行文件data中指明的作业


6、lp

①、作用:

打印文件,使用权限是所有用户

②、格式;

lp [-c][-d][-m][-number][-title][-p]

③、主要参数:

-c
先拷贝文件再打印
-d
打印队列文件
-m
打印结束后发送电子邮件到用户
-number
打印份数
-title
打印标题
-p
设定打印的优先级别,最高为100

④、应用技巧:

(1)、使用lp命令打印多个文件
lp 2 3 4
request id is 11 (3 file(s))
其中2、3、4分别是文件名,"request id is 11 (3 file(s))"表示这是第11个打印命令,依次打印这三个文件
(2)、设定打印优先级别
lp -d LaserJet -p 90 /etc/aliases
通过添加“-p 90”,规定了打印作业的优先级为90,它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业,缺省优先级是50


7、useradd

①、作用:

用来建立用户帐号和创建用户的起始目录,使用权限是超级用户

②、格式:

useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

③、主要参数:

-c
加上备注文字,备注文字保存在passwd的备注栏中
-d
指定用户登入时的启始目录
-D
变更预设值
-e
指定账号的有效期限,缺省表示永久有效
-f
指定在密码过期后多少天即关闭该账号
-g
指定用户所属的群组
-G
指定用户所属的附加群组
-m
自动建立用户的登入目录
-M
不要自动建立用户的登入目录
-n
取消建立以用户名称为名的群组
-r
建立系统账号
-s
指定用户登入后所使用的shell
-u
指定用户ID号

④、应用技巧:

useradd可用来建立用户账号,它和adduser命令是相同的,账号建好之后,再用passwd设定账号的密码,使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中
建立一个新用户账户,并设置ID:
useradd zxy -u 520
设定ID值时尽量要大于500,以免冲突,因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号


8、groupadd

①、作用:

用于将新组加入系统

②、格式:

groupadd [-g gid] [-o]] [-r] [-f] groupname

③、主要参数:

-g gid
指定组ID号
-o
允许组ID号,不必惟一
-r
加入组ID号,低于499系统账号
-f
加入已经有的组时,程序退出

④、应用技巧:

建立一个新组,并设置组ID加入系统
groupadd -g 520 zxy
在/etc/passwd文件中产生一个组ID(GID)是520的项目


9、kill

①、作用:

用来中止一个进程

②、格式:

kill [-s signal | -p ] [ -a ] pid ...
kill -l [signal]

③、主要参数:

-s
指定发送的信号
-p
模拟发送信号
-l
指定信号的名称列表
pid
要中止进程的ID号
Signal
表示信号

④、应用技巧:

进程是Linux系统中一个非常重要的概念,Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。Linux 操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程,交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)是Linux系统启动时启动的进程,并在后台运行。kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作,kill是大多数Shell内部命令可以直接调用的
(1)、强行中止一个进程标识号为520的进程:
kill -9 520
(2)、解除Linux系统的死锁:
有时会发生这种情况:一个程序崩溃,并且处于死锁的状态,此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。首先用top命令查处该程序的PID,然后使用kill命令停止这个程序:
kill -SIGKILL XXX
XXX包含有该程序的进程标识号
(3)、使用命令回收内存:
内存对于系统是非常重要的,回收内存可以提高系统资源,kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序,例如,使用top命令发现一个无用(Zombie)的进程,此时可以使用下面命令:
kill -9 XXX
XXX是无用的进程标识号
然后使用下面命令:
free
此时会发现可用内存容量增加了
(4)、killall命令:
可以直接使用进程的名字而不是进程标识号
killall -HUP inetd


10、crontab

①、作用:

修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,使用权限是所有用户

②、格式:

crontab [ -u user ] 文件
crontab [ -u user ] { -l | -r | -e }

③、主要参数:

-e
执行文字编辑器来设定时程表,内定的文字编辑器是vi
-r
删除目前的时程表
-l
列出目前的时程表

④、应用技巧:

(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三个环境变量)
和at命令相比,crontab命令适合完成固定周期的任务,设置一个定时、定期的系统提示:
crontab -e
此时系统会打开一个vi编辑器,输入以下内容:
35 17 * * 5 wall "Tomorrow is Saturday I will go LOL"
然后存盘退出,这时在/var/spool/cron/目录下会生产一个文件,内容如下:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.2707 installed on Wes Jun 14 14:01:51 2017)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
35 17 * * 5 wall "Tomorrow is Saturday I will play LOL"
这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打LOL


11、小技巧:

①、联合使用kill和top命令观察系统性能的变化:

首先启动一个终端运行top命令,然后再启动一个终端使用kill命令,利用kill命令来中止一些程序:
kill SIGKILL XXX
然后再看top命令终端的变化,包括内存容量、CPU使用率、系统负载等,注意,有些进程是不能中止的。

②、用crontab命令实现每天定时的病毒扫描:

(1)、建立一个文件,文件名称自己设定,假设为caoproject:
crontab -e
(2)、文件内容如下:
05 09 * * * antivir
用vi编辑后存盘退出,antivir是一个查杀Linux病毒的软件,需要先安装在系统中
(3)、使用crontab命令添加到任务列表中:
crontab caoproject
这样系统内所有用户在每天会自动进行病毒扫描

③、用kill使修改的配置文件马上生效:

Windows重要配置文件修改后往往都要重新启动计算机才能使修改生效,而Linux由于采用了模块化设计,可以自己根据需要实时设定服务。这里以网络服务inetd为例介绍一些操作技巧。inetd 是一个监听守护进程,监听与提供互联网服务进程(如rlogin、telnet、ftp、rsh)进行连接的要求,并扩展所需的服务进程。默认情况下,inetd监听的这些daemon均列于/etc/inetd.conf文件中。编辑/etc/inetd.conf文件,可以改变inetd启动服务器守护进程的选项,然后驱使inetd以SIGHUP(signal 1)向当前的inetd进程发送信号,使inetd重读该文件,这一过程由kill命令来实现:
修改inetd.conf后,首先使用下面命令:
ps -ef |grep inetd
上面代码表明查询inetd.conf的进程号(PID),这里假设是520,然后使用下面命令:
kill -520 inetd
阅读全文
1 0
原创粉丝点击