Linux必学的系统管理命令(2)
原链接:http://blog.pcwuyu.com/2013/335.html
原分类:Linux
useradd
- 1.作用
useradd
命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。- 2.格式
useradd [-d home] [-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
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。groupadd
- 1.作用
groupadd
命令用于将新组加入系统。- 2.格式
groupadd [-g gid] [-o]] [-r] [-f] groupname
- 3.主要参数
-g gid
:指定组ID号。-o
:允许组ID号,不必惟一。-r
:加入组ID号,低于499系统账号。-f
:加入已经有的组时,发展程序退出。- 4.应用实例
建立一个新组,并设置组ID加入系统:
#groupadd -g 344 cjh
此时在/etc/passwd
文件中产生一个组ID(GID)是344的项目。kill
- 1.作用
kill
命令用来中止一个进程。- 2.格式
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
- 3.参数
-s
:指定发送的信号。-p
:模拟发送信号。-l
:指定信号的名称列表。pid
:要中止进程的ID号。Signal
:表示信号。- 4.说明
*进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。
*Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行。例如,httpd是著名的Apache服务器的监控进程。
*kill
命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top
命令中,我们看到系统运行许多进程,有时就需要使用kill
中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill
,因为kill
是大多数Shell内部命令可以直接调用的。- 5.应用实例
(1)强行中止(经常使用杀掉)一个进程标识号为324的进程:
#kill -9 324
(2)解除Linux系统的死锁
*在Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill
处于X-Window
界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用kill
命令来中止所有包含有Mozolla浏览器的程序。首先用top
命令查处该程序的PID
,然后使用kill
命令停止这个程序:
#kill -SIGKILL XXX
其中,XXX是包含有Mozolla浏览器的程序的进程标识号。
(3)使用命令回收内存
我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此时可以使用下面命令:
#kill -9 XXX
其中,XXX是无用的进程标识号。
然后使用下面命令:
#free
此时会发现可用内存容量增加了。
(4)killall
命令
Linux下还提供了一个killall
命令,可以直接使用进程的名字而不是进程标识号,例如:
#killall -HUP inetd
crontab
- 1.作用
使用
crontab
命令可以修改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.说明
和
at
命令相比,crontab
命令适合完成固定周期的任务。- 5.应用实例
设置一个定时、定期的系统提示:
[cao @www cao]#crontab -e
此时系统会打开一个vi编辑器。
如果输入以下内容:35 17 * * 5 wall 'Tomorrow is Saturday I will go CS'
,然后存盘退出。这时在/var/spool/cron/
目录下会生产一个cao的文件,内容如下:# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.2707 installed on Thu Jan 1 22:01:51 2004)
# (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 CS '
这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打CS了!
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。