系统管理命令
df
1.作用: 检查文件系统磁盘占用情况
2.格式:
df [options]
-s:对每个names参数只给出占用的数据块总数
-a: 递归显示指定目录中各文件及子目录中各文件占用的数据块数, 若既不指定-s ,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数
-k: 以1024字节为单位列出磁盘空间使用情况
-x: 跳过在不同文件系统上的目录不予统计
-l: 计算所有文件的大小, 对硬链接文件则计算多次
-i: 显示inode 信息而非块使用量
-h: 以容易理解的格式印出文件系统大小 ,例如 136KB, 254MB ,21GB
-P: 使用POSIX输出格式
-T: 显示文件系统类型
3.说明:
ef命令被广泛的用来生成文件系统的使用统计数据, 它能显示系统中所有的文件系统的信息 ,包括总容量, 可用空闲空间, 目前的安装点等
超级权限用户使用df命令时会发现这样的情况: 某个分区的容量超过了100%,. 这是因为Linux系统为超级用户保留了10%的空间,由其单独支配.也就是说,对于超级用户而言,他所见到的硬盘容量将是110%. 这样的安排对于系统管理员而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作.
4.例:
Linux支持的文件系统非常多,包括JFS, ReiserFS, ext, ext2, 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/had10 NTFS 3.2G 573M 2.6G /windows/F
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
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 -s5
终端连续不断的报告内存使用情况,以节为单位, 每5秒更新一次
quota
1.作用: 显示磁盘使用情况和限制情况
2.格式:
quota [-g][-u][-v][-p] 用户名 组名
3.参数
-g: 显示用户所在组的磁盘使用限制
-u: 显示用户的磁盘使用限制
-v: 显示没有分配空间的文件系统的分配情况
-p: 显示简化信息
4.应用实例:
查询自己的磁盘配额:(用户账号是caojh)
quota caojh
Disk quotas for user caojh(uid 502):
Filesystem blocks quota limit grace files quota limit grace
/dev/hda3 58 200000 4000000 41 500 1000
以上显示ID号为302的caojh账号,文件个数设置为500~1000个,磁盘空间限制设置为200M~400MB.一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额
at
1.作用:在指定时刻执行指定的命令序列
2.格式;’
at [-V][-qx][-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: 打印份数
-titile: 打印标题
-p: 设定打印的优先级别,最高为100
4,应用实例:
(1)使用lp 命令打印多个文件
lp 2 3 4
request id is 11(3file(s))
其中2,3,4分别是文件名,”request id is 11”表示这是第11个打印命令,依次打印这三个文件
(2)设定打印优先级别
lp -d LaserJet -p 90 /etc/alias
通过添加”-p 90”,规定了打印作业的优先级为90,他将在优先级低于90的打印作业之前打印,包括没有设着有限记得作业,缺省优先级是50
useradd
1.作用:
useradd 命令用来建立用户账号和创建用户的起始目录,使用权限是超级用户
2.格式
useradd [-d name][-s shell][-c comment][-m[-k template][-f inactive][-e expire][-p passwd][-r]name
3.主要参数
-c: 加上备注文字, 备注文字保存在passwd的备注栏中
-d: 指定用户登入时的起始目录
-D: 变更预设值
-e: 指定账号的有效期限, 缺省表示永久有效
-f: 指定在密码过期后多少天即关闭该账号
-g: 指定用户所属的群组
-G: 指定用户所属的附加群组
-m: 自动建立用户的登入目录
-M: 不要自动建立用户的登入目录
-n:取消建立以用户名称为名的群组
-r: 建立系统账号
-s: 指定用户登入后所使用的shell
-u: 指定用户ID号
4.说明
useradd可以用来建立用户账号,它和adduser命令是相同的.账号建好之后,再用passwd设定账号的密码. 使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中.
5.应用实例
建立一个新用户账户,并设定ID:
useradd caojh -u 544
1
需要说明的是,设定ID值时尽量要大于500,以免冲突.引起胃.Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin, mail 这样的系统账号
groupadd
1,作用: 将新组加入系统
2.格式:
groupadd [-g gid][-o][-f][-f] groupname
3,主要参数
-g 指定组ID号
-o: 允许组ID号 不必唯一
-r: 加入组ID号, 低于299系统账号
-f: 加入已有的组时,发展程序退出
4.应用实例:
建立一个新组,并设置组ID加入系统
groupadd -g 344 cjh
1
此时在/etc/passwd文件中产生一个组ID是344的项目
kill
1,作用:终止一个进程
2.格式:
kill [-s signal | -p][-a] pid…
kill -l [signal]
3.参数:
-s: 指定发送的信号
-p:模拟发送信号
-l:制定新好的名称列表
pid: 要终止进程的ID号
Singal: 表示信号
4.说明:
进程是Linux系统中一个非常重要的概念.Linux是一个多任务的操作系统,系统上经常同时运行着多个进程. 我们不关心这些进程究竟是如何分配的 , 或者是内核是如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好的为系统服务
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性. 交互进程是由一个shell启动的进程, 交互进程可以在前台运行,也可以在后台运行. 批处理进程和终端没有联系, 是一个进程序列. 监控进程(也称系统守护进程)是Linux系统启动时启动的进程, 并在后台运行, 例如 httpd是著名的Apache服务器的监控进程
kill 命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号, 然后系统内核就可以对进程标识号指定的进程进行操作. 比如在top命令中,我们看到系统运行许多进程, 有时就需要使用kill种植某些进程来提高系统资源. 系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序.此时使用的命令就是kill. kill是大多数shell内部命令可以直接调用的
5.应用实例
(1)强行终止(杀掉)一个进程标识号为324的进程
kill -9 324
1
(2)解除Linux系统的死锁
在Linux中有时发生这样一种状况:一个程序崩溃,并且处于死锁的状态.此时一般不用重新启动计算机, 只需要中止这个有问题的程序即可. 当kill 处于X-Window 界面时, 主要的程序 除了崩溃的程序外,一般都已经正常启动了. 此时打开一个终端, 在那里中止有问题的程序. 比如 ,如果Mozilla浏览器程序出现了锁死的情况, 可以使用kill 命令来中止所有包含有Mozilla浏览器的程序. 首先用top命令查处该程序的PID , 然后使用kill 命令停止这个程序.
kill -SIGKILL XXX
1
其中,XXX是包含有Mozilla浏览器的程序的进程标识号
(3)使用命令回收内存
内存对于系统非诚重要, 回收内存可以提高系统资源. kill 命令可以及时的中止一些”越轨”的程序或很长时间没有相应的程序. 例如 ,用top命令发现一个无用的进程,此时可以
kill -9 XXX
1
其中 ,XXX是无用的进程标识号
然后,
free
1
就会发现内存容量增加了
(4)killall命令
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,
killall -HUP inetd
1
crontab
1,作用:修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户
2.格式:
crontab [-u user] 文件
crontab [-u userj] { -l | -r | -e}
3.主要参数
-e: 执行文件编辑器来设定时间表, 内定的文字编辑器是vi
-r: 删除目前的时间表
-l: 列出目前的时间表
系统安全命令
passwd
1.作用:
修改账户的登录秘钥
2.格式:
passwd [选项] 账户名称
3.主要参数
-l: 锁定已经命名的账户名称 ,只有具备超级用户权限的使用者方可使用
-u: 解开账户锁定状态,只有具备超级用户权限的使用者方可使用
-x, -maximum-DAYS: 最大密码使用时间(天),只有具备超级用户权限的使用者方可使用
-n, -minimum=DAYS, 最小密码使用时间(天),只有具备超级用户权限的使用者方可使用
-d: 删除使用者的密码,只有具备超级用户权限的使用者方可使用
-S: 检查指定使用者的密码认证种类.只有具备超级用户权限的使用者方可使用
4.应用实例:
$passwd
Changing password for user cao
Changing password for cao
(current) UNIX password
New UNIX password:
Retype new UNIX password:
passwd: all authertication tokens updated successfully.
su
1.作用:切换用户
2.格式:
su [选项]… [-][USER[ARG]…}
-c command:变更账号为use的使用者,并执行指令后再变回原来的使用者
3.例:
su -c df root
变更账号为root ,并在执行df命令后还原使用者
umask
1.作用: 显示, 设置文件的缺省权限
2.格式:
umask [-p][-S][mode]
3.参数
-S: 确定当前的umask设置
-p: 修改umask设置
[mode] 修改数值
4.例:
umask -S
u=rwx,g=rx.o=rx
umask -p 177
umask -S
u=rw.g=.o=
chgrp
1.作用:改变文**件或目录的所属组
2.格式:chgrp[用户组][文件或目录]
3.例:
chgrp adm file1
改变file1 所属组为adm
chmod
1.作用:改变文件或目录权限
2.例:
chmod 754 a
chown
改变文件所有者
例:
$chown nobody file1
chattr
1.作用:修改ext2和ext3文件系统属性.
2.例:
①恢复/root目录,即子目录的所有文件
chattr -R -u/root
1
-R: 递归处理所有的文件及子目录
u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件
②用chattr命令防止系统中某个关键文件被修改
在Linux中,有些配置文件(passwd.fatab)是不允许任何人修改的,问了防止被误删除或修改,可以在设定该文件的不可修改位
chattr +i /etc/fstab
1
+ 激活属性 - 失效属性 = 指定属性
i:Immutable,系统不允许对这个文件进行任何的修改,如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件
sudo
sudo是一种以限制配置文件为基础,在有限时间内给用户使用,并且记录到日志中的命令
ps
ps显示瞬间进程(process)的动态
例:
ps -aux |sort +5n
1
-aux:显示所有包含其他使用者的进程
who
who显示系统中有哪些用户登录系统,显示资料包含使用者ID,使用的登录终端,上线时间,呆滞时间,CPU占用,以及做了什么