Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15366
  • 博文数量: 15
  • 博客积分: 350
  • 博客等级: 一等列兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-10 13:25
文章分类
文章存档

2011年(15)

我的朋友

分类: LINUX

2011-05-10 14:09:42

  (21)diff * 1.作用 diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户。

  2.格式

  diff [options]源文件 目标文件

  3.[options]主要参数

  -a:将所有文件当作文本文件来处理。

  -b:忽略空格造成的不同。

  -B:忽略空行造成的不同。

  -c:使用纲要输出格式。

  -H:利用试探法加速对大文件的搜索。

  -I:忽略大小写的变化。

  -n --rcs:输出RCS格式。

  (22)cmp

  1.作用

  cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户。

  2.格式

  cmp[options]文件名

  3.[options]主要参数

  -l:将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出。

  (23)cat *

  1.作用

  cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。

  2.格式

  cat [options]文件1 文件2……

  3.[options]主要参数

  -n:由第一行开始对所有输出的行数编号。

  -b:和-n相似,只不过对于空白行不编号。

  -s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。

  4.应用举例

  (1)cat命令一个最简单的用处是显示文本文件的内容。例如,我们想在命令行看一下README文件的内容,可以使用命令:

  $ cat README

  (2)有时需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件。cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出。例如,把README和INSTALL的文件内容加上行号(空白行不加)之后,将内容附加到一个新文本文件File1 中:

  $ cat README INSTALL File1

  (3)cat还有一个重要的功能就是可以对行进行编号,见图2所示。这种功能对于程序文档的编制,以及法律和科学文档的编制很方便,打印在左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的。

  图2 使用cat命令/etc/named.conf文件进行编号

  对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行编号)两个参数:

  $ cat -b /etc/named.conf

  (24)ln *

  1.作用

  ln命令用来在文件之间创建链接,它的使用权限是所有用户。

  2.格式

  ln [options]源文件 [链接名]

  3.参数

  -f:链结时先将源文件删除。

  -d:允许系统管理者硬链结自己的目录。

  -s:进行软链结(Symbolic Link)。

  -b:将在链结时会被覆盖或删除的文件进行备份。

  链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

  硬连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号 (Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。

  与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

  动手练习2

  上面我们介绍了Linux文件处理命令,下面介绍几个实例,大家可以动手练习一下刚才讲过的命令。

  1.利用符号链接快速访问关键目录

  符号链接是一个非常实用的功能。假设有一些目录或文件需要频繁使用,但由于Linux的文件和目录结构等原因,这个文件或目录在很深的子目录中。比如, Apache Web服务器文档位于系统的/usr/local/httpd/htdocs中,并且不想每次都要从主目录进入这样一个长的路径之中(实际上,这个路径也非常不容易记忆)。

  为了解决这个问题,可以在主目录中创建一个符号链接,这样在需要进入该目录时,只需进入这个链接即可。

  为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录,在主目录下可以使用以下命令:

  $ ln -s /usr/local/httpd/htdocs gg

  这样每次进入gg目录就可访问Web服务器的文档,以后如果不再访问Web服务器的文档时,删除gg即可,而真正的Web服务器的文档并没有删除。

  2.使用dd命令将init.rd格式的root.ram内容导入内存

  dd if=/dev/fd0 of=floppy.fd

  dd if=root.ram of=/dev/ram0 #

  3.grep命令系统调用 grep是Linux/Unix中使用最广泛的命令之一,许多Linux系统内部都可以调用它。

  (1)如果要查询目录列表中的目录,方法如下:

  $ ls -l | grep '∧d'

  (2)如果在一个目录中查询不包含目录的所有文件,方法如下:

  $ ls -l | grep '∧[∧d]'

  (3)用find命令调用grep,如所有C源代码中的“Chinput”,方法如下:

  $find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print

  3、系统管理相关命令

  Linux必学的系统管理命令

  作者:曹元其发文时间:2004.10.18

  对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令。

  (25)df *

  1.作用

  df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。

  2.格式

  df [options]

  3.主要参数

  -s:对每个Names参数只给出占用的数据块总数。

  -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

  -k:以1024字节为单位列出磁盘空间使用情况。

  -x:跳过在不同文件系统上的目录不予统计。

  -l:计算所有的文件大小,对硬链接文件则计算多次。

  -i:显示inode信息而非块使用量。

  -h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。

  -P:使用POSIX输出格式。

  -T:显示文件系统类型。

  4.说明

  df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。

  超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作。

  5.应用实例

  Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、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/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D

  /dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E

  /dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F

  /dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G

  从上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗。

  (26)top *

  1.作用

  top命令用来显示执行中的程序进程,使用权限是所有用户。

  2.格式

  top [-] [d delay] [q] [c] [S] [s] [i] [n]

  3.主要参数

  d:指定更新的间隔,以秒计算。

  q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

  c:显示进程完整的路径与名称。

  S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

  s:安全模式。

  i:不显示任何闲置(Idle)或无用(Zombie)的行程。

  n:显示更新的次数,完成后将会退出top。

  4.说明

  top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。结果中,第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起 (Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。

  PID(Process ID):进程标示号。

  USER:进程所有者的用户名。 PR:进程的优先级别。

  NI:进程的优先级别数值。

  VIRT:进程占用的虚拟内存值。

  RES:进程占用的物理内存值。

  SHR:进程使用的共享内存值。

  S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

  %CPU:该进程占用的CPU使用率。

  %MEM:该进程占用的物理内存和总内存的百分比。

  TIME+:该进程启动后占用的总的CPU时间。

  Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

  top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

  <空格>:立刻刷新。

  P:根据CPU使用大小进行排序。

  T:根据时间、累计时间排序。

  q:退出top命令。

  m:切换显示内存信息。

  t:切换显示进程和CPU状态信息。

  c:切换显示命令名称和完整命令行。

  M:根据使用内存大小进行排序。

  W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

  可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

  5.应用实例

  使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。

  (27)free *

  1.作用

  free命令用来显示内存的使用情况,使用权限是所有用户。

  2.格式

  free [-b|-k|-m] [-o] [-s delay] [-t] [-V]

  3.主要参数

  -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

  -s delay:显示每隔多少秒数来显示一次内存使用情况。

  -t:显示内存总和列。

  -o:不显示缓冲区调节列。

  4.应用实例

  free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。

  #free -b -s5

  使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。

  (28)quota

  1.作用

  quota命令用来显示磁盘使用情况和限制情况,使用权限超级用户。

  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 400000 41 500 1000 以上显示ID号为502的caojh账号,文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB。一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额。

  (29)at

  1.作用

  at命令用来在指定时刻执行指定的命令序列。

  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

  上面命令表示让系统在两天后的17:30执行文件data中指明的作业。

  (30)lp

  1.作用

  lp是打印文件的命令,使用权限是所有用户。

  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 (3 file(s))

  其中2、3、4分别是文件名;“request id is 11 (3 file(s)) ”表示这是第11个打印命令,依次打印这三个文件。

  (2)设定打印优先级别

  #lp lp -d LaserJet -p 90 /etc/aliases

  通过添加“-p 90”,规定了打印作业的优先级为90。它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业,缺省优先级是50

  (31)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这样的系统账号。

阅读(159) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~