新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Linux系统命令指南

Linux系统命令指南

作者:时间:2011-05-27来源:网络收藏
在这里我们被告知,需要将 Another test. 这一行添加到 test.out,以便使它与 test2.out 相似。第一个字符 0 是要在 test.out 中编辑的行号;a 表示该行应该被添加到 test.out,以便与 test2.out 的第一行 1 相匹配。如果我们需要更改 test.out,则第二个字符也可以是 c,而如果我们需要从 test.out 中删除一些内容,则第二个字符是 d。

本文引用地址:http://www.eepw.com.cn/article/150703.htm

  您可能希望使一个文件与另一个文件相似,以便为某些代码提供补丁。diff 还经常作为分析工具,用于验证程序或脚本 — 例如 sed 脚本 — 的输出是否是所预期的输出。

  date 可用于显示或设置日期。如果用户具有超级用户权限,则他或她可以通过在以下中提供一个数字型字符串来设置日期:

  $ date 0101010004

  此将日期设置为 2004 年 (04) 1 月 1 日 (0101) 凌晨 1 时 (0100)。

  但是,任何用户可以用所需的格式来显示日期。注意在格式序列之前需要一个加号 +。如果没有出现此命令的预期输出,则尝试将它包含在单引号中:

  $ date +´%H%M%S´

  204748

  您可以在序列中包含空格,这时您需要使用双引号:

  $ date +%H %M %S

  20 47 51

  在日期的主页上列有三十多种不同的格式序列,这些序列可以按需要结合起来,以获得您最后的输出格式。

  date 的输出还可以用于脚本中,如:

  $ date -d ´2 day´

  Thu Jan 29 19:02:02 EST 2004

  -d 选项指示 date 显示其后字符串中所描述的时间。在上例中,我们要求显示从现在起(2004 年 1 月 27 日)两天后的日期。我们也可以要求显示三天前的日期,其命令为:

  $ date -d ´-3 day´

  Sun Jan 25 20:56:59 EST 2004

  date 多种功能的另一个示例是能够向其输出附加字符串,为生成唯一的文件名提供了一种便利的方法。

  $ ls -l | cat > $(date +ls_%d%b%y%H%M.out)

  $ ls ls_*.out

  ls_04Feb041633.out

  在这里,我们将一个长文件列表的输出传送给 cat,它将我们的输出再传送到一个名为 ls_04Feb041609.out 的文件。注意我们为文件名使用了一个变量,由美元符号 $ 表示。依次将 ls_ 和 .out 附加到日期,其格式为月份中的日 (%d)、本地的月份名称缩写 (%b)、年份的最后两位数字 (%y)、小时 (%H) 和分钟 (%M),从而产生此文件名。

  Sort 和 Uniq。 您可以从管道或从命令行所指定的文件对文本文件的行进行 sort 操作。除非另外指定,sort 对多列输出的第一列进行操作。在默认情况下,除非使用 -n 选项,数字型的列按字母顺序排序。

  Sort 列可以用两种不同的格式指定。如果使用 -k 选项,则列的位置从 1 开始进行编号。您还可以使用 +POS1 格式,从第一列编号为零开始进行列的编号。以下两个命令产生相同的输出:

  $ ls -l *.out | sort +5 -7

  $ ls -l *.out | sort -k 6,8

  -rw-rr 1 bluher users 375 Dec 5 2002 fdisk.out

  -rw-rr 1 bluher users 2447 Dec 28 20:15 ls.out

  -rw-rr 1 bluher users 590 Jan 4 21:24 greps.out

  -rw-rr 1 bluher users 78 Jan 4 21:25 sgrep.out

  ...

  在默认情况下,sort 命令的列分隔符是空格和制表符。可以使用 -t SEP 选项指定其他分隔符,其中 SEP 是您指定的分隔符号。sort 的默认顺序是从最低到最高,利用 -r 选项可以将顺序颠倒。

  Sort 可用于很多不同的任务。例如,它可用于对文件输出进行排序(如 /etc/passwd),或者如我们在下面所看到的那样,对 du 的输出进行排序。当使用 -m 选项时,sort 将文件合并,实际上并没有对它们进行排序。但是,如果您希望将它们排序,就应该在文件合并前对它们排序。

  Sort 经常与 uniq 命令一起使用,从已排序的文件中删除完全相同的行。uniq 命令在管道中经常跟在 sort 命令的后面,还可以使用 -c 选项来计算某一行所出现的次数,或者使用 -d 选项,只报告完全相同的行:

  $ sort -m test.out test2_sort.out | uniq -c

  1 Another test.

  1 Testing testing

  2 This is a test.

  在这里我们合并两个文件 test.out 和 test2_sort.out。然后我们使用 -c 选项,将输出传送到 uniq,这样最后的结果是按字母顺序排列的列表,完全相同的行被删除,并带有一个关于每行出现频率的报告。

  打印机控制

  在多数情况下,打印机命令的使用相对较为明确。通过在 lpr 命令后面指定文件名,将作业发送到打印机。如果没有提供文件名,则假定使用标准输入。使用 lpq 命令,您可以获得关于发送到打印机的作业的状态报告。当您指定作业号时,Lprm 将作业从行打印机后台打印队列中删除。

  $ lpr grep2.out

  $ lpq

  Printer:lp@linux ´lpdfilter drv=upp method=auto color=yes´

  Queue:1 printable job

  Server:pid 1929 active

  Unspooler:pid 1930 active

  Status:waiting for subserver to exit at 21:24:14.637

  Rank Owner/ID Class Job Files Size Time

  active bluher@linux+928 A 928 grep2.out 779 21:24:14

  done bluher A 877 (STDIN) 117258 13:09:53

  $ lprm 928

  Printer lp@linux:

  checking perms ´cfA928linux.local´

  dequeued ´cfA928linux.local´

  在这里,当我们将作业发送到打印机后,我们查询其状态。Lpq 向我们显示编号为 877 的作业已经完成,而我们刚发送的作业编号为 928。我们使用命令 lprm 928 将活动的作业从队列中删除。

  磁盘信息

  无论您是维护自己的还是支持具有很多用户的企业,监视磁盘空间都是管理员更重要的职责之一。du、df 和 fdisk 命令提供了可用磁盘空间的不同视图。

  du 命令提供对每个目录的文件空间使用情况的评估。在默认情况下,测量的单位是块的数目,块的大小通常在安装您的时确定。

  在以下的示例中,系统是使用 1024 字节的块安装的。如果没有指定目录,则 du 开始对当前目录进行计算。-h 选项以易于读懂的形式提供大小的值:

  $ du -h Documents

  105k Documents/jj

  573k Documents/John

  682k Documents

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


关键词: 指南 命令 系统 Linux

评论


相关推荐

技术专区

关闭