微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Linux系统命令指南

Linux系统命令指南

时间:05-27 来源:互联网 点击:

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 将活动的作业从队列中删除。

磁盘信息

无论您是维护自己的系统还是支持具有很多用户的企业,监视磁盘空间都是系统管

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top