linux必须学习的60个命令(60个命令示例将在Linux入门时详细讲解)对于Linux系统来说,CPU、内存、磁盘驱动器、键盘、鼠标和用户都是文件,由Linux系统管理的命令是其正常运行的核心。在熟悉了Linux中常用的文件处理命令后,本讲座将介绍管理系统和用户的命令。
df
1.功能
df命令用于检查文件系统的磁盘/
2.格式
df[选项]
3.主要参数
-s:对于每个名称参数,仅给出已占用数据块的总数。
-a:递归显示指定目录中每个文件和子目录中每个文件占用的数据块数。如果未指定-s或-a,将仅显示名称及其子目录中每个目录占用的磁盘块数。
-k:磁盘之间的使用情况空以1024字节列出。
-x:从统计数据中跳过不同文件系统上的目录。
-l:计算所有文件大小,多次计算硬链接文件。
-I:显示信息节点信息,而不是数据块使用情况。
-h:以易于理解的格式打印文件系统大小,例如136KB、254MB和21GB。
-p:使用POSIX输出格式。
-t:显示文件系统类型。
解释
Df命令广泛用于生成文件系统的使用统计信息。它可以显示系统中所有文件系统的信息,包括总容量、可用空空闲空房间、当前安装点等。
超级特权用户在使用df命令时会发现一个分区的容量超过100%。这是因为Linux系统为超级用户预留了10%空的房间,由他们单独控制。也就是说,对于超级用户来说,他看到的硬盘容量将是110%。这种安排有利于系统管理,当硬盘的使用容量接近100%时,系统管理员仍然可以正常工作。
5.应用示例
Linux支持很多文件系统,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等等。使用df -T命令检查磁盘空时,还可以获取文件系统信息:
#df -T
文件类型容量已用可用已用%装载点
/dev/hda 7 reiserfs 5.2G 1.6G 3.7G 30%/
/dev/hda 1 vfat 2.4G 1.6G 827m 66%/windows/C
/dev/hda 5 vfat 3.0G 1.7G 1.3G 57%/windows/D
/dev/hda 9 vfat 3.0G 2.4G 566m 82%/windows/E
/dev/hda 10 NTFS 3.2G 573M 2.6G 18%/windows/F
/dev/hda 11 vfat 1.6G 1.5G 23M 99%/windows/G
由上可知,除了磁盘空的容量和使用情况,分区的文件系统类型和挂载点也一目了然。
顶端
1.功能
top命令用于显示正在执行的程序进程,权限针对所有用户。
2.格式
顶级[-] [d延迟] [q] [c] [S] [s] [i] [n]
3.主要参数
指定更新间隔,以秒为单位。
问:没有延迟更新。如果用户拥有超级用户权限,最高命令将以最高优先级执行。
c:显示进程的完整路径和名称。
s:累计模式,累计已完成或消失的子项目的CPU时间。
s:安全模式。
I:不要显示任何闲置或无用的行程。
n:显示更新数量,完成后将退出顶部。
解释
Top命令是Linux系统管理的主要命令之一,通过它可以获取大量的信息。这里,我们将参考图1解释它给出的信息。
图1顶部命令的显示
在图1中,第一行中表示的项目是当前时间、系统启动时间、当前登录系统的用户数量和平均负载。第二行显示所有已启动的进程,当前正在运行的进程,正在休眠的进程和无用的进程。第三行显示CPU的当前使用情况,包括系统占用率、用户使用率和空闲率。第四行显示物理内存的使用情况,包括总可用内存、已用内存、空可用内存和缓冲区占用的内存。第五行显示交换分区的使用情况,包括总交换分区、已用、空空闲和缓存大小。第六行显示的项目最多,详细说明如下。
工艺标识:工艺标识号。
用户:流程所有者的用户名。
公共关系:流程的优先级。
NI:流程的优先级值。
VIRT:进程占用的虚拟内存值。
RES:进程占用的物理内存值。
SHR:进程使用的共享内存值。
s:进程的状态,其中s表示休眠,r表示运行,z表示死状态,n表示进程的优先级值为负。
%CPU:此进程占用的CPU利用率。
%MEM:此进程占用的物理内存和总内存的百分比。
Time+:进程启动后占用的总CPU时间。
命令:进程启动的启动命令的名称。如果无法显示该行,流程将有一个完整的命令行。
使用top命令时,还可以使用一些交互命令来完成其他参数的功能。这些命令由快捷键启动。
:立即刷新。
p:根据CPU使用情况排序。
t:按时间和累计时间排序。
问:退出顶部命令。
m:切换到显示内存信息。
t:切换进程和CPU状态信息的显示。
c:切换命令名和完整命令行的显示。
m:根据使用的内存大小排序。
w:将当前设置写入~/。toprc文件。这是编写顶级配置文件的推荐方法。
可以看出,top命令是一个非常强大的监控系统的工具,对于系统管理员来说尤为重要。但是它的缺点是会消耗大量的系统资源。
5.应用示例
使用top命令监视指定的用户,默认情况下监视所有用户的进程。如果要查看指定用户的情况,在终端按“U”键输入用户名,系统会切换到指定用户的进程运行界面,如图2所示。
图2用top命令监视指定用户
自由的
1.功能
free命令用于显示内存的使用情况,使用权归所有用户。
2.格式
自由[-b|-k|-m] [-o] [-s延迟] [-t] [-V]
3.主要参数
-b-k-m:分别以字节(KB、MB)显示内存使用情况。
- s延迟:显示显示内存使用的秒数。
-t:显示内存总和列。
-o:不显示缓冲调整栏。
4.应用示例
free命令是用于检查内存使用情况的主命令。与top命令相比,它具有使用方便、只占用少量系统资源的优点。有了-s参数,您可以使用free命令来连续监视有多少内存在使用中,这样它就可以被视为一个方便实时监视器。
#free -b -s5
使用此命令后,终端将持续报告内存使用情况(以字节为单位),并每5秒更新一次。
配额
1.功能
配额命令用于显示磁盘使用情况和限制,使用权限为超级用户。
2.格式
配额[-g] [-u] [-v] [-p]用户名组名
3.因素
-g:显示用户组的磁盘使用限制。
-u:显示用户的磁盘使用限制。
-v:显示没有分配空的文件系统的分配。
-p:显示简化信息。
4.应用示例
磁盘配额在企业应用中非常重要,普通用户要学会了解自己的磁盘使用情况。要查询您自己的磁盘配额,您可以使用以下命令(在以下示例中,用户帐户是caojh):
#定额caojh
用户caojh(uid 502)的磁盘配额:
文件系统块配额限制宽限文件配额限制宽限
/dev/hda 3 58 200000 400000 41 500 1000
身份证号为502的caojh账户如上图所示。文件数设置为500 ~ 1000,硬盘空之间的限制设置为200 MB ~ 400 MB。一旦磁盘配额用完,您需要删除一些垃圾文件或向系统管理员请求额外的配额。
在
1.功能
at命令用于在指定的时间执行指定的命令序列。
2.格式
在[-V] [-q x] [-f文件] [-m]时间
3.主要参数
-v:显示标准误差输出。
-q:许多队列输出。
-f:从文件中读取作业。
-m:作业完成后向用户发送电子邮件。
时间:设置作业执行的时间。时间格式有严格的要求,由小时、分钟、日期、时间的偏移量组成,其中日期格式为MM.DD.YY,MM为分钟,DD为日期,YY指年份。偏移量的格式为时间+偏移量,单位为分钟、小时、天。
4.应用示例
#at -f数据15:30 +2天
上述命令表示系统将在两天后的17: 30执行文件数据中指定的作业。
线性规划(Linear Programming)
1.功能
Lp是打印文件的命令,权限是给所有用户的。
2.格式
LP[-c][-d][-m][-number][-title][-p]
3.主要参数
-C:打印前复制文件。
-d:打印队列文件。
-m:打印后发送电子邮件给用户。
-数量:打印的份数。
-标题:打印标题。
-p:设置打印的优先级,最高100。
4.应用示例
(1)使用lp命令打印多个文件
#lp 2 3 4
请求id为11 (3个文件)
2、3、4分别是文件名;“请求id为11 (3个文件))”表示这是第11个打印命令,三个文件依次打印。
(2)设置打印优先级
# LP LP-d LaserJet-p 90/etc/别名
通过添加“-p 90”,指定打印作业的优先级为90。它将在打印优先级低于90的作业之前打印,包括没有设置优先级的作业。默认优先级为50。
useradd
1.功能
add命令用于设置用户帐户和创建用户的主目录,权限为超级用户。
2.格式
user add[-d home][-s shell][-c comment][-m[-k template]][-f inactive][-e expire][-p passwd][-r]名称
3.主要参数
-c:添加备注,保存在passwd的备注栏中。
-d:指定用户登录时的起始目录。
-d:更改默认值。
-e:指定账号有效期,默认永久有效。
-f:指定密码到期后多少天关闭账户。
-g:指定用户所属的组。
-g:指定用户所属的附加组。
-m:自动创建用户的登录目录。
-m:不要自动创建用户的登录目录。
-n:取消创建以用户名命名的组。
-r:建立系统账户。
-s:指定用户登录后使用的shell。
-u:指定用户标识号。
解释
Useradd可用于建立用户帐户,这与adduser命令相同。建立帐户后,使用passwd设置帐户的密码。使用useradd命令建立的帐户实际上存储在/etc/passwd文本文件中。
5.应用示例
创建新用户帐户并设置标识:
#useradd caojh -u 544
需要注意的是,设置ID值时,尽量大于500,避免冲突。因为安装Linux后会建立一些特殊用户,一般0到499之间的值是为bin、mail等系统账户预留的。
groupadd
1.功能
add命令用于向系统添加新组。
2.格式
group add[-g GID][-o]][-r][-f]group name
3.主要参数
- g gid:指定组标识号。
-o:允许组标识号,不需要唯一。
-r:加入群的ID号低于499系统账号。
-f:当加入一个现有组时,开发程序退出。
4.应用示例
创建一个新组并设置组标识以加入系统:
#groupadd -g 344 cjh
此时,/etc/passwd文件中会生成一个组标识(GID)为344的项目。
杀
1.功能
kill命令用于停止进程。
2.格式
杀死[ -s信号| -p ] [ -a ] pid...
杀伤信号
3.因素
-s:指定要发送的信号。
-p:模拟传输信号。
-l:指定信号的名称列表。
Pid:要中止的进程的标识号。
信号:表示信号。
解释
进程是Linux系统中一个非常重要的概念。Linux是一个多任务操作系统,其中许多进程经常同时运行。我们不关心这些进程如何分配,或者内核如何管理分配时间片。我们关心的是如何控制这些过程,使它们能够很好地为用户服务。
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互过程是由Shell启动的过程。交互可以在前台或后台运行。批处理与终端没有联系,它是一个进程序列。Monitor进程(也称为系统守护进程)是Linux系统在后台启动运行时启动的进程。比如httpd就是著名的Apache服务器的监控过程。
kill命令的工作原理是向Linux系统的内核发送系统操作信号和某个程序的进程标识号,然后内核就可以对进程标识号指定的进程进行操作。例如,在top命令中,我们看到系统运行了许多进程,有时我们需要使用kill来停止一些进程,以提高系统资源。在解释安装和登录命令时,提到系统中多个虚拟控制台的功能是当一个程序出错导致系统死锁时,切换到其他虚拟控制台工作并关闭程序。此时使用的命令是kill,因为kill可以被大多数Shell内部命令直接调用。
5.应用示例
(1)强制挂起(通常是杀死)进程标识号为324的进程:
# #kill -9 324
(2)解开Linux系统的死锁
在Linux中,有时会发生程序崩溃并处于死锁状态的情况。一般这个时候不需要重启电脑,只要停止(或者关闭)这个有问题的程序就可以了。当kill在X-Window界面时,主程序(除了崩溃的程序)已经正常启动。此时,终端被打开,有问题的程序被停止。例如,如果Mozilla浏览器程序被锁定,您可以使用kill命令停止所有包含Mozilla浏览器的程序。首先,使用top命令调查程序的PID,然后使用kill命令停止程序:
#kill -SIGKILL XXX
其中XXX是包含Mozolla浏览器的程序的进程标识号。
(3)通过命令回收内存。
我们知道内存对系统非常重要,回收内存可以提高系统资源。kill命令可以及时停止一些“离经叛道”的程序或者长时间没有对应的程序。例如,如果使用top命令查找无用的进程,可以使用以下命令:
#kill -9 XXX
其中XXX为无用过程标识号。
然后使用以下命令:
#免费
你会发现可用的内存容量增加了。
(4)killall司令部
Linux还提供了killall命令,可以直接使用进程的名称来代替进程标识号,例如:
# killall -HUP inetd
crontab
1.功能
crontab命令可用于修改crontab配置文件,然后由cron实用程序在适当的时间执行配置。该命令由所有用户使用。
2.格式
Crontab [-u用户]文件
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只有三个环境变量:用户、主页和Shell。
解释
与at命令相比,crontab命令更适合在固定周期内完成任务。
5.应用示例
设置常规和定期系统提示:
[cao @www cao]#crontab -e
将会打开一个vi编辑器。
如果输入如下:35 17 * * 5墙“明天是周六我去cs”,则保存并退出。此时,将在/var/spool/cron/目录中生成一个cao文件,其内容如下:
#不要编辑此文件-编辑主文件并重新安装。
# (/tmp/crontab.2707安装于2004年1月1日星期四22:01:51)
# (Cron版本- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
35 17 * * 5墙“明天是周六我要打CS”
这样,每周五17: 35,系统会弹出一个终端提醒你周六可以打CS!
动手实践
1.联合使用kill和top命令来观察系统性能的变化。
首先启动一个终端运行top命令,然后启动一个终端使用kill命令,如图4所示。
图4观察kill命令对顶部终端的影响
此时,使用上述kill命令停止一些程序:
#杀死SIGKILL XXX
然后看顶层命令终端的变化,包括内存容量、CPU利用率、系统负载等等。请注意,有些进程是无法停止的,但是您可以尝试学习Linux命令,看看系统如何反应。
2.使用at和halt命令定期关闭
首先,将关机时间设置为17:35,并输入以下代码:
# 17:35
警告:将使用(按顺序)a) $SHELL b)登录shell c) /bin/sh执行命令
停止`-i -p
at >
工作6在2004-01-01 17:35
此时其实已经进入了Linux系统的Shell,编写了最简单的程序:halt-I-p,上面Shell中文本的结束符号表示按“Ctrl+D”关闭命令并提交任务退出Shell。“作业6在2004-01-01 17: 35”表示系统接受第六个at命令,该命令将在“2004-01-01 17: 35”执行:首先停止所有与网络相关的设备,然后在关闭系统后关闭电源。
3.使用crontab命令每天定期扫描病毒。
前面已经介绍了一个简单的crontab命令操作,下面是一些更重要的操作。
(1)创建一个具有自己名称的文件,假设caoproject:
#crontab -e
(2)文件内容如下:
05 09 * * * antivir
用vi编辑后保存并退出。Antivir是一款杀死Linux病毒的软件。当然,必要时应该先安装在系统中。
(3)使用crontab命令添加到任务列表:
#crontab caoproject
这样,系统中的所有用户都会在每天9: 05自动扫描病毒。
4.使用kill使更改的配置文件立即生效。
Windows用户一般都知道,重要配置文件修改后,往往要重启电脑才能使修改生效。Linux由于其模块化设计,可以根据需要实时设置自己的服务。这里以网络服务inetd为例,介绍一些操作技巧。
Inetd是一个监控守护进程,它监控与Internet服务进程(如rlogin、telnet、ftp、rsh)的连接需求,并扩展所需的服务进程。默认情况下,inetd侦听的这些守护进程列在/etc /inetd.conf文件中。编辑/etc/inetd.conf文件可以改变inetd启动服务器守护进程的选项,然后用SIGHUP(sight 1)驱动inetd向当前inetd进程发送信号,使inetd重新读取文件。这个过程由kill命令实现。
使用vi或其他编辑器修改inetd.conf后,首先使用以下命令:
#ps -ef |grep inetd
上面的代码表示查询inetd.conf的进程号(PID)这里假设为1426,然后使用下面的命令:
# kill -1426 inetd
这使得配置文件有效。
本讲介绍的系统管理命令都很重要,尤其是crontab命令和quota命令,会比较难用,需要多做练习。另外,在使用kill命令的时候要注意参数“-9”,在练习的时候最好不要运行一些重要的程序。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。