系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、cromtab
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、ps、who
df
1.作用:用来检查文件系统的磁盘空间占用情况。
2.格式:df [options]
3.主要参数
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型。
top
1.作用:显示执行中的程序进程,使用权限是所有用户
2.格式:top [-] [d delay] [q] [c] [S] [s] [i] [n]
3.主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出top。
在终端按U,切换为指定用户进程运行界面。
free
1.作用:用来显示内存的使用情况。
2.格式:free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
3.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。
4.应用实例
free -b -5s :以kb为单位,每5秒更新一次
quota
1.作用:显示磁盘使用情况和限制情况。(超级用户)
2.格式
quota [-g][-u][-v][-p] 用户名 组名
3.主要参数
-g:显示用户所在组的磁盘使用限制。
-u:显示用户的磁盘使用限制。
-v:显示没有分配空间的文件系统的分配情况。
-p:显示简化信息。
at
1.作用:用来在指定时刻执行指定的命令序列。
2.格式
at [-V] [-q x] [-f file] [-m] time
3.主要参数
-V:显示标准错误输出。
-q:许多队列输出。
-f:从文件中读取作业。
-m:执行完作业后发送电子邮件到用户。
time:设定作业执行的时间。time格式有严格的要求,由小时、分钟、日期和时间的偏移量组成,其中日期的格式为MM.DD.YY,MM是分钟,DD是日期,YY是指年份。偏移量的格式为时间+偏移量,单位是minutes、hours和days。
4.应用实例
#at –f data 15:30 +2 days
表示在两天后的15:30,执行文件data中指明的作业。
lp
1.作用:打印文件的命令。
2.格式:lp [-c][-d][-m][-number][-title][-p]
3.主要参数
-c:先拷贝文件再打印。
-d:打印队列文件。
-m:打印结束后发送电子邮件到用户。
-number:打印份数。
-title:打印标题。
-p:设定打印的优先级别,最高为100。
4.应用实例
(1)使用lp命名打印多个文件
#lp 2 3 4
Request id is 11(3file(s))
其中 2 3 4是文件名,Requestid is 11(3file(s))表示这是第十一个打印命令,依次打印这三个文件
#lp lp -d LasterJet -p 90/etc/aliases
规定了优先级为90.
useradd
1.作用:用来建立用户帐号和创建用户的起始目录(超级用户)。
2.格式:
useradd [-d home] [-s shell] [-c comment] [-m [-ktemplate]] [-finactive] [-eexpire ] [-ppasswd] [-r] name
3.主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
4.应用实例:
建立一个新用户账户并设置ID:useradd cnojh -u 544
groupadd
1.作用:用于将新组加入系统。
2.格式:groupadd [-g gid] [-o] [-r] [-f]groupname
3.主要参数:
-g :指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
4.应用实例
建立一个新组并设置组ID加入系统
#groupadd –g344 hjgh
此时在/etc/passwd文件中产生一个组ID为344的项目
kill
1.作用
kill命令用来中止一个进程。
2.格式
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
3.参数
-s:指定发送的信号。
-p:模拟发送信号。
-l:指定信号的名称列表。
pid:要中止进程的ID号。
Signal:表示信号。
4.应用实例:
kill -9 324 (-9:强行终止 324:进程号)
crontab
1.作用:可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,使用权限是所有用户
2.格式:crontab [ -u user ] 文件 crontab [ -u user ] { -l | -r | -e }
3.主要参数:
-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三个环境变量。
4.应用实例:
在vi中输入:35 17**5 wall "Tomorrow is saturday I will play CS"
这时在/var/spool/cron/目录下会产生一个cao文件,每个星期五下午17.35分会弹出一个终端。
passwd
1.作用:修改账户的登陆密码。
2.格式:passwd [选项] 账户名称
3.主要参数
-l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。
-u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。
-x, --maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-n, --minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。
-S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。
su
1.作用
su 命令用来变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
2.格式
su [选项]... [-][USER [ARG]...]
3.主要参数
-f :不必读启动文件(如 csh.cshrc等),仅用于csh或tcsh两种Shell。
-l :加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变 。如果没有指定USER,缺省情况是root。
-m, -p ,:执行su时不改变环境变数。
-c :变更账号为USER的使用者,并执行指令(command)后再变回原来使用者
USER:欲变更的使用者账号,ARG传入新的Shell参数。
4.应用实例
变更账户为账户,并在执行df命令后还原使用者
su –c df root
umask
1.作用:
umask名利用来设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可,使用权限是所有用户
2.格式:umask [-p] [-S] [mode]
3.主要参数 :
-S:确定当前的umask设置。
-p:修改umask 设置。
[mode]:修改数值。
4。应用实例:
umask -p 177(只有读写权限)
chgrp
1.作用:修改一个或多个文件或目录所属的组(超级用户)。
2.格式:chgrp [选项]... 组 文件...或 chgrp [选项]... --reference=参考文件 文件... 将每个<文件>的所属组设定为<组>。
3.主要参数
-c, --changes :像 --verbose,但只在有更改时才显示结果。
-d:会影响符号链接所指示的对象,而非符号链接本身。
-h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。
-f, --silent, --quiet:去除大部分的错误信息。
-r:使用<参考文件>的所属组,而非指定的<组>。
-R, --recursive:递归处理所有的文件及子目录。
-v, --verbose:处理任何文件都会显示信息。
4.应用实例:
改变/opt/local/book/及其子目录下的所有文件的属组为book
#chgrp -R book /opt/local/book
chmod
1.作用:chmod命令用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。
2.格式:
(1)字符设定法
chmod [who] [+ | - | =] [mode] 文件名
操作对象who可以是下述字母中的任一个或它们的组合
u:表示用户,即文件或目录的所有者。
g:表示同组用户,即与文件属主有相同组ID的所有用户。
o:表示其它用户。
a:表示所有用户,它是系统默认值。
操作符号
+:添加某个权限。
-:取消某个权限。
=:赋予给定权限,并取消其它所有权限(如果有的话)。
设置mode的权限可用下述字母的任意组合
r:可读。
w:可写。
x:可执行。
X:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。
s:文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t:保存程序的文本到交换设备上。
u:与文件属主拥有一样的权限。
g:与和文件属主同组的用户拥有一样的权限。
o:与其它用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
一个命令行中可以给出多个权限方式,其间用逗号隔开。
(2) 数字设定法
数字设定法的一般形式为: chmod [mode] 文件名
数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要改变权限的文件列表,支持通配符。
数字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限;
0004为所有者的读权限;0010为组的执行权限;0020为组的写权限;0040为组的读权限;
0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位置位;2000表示假如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位 ;4000表示假如这个文件是可执行文件,则为用户ID为位置位。
chown
1.作用:更改一个或多个文件或目录的属主和属组(超级用户)
2.格式:chown [选项] 用户或组 文件
3.主要参数
--dereference:受影响的是符号链接所指示的对象,而非符号链接本身。
-h, :会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。
--from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。
-f, --silent, --quiet:去除大部分的错误信息。
-R, --recursive:递归处理所有的文件及子目录。
-v, --verbose:处理任何文件都会显示信息。
4.说明
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID:组可以是组名或组ID:文件是以空格分开的要改变的权限的文件列表,支持通配符。系统管理员经常用chown命令,将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限
5.应用实例:
把目录/hi及其下的所有文件和子目录的属主改成wan,属组改成users
#chown -R wan.users /hi
chattr
1.作用:修改ext2和ext3文件系统属性(超级用户 )。
2.格式:chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
3.主要参数:
-R:递归处理所有的文件及子目录。
-V:详细显示修改内容,并打印输出。
-:失效属性。
+:激活属性。
= :指定属性。
A:Atime,告诉系统不要修改对这个文件的最后访问时间。
S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 。
a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
D:检查压缩文件中的错误。
d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。
C:Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
s:Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。
u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。
4.应用实例:
恢复/root目录及其子目录的所有文件
#chatter -R +u/root
防止系统中某个关键文件被修改
#chatter +i/etc/fstab
sudo
1.作用:sudo命令是一种以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令。
2.格式:sudo [-bhHpV] [-s <shell>] [-u <用户>] [指令] sudo [-klv]
3.主要参数:
-b:在后台执行命令。
-h:显示帮助。
-H:将HOME环境变量设为新身份的HOME环境变量。
-k:结束密码的有效期,即下次将需要输入密码。
-l:列出当前用户可以使用的命令。
-p:改变询问密码的提示符号。
-s <shell>:执行指定的Shell。
-u <用户>:以指定的用户为新身份,不使用时默认为root。
-v:延长密码有效期5分钟。
ps
1.作用:显示瞬间进程 (process) 的动态,使用权限是所有使用者
2.格式:ps [options] [--help]
3.主要参数
-A:列出所有的进程。
-l:显示长列表。
-m:显示内存信息。
-w:显示加宽可以显示较多的信息。
-e:显示所有进程。
a:显示终端上的所有进程,包括其它用户的进程。
-au:显示较详细的信息。
-aux:显示所有包含其它使用者的进程。
4.应用实例:
查看内存:ps aux | sort +5n
who
1.作用:显示系统中有哪些用户登陆系统,显示的资料包含了使用者ID、使用的登陆终端、上线时间、呆滞时间、CPU占用,以及做了些什么。
2.格式:who - [husfV] [user]
3.主要参数:
-h:不要显示标题列。
-u:不要显示使用者的动作/工作。
-s:使用简短的格式来显示。
-f:不要显示使用者的上线位置。
-V:显示程序版本。