系统管理命令
Df 检查文件系统的磁盘占用情况
格式 df [options]
参数:
-s 对每个names参数只给出占用的数据块总数
-l 计算所有文件大小
-T 显示文件系统类型
-h 以容易理解的格式输出文件系统大小
-k 以1024字节为单位列出磁盘空间使用情况
-i 显示inode信息而非块使用量
Top 用来显示执行中的程序进程
格式 top [-][d delay][q][c][S][s][i][n]
-d 指定更新的间隔,以秒为单位
-q 没有任何延迟的更新
c 显示进程完整的路径与名称
S 累积模式,会将已完成或消失的子行程CPU时间累积起来
s 安全模式
i 不显示任何无用或闲置的行程
n 显示更新的次数
top 命令使用过程中,使用交互命令完成其他参数的功能
<空格> 立刻刷新
T 根据时间,累计时间排序
q 退出top 命令
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据显示内存大小进行排序
free 显示内存使用情况,和top命令相比,使用简单,只占用很少的系统资源
格式 free[-b|-m|-k][-o][-s delay][-t][-V]
-s delay 显示每隔多少秒来显示一次内存使用情况
-b -k -m 分别以字节为单位来显示内存使用情况
-t 显示内存总和列
-o 不显示缓冲区调节列
例:free -b -s5
使用这个命令,终端会不断报告内存使用情况(以字节为单位),每五秒更新一次
quota 显示磁盘使用情况和限制情况
格式 quota [-g][-u][-v][-p] 用户名 组名
-g 显示用户所在组的磁盘使用限制
-u 显示用户的磁盘使用限制
-v 显示没有分配空间的文件系统的分配情况
-p 显示简化信息
要查询自己的磁盘配额可以使用下面命令(下例中用户账号是caojh)
#quota caojh
Disk quatos for user caojh(uid 502):
/dev 58 200000 400000 41 500 1000
以上显示ID号为502 的caojh账号,文件设置个数为500-1000个,硬盘空间限制设置为200MB-400MB
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
命令表示让系统在两天后的15:30执行文件中data中指明的作业
lp 打印文件
格式 Lp [-c][-d][-m][-number][-title][-p]
-c 先拷贝文件在打印
-d 打印队列文件
-m 打印结束后发送电子邮件到用户
-number 打印份数
-title 打印标题
-p 设定打印的优先级别 ,最高为100,缺省优先级是50
例:lp 2 3 4
2,3,4分别是文件名,依次打印这三个文件
Lp -d -p 90
通过添加“-p 90”,规定打印作业的优先级是90,它将在优先级低于90的作业之前打印,包括没有设置优先级的作业
Useradd 建立目录账号和创建用户的起始目录
Useradd[-d home][-s shell][-c comment][-m][-f][-e][-p][-r]name
主要参数
-c 加上备注文字
-d 指定用户登录时的起始目录
-D 变更预设值
-e 指定用户的有效期限,默认表示永久有效
-f 在用户过期多少天后关闭该账户
-g 指定用户所属的群组
-G 指定用户所属的附加群组
-m 自动建立用户的登入目录
-M 不要自动建立用户的登入目录
-r 建立系统账户
-s 指定用户登入后所使用的shell
-u 指定用户ID号
例:建立一个新用户账号,并设置ID
Useradd caojh -u 544
注:设置ID值要尽量大于500,以免冲突,因为一般0-499直接的值留给bin mail这些系统账户
Groupadd 用于将新组加入系统
格式 groupadd [-g gid ][-o][-r][-f]groupname
主要参数
-g gid 指定组ID号
-o 允许组ID号,不必唯一
-r 加入组ID号,低于499系统账号
-f 加入已经有的组时,发展程序退出
例:建立一个新组,并设置组ID加入系统
Groupadd -g 344 caojh
在/etc/passwd目录中产生一个组ID是344的项目
Kill 中止一个进程
格式 kill[-s signal|-p][-a]pid ...
Kill -l [signal]
参数
-s 指定发送的信号
-p 模拟发送信号
-l 指定名称的信号列表
pid 要中止进程的ID号
Signal 表示信号
例:强行中止一个进程标识号为324的进程
Kill -9 324
使用top命令发现一个无用的进程号
可以使用下列命令 kill -9 XXX 其中XXX是无用的进程标识号
然后使用free 这样就会发现内存容量增加了
Killall 可以直接使用进程名字而不是进程标识号,例如:
killall -HUP inetd
Crontab 修改crontab配置文件,然后改配置由cron公用程序在适当的时机执行
格式 crontab [-uuser]文件名
Crontab [-u user]{-l|-r|-e}
主要参数:
-r 删除目前的时程表
-l 列出目前的时程表
-e 设定文字编辑器来设定时程表
Crontab 文件格式为“M H D m d cmd”M代表分钟,H代表小时,D代表天数,m代表月(1-12),
d 代表一星期内的天,cmd 代表要执行的程序,要被送入sh执行
和at命令相比,crontab适合完成固定周期的任务
例:设定一个定时定期的系统提示
crontab -e
此时系统打开一个vi编辑器
输入35 17* *5 Wall “tomorrow is Saturday,I will play CS”,然后存盘退出,这样在cron目录下就产生一个cao的文件
这样每个星期五17:35 系统就弹出一个终端,提醒星期六可以打CS
系统安全命令
Passwd 修改账户的登陆密码
格式 passwd[选项] 账户名称
-l 锁定已经命名的账户名称,只有具备超级用户权限的使用者才使用
-u 解开账户锁定状态,只有具备超级用户权限的使用者才使用
-x 最大密码使用时间(天)只有具备超级用户权限的使用者才使用
-n 最小密码使用时间,只有具备超级用户权限的使用者才使用
-d 删除使用者的密码 只有具备超级用户权限的使用者才使用
-S 检查指定使用者的密码认证种类 只有具备超级用户权限的使用者才使用
su 变更为其它使用者的身份,需要键入该使用者的密码
Su [选项]...[-][user[age]..]
主要参数
-f ,--fast 不必读启动文件,仅用于csh,tcsh两种shell
-l ,--login 加入这个参数,就像重新登陆为使用者,大部分环境变量以该使用者为主,,如果没有指定USER,缺省情况是root
-m,-p 执行su时不改变环境变数
-c command变更账号为USER的使用者,执行指令(command)变回原来的使用者
USER 欲变更的使用者账号
例:变更账户为超级用户,并在df命令后还原使用者
Su -c df root
Umask 设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile,就可控制该用户后续文件的存取许可
格式 Umask [-p][-S][mode]
参数
-s 确定当前的umask设置
-p 修改umask 设置
[mode] 修改数值
注:umask用来设置进程所创建的文件的读写权限,最保险的是0077,即关闭创建文件的进程以外的所有进程的读写权限,表示为-rw------
Chgrp 修改一个或多个文件或目录所属的组,使用权限是超级用户
格式 chgrp [选项].. 组 文件.. chgrp [选项] ..--reference=参考文件 文件..
参数
-c --changes 像--verbose 只有在更改时显示结果
-- dereference会影响符号链接所指示的对象,而非符号链接本身
-h,--no-dereference 会影响符号链接本身,而非符号链接所指示的对象
-f ,--silent,--quiet 去除大部分错误信息
-R,--recursive 递归处理所有的子文件或目录
-v,--verbose 处理任何文件都会显示信息
如果用户不是该文件的属主或超级用户,则不能改变该文件的组
例:改变opt/local/book及其子目录下的所有文件属主为book,命令如下
Chgrp -R book opt/local/book
Chmod 用于改变文件或目录的访问权限
格式(1)字符设定法
Chmod [who][+|-|=][mode] 文件名
*操作对象who
u 表示用户,即文件或目录的所有者
g 表示同组用户
o 表示其他用户
a 表示所有用户,是系统默认值
*操作符号
+ 添加某个权限
- 取消某个权限
= 赋予给定权限,并取消其他权限
设置mode权限可用下列数字任意组合
r 可读 w 可写 x可执行
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加X属性
-t 保存程序的文本到交换设备上
u 和文件属主拥有一样的权限
g 与和文件属主同组用户拥有一样的权限
o 与其他用户拥有一样的权限
文件名 以空格分开的要改变权限的文件列表
一个命令行中可以给出多个权限方式,其间用逗号隔开
(2)数字设定法
一般形式 chmod [mode] 文件名
数字属性的格式为3个0-7的八进制数,其顺序是ugo文件名
例:系统管理员写了一个表格tem让所有人填写,必须授权用户对这个文件有读写权限
chmod 666 tem
如果用字符权限设定使用下列命令
chmod a=wx tem
Chown 更改一个或多个文件或目录的属组或属主,使用权限是超级用户
格式 chown [选项] 用户或组 文件
-- dereference会影响符号链接所指示的对象,而非符号链接本身
-h,--no-dereference 会影响符号链接本身,而非符号链接所指示的对象
-f ,--silent,--quiet 去除大部分错误信息
-R,--recursive 递归处理所有的子文件或目录
-v,--verbose 处理任何文件都会显示信息
chown是将指定文件的拥有着改为指定的用户和组,用户可以是用户名或用户ID,组可以是组名或组ID,文件是以空格分开的要改变权限的文件列表,支持通配符
例:把shiyan.c的所有者改为wan
chown wan shiyan.c
把目录/hi及其下的所有文件和子目录的属主改为wan,属组改为user
chown -R wan.user /hi
chattr 修改ext2和ext3文件系统属性,使用权限是超级用户
格式 chattr [-RV][-+=AacDdijsSu][-v version]文件名
主要参数
-R 递归处理所有的文件或子目录
-V 详细显示修改内容
- 失效属性
+ 激活属性
= 指定属性
A atime 告诉系统不要修改对这个文件的最后访问时间
S 一旦应用程序对这个文件执行了写操作,立刻把修改的结果写到磁盘
a 系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件
i 系统不允许对这个文件进行修改
D 检查压缩文件中的错误
d no dump在进行文件系统备份时,dump将忽略这个程序
C compress系统以透明的方式压缩这个文件
s secure delete 让系统在删除这个文件后,使用0填充文件的区域
u undelete 当一个应用程序请求删除该文件,系统会保留其数据块以便以后恢复
chattr 不能保护/,/dev,/tmp,/var 目录
Chattr 命令修改属性能提高系统安全性,但不适合所有目录
例:恢复root 目录,即子目录的所有文件
chattr -R +u/root
用chattr 防止系统中某个关键文件被修改
chattr +i /etc/fstab
Sudo 以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中
格式 sudo [klv]
sudo [-bhHpV][-s][-u<用户>][指令]
主要参数
-b 在后台执行命令
-h 显示帮助
-H 将HOME环境变量设为新身份的HOME环境变量
-k 接受密码的有效期,即下次要输入密码
-l 列出当前用户可以使用的文件
-p 改变询问密码的提示符号
-s 执行指定的shell
-u<用户> 以指定的身份为新用户
-v 延长密码有效期5分钟
Sodu是系统管理员用来允许有些用户以root身份运行部分/全部系统命令的程序
Ps 显示瞬间进程的动态
格式 ps [options][--help]
主要参数:
-A 列出所有进程
-l 显示长列表
-m 显示内存信息
-w 显示加宽可以显示较多的信息
-e 显示所有进程
a 显示终端上的所有进程,包括其他用户的进程
-au 显示较详细的信息
-aux 显示所有保护其他使用者的信息
除了可以使用top命令查看内存使用情况,还可以使用下面的命令:
ps -aux |sort+5n
Who 显示系统中有哪些用户登录系统
格式 who -[husfV][user]
-h 不要显示标题列
-u 不要显示使用者的动作
-s 使用简短的格式来显示
-f 不要显示使用者的上线位置
-V 显示程序版本