名称:touch
使用权限:所有使用者
使用方式:
touch[-acfm]
[-rreference-file][--file=reference-file]
[-tMMDDhhmm[[CC]YY][.ss]]
[-dtime][--date=time][--time={atime,access,use,mtime,modify}]
[--no-create][--help][--version]
file1[file2...]
说明:
touch指令改变档案的时间记录。ls-l可以显示档案的时间记录。
参数:
a改变档案的读取时间记录。
m改变档案的修改时间记录。
c假如目的档案不存在,不会建立新的档案。与--no-create的效果一样。
f不使用,是为了与其他unix系统的相容性而保留。
r使用参考档的时间记录,与--file的效果一样。
d设定时间与日期,可以使用各种不同的格式。
t设定档案的时间记录,格式与date指令相同。
--no-create不会建立新档案。
--help列出指令格式。
--version列出版本讯息。
范例:
最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。
touchfile
touchfile1file2
将file的时间记录改为5月6日18点3分,公元两千年。时间的格式可以参考date指令,至少需输入MMDDHHmm,就是月日时与分。
touch-c-t05061803file
touch-c-t050618032000file
将file的时间记录改变成与referencefile一样。
touch-rreferencefilefile
将file的时间记录改成5月6日18点3分,公元两千年。时间可以使用am,pm或是24小时的格式,日期可以使用其他格式如6May2000。
touch-d"6:03pm"file
touch-d"05/06/2000"file
touch-d"6:03pm05/06/2000"file
名称:at
使用权限:所有使用者
使用方式:at-V[-qqueue][-ffile][-mldbv]TIME
说明:at可以让使用者指定在TIME这个特定时刻执行某个程式或指令,TIME的格式是HH:MM其中的HH为小时,MM为分钟,甚至你也可以指定am,pm,midnight,noon,teatime(就是下午4点锺)等口语词。
如果想要指定超过一天内的时间,则可以用MMDDYY或者MM/DD/YY的格式,其中MM是分钟,DD是第几日,YY是指年份。另外,使用者甚至也可以使用像是now+时间间隔来弹性指定时间,其中的时间间隔可以是minutes,hours,days,weeks
另外,使用者也可指定today或tomorrow来表示今天或明天。当指定了时间并按下enter之后,at会进入交谈模式并要求输入指令或程式,当你输入完后按下ctrl+D即可完成所有动作,至于执行的结果将会寄回你的帐号中。
-V:印出版本编号
-q:使用指定的伫列(Queue)来储存,at的资料是存放在所谓的queue中,使用者可以同时使用多个queue,而queue的编号为a,b,c...z以及A,B,...Z共52个
-m:即使程式/指令执行完成后没有输出结果,也要寄封信给使用者
-ffile:读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入
-l:列出所有的指定(使用者也可以直接使用atq而不用at-l)
-d:删除指定(使用者也可以直接使用atrm而不用at-d)
-v:列出所有已经完成但尚未删除的指定
例子:
三天后的下午5点锺执行/bin/ls:
at5pm+3days/bin/ls
三个星期后的下午5点锺执行/bin/ls:
at5pm+2weeks/bin/ls
明天的17:20执行/bin/date:
at17:20tomorrow/bin/date
1999年的最后一天的最后一分钟印出theendofworld!
at23:5912/31/1999echotheendofworld!
名称:cal
使用权限:所有使用者
使用方式:cal[-mjy][month[year]]
说明:
显示日历。若只有一个参数,则代表年份(1-9999),显示该年的年历。年份必须全部写出:``cal89将不会是显示1989年的年历。使用两个参数,则表示月份及年份。若没有参数则显示这个月的月历。
1752年9月第3日起改用西洋新历,因这时大部份的国家都采用新历,有10天被去除,所以该月份的月历有些不同。在此之前为西洋旧历。
匡兜:
-m:以星期一为每周的第一天方式显示。
-j:以凯撒历显示,即以一月一日起的天数显示。
-y:显示今年年历。
范例:
cal:显示本月的月历。
[root@mylinux/root]#date
TueAug1508:00:18CST2000
[root@mylinux/root]#cal
August2000
SuMoTuWeThFrSa
12345
6789101112
13141516171819
20212223242526
2728293031
[root@mylinux/root]#
cal2001:显示公元2001年年历。
[root@mylinux/root]#cal2001
2001
JanuaryFebruaryMarch
SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
123456123123
789101112134567891045678910
141516171819201112131415161711121314151617
212223242526271819202122232418192021222324
282930312526272825262728293031
AprilMayJune
SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
12345671234512
89101112131467891011123456789
151617181920211314151617181910111213141516
222324252627282021222324252617181920212223
2930272829303124252627282930
JulyAugustSeptember
SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
123456712341
8910111213145678910112345678
15161718192021121314151617189101112131415
222324252627281920212223242516171819202122
29303126272829303123242526272829
30
OctoberNovemberDecember
SuMoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSa
1234561231
78910111213456789102345678
14151617181920111213141516179101112131415
212223242526271819202122232416171819202122
2829303125262728293023242526272829
3031
[root@mylinux/root]#
cal52001:显示公元2001年5月月历。
[root@mylinux/root]#cal52001
May2001
SuMoTuWeThFrSa
12345
6789101112
13141516171819
20212223242526
2728293031
[root@mylinux/root]#
cal-m:以星期一为每周的第一天方式,显示本月的月历。
[root@mylinux/root]#cal-m
August2000
MoTuWeThFrSaSu
123456
78910111213
14151617181920
21222324252627
28293031
[root@mylinux/root]#
cal-jy:以一月一日起的天数显示今年的年历。
[root@mylinux/root]#cal-jy
2000
JanuaryFebruary
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
13233343536
234567837383940414243
910111213141544454647484950
1617181920212251525354555657
23242526272829585960
3031
MarchApril
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
6162636492
6566676869707193949596979899
72737475767778100101102103104105106
79808182838485107108109110111112113
868788899091114115116117118119120
121
MayJune
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
122123124125126127153154155
128129130131132133134156157158159160161162
135136137138139140141163164165166167168169
142143144145146147148170171172173174175176
149150151152177178179180181182
JulyAugust
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
183214215216217218
184185186187188189190219220221222223224225
191192193194195196197226227228229230231232
198199200201202203204233234235236237238239
205206207208209210211240241242243244
212213
SeptemberOctober
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
245246275276277278279280281
247248249250251252253282283284285286287288
254255256257258259260289290291292293294295
261262263264265266267296297298299300301302
268269270271272273274303304305
NovemberDecember
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
306307308309336337
310311312313314315316338339340341342343344
317318319320321322323345346347348349350351
324325326327328329330352353354355356357358
331332333334335359360361362363364365
366
[root@mylinux/root]#
名称:crontab
使用权限:所有使用者
使用方式:
crontab[-uuser]filecrontab[-uuser]{-l|-r|-e}
说明:
crontab是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-uuser是指设定指定user的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。如果不使用-uuser的话,就是表示设定自己的时程表。
参数:
-e:执行文字编辑器来设定时程表,内定的文字编辑器是VI,如果你想用别的文字编辑器,则请先设定VISUAL环境变数来指定使用那个文字编辑器(比如说setenvVISUALjoe)
-r:删除目前的时程表
-l:列出目前的时程表
时程表的格式如下:
f1f2f3f4f5program
其中f1是表示分钟,f2表示小时,f3表示一个月份中的第几日,f4表示月份,f5表示一个星期中的第几天。program表示要执行的程式。
当f1为*时表示每分钟都要执行program,f2为*时表示每小时都要执行程式,其余类推
当f1为a-b时表示从第a分钟到第b分钟这段时间内要执行,f2为a-b时表示从第a到第b小时都要执行,其余类推
当f1为*/n时表示每n分钟个时间间隔执行一次,f2为*/n表示每n小时个时间间隔执行一次,其余类推
当f1为a,b,c,...时表示第a,b,c,...分钟要执行,f2为a,b,c,...时表示第a,b,c...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案file中,用crontabfile的方式来设定时程表。
例子:
每月每天每小时的第0分钟执行一次/bin/ls:
07***/bin/ls
在12月内,每天的早上6点到12点中,每隔20分钟执行一次/usr/bin/backup:
06-12/3*12*/usr/bin/backup
周一到周五每天下午5:00寄一封信给alex@domain.name:
017**1-5mail-s"hi"alex@domain.name</tmp/maildata
每月每天的午夜0点20分,2点20分,4点20分....执行echo"haha"
200-23/2***echo"haha"
注意:
当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上>/dev/null2>&1即可。
名称:date
使用权限:所有使用者
使用方式:
date[-u][-ddatestr][-sdatestr][--utc][--universal][--date=datestr][--set=datestr][--help][--version][+FORMAT][MMDDhhmm[[CC]YY][.ss]]
说明:
date可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:
时间方面:
%:印出%
%n:下一行
%t:跳格
%H:小时(00..23)
%I:小时(01..12)
%k:小时(0..23)
%l:小时(1..12)
%M:分钟(00..59)
%p:显示本地AM或PM
%r:直接显示时间(12小时制,格式为hh:mm:ss[AP]M)
%s:从1970年1月1日00:00:00UTC到目前为止的秒数
%S:秒(00..61)
%T:直接显示时间(24小时制)
%X:相当于%H:%M:%S
%Z:显示时区
日期方面:
%a:星期几(Sun..Sat)
%A:星期几(Sunday..Saturday)
%b:月份(Jan..Dec)
%B:月份(January..December)
%c:直接显示日期与时间
%d:日(01..31)
%D:直接显示日期(mm/dd/yy)
%h:同%b
%j:一年中的第几天(001..366)
%m:月份(01..12)
%U:一年中的第几周(00..53)(以Sunday为一周的第一天的情形)
%w:一周中的第几天(0..6)
%W:一年中的第几周(00..53)(以Monday为一周的第一天的情形)
%x:直接显示日期(mm/dd/yy)
%y:年份的最后两位数字(00.99)
%Y:完整年份(0000..9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为MMDDhhmm[[CC]YY][.ss],其中MM为月份,DD为日,hh为小时,mm为分钟,CC为年份前两位数字,YY为年份后两位数字,ss为秒数
-ddatestr:显示datestr中所设定的时间(非系统时间)
--help:显示辅助讯息
-sdatestr:将系统时间设为datestr中所设定的时间
-u:显示目前的格林威治时间
--version:显示版本编号
例子:
显示时间后跳行,再显示目前日期:
date+%T%n%D
显示月份与日数:
date+%B%d
显示日期与设定时间(12:34:56):
date--date12:34:56
注意:
当你不希望出现无意义的0时(比如说1999/03/07),则可以在标记中插入-符号,比如说date+%-H:%-M:%-S会把时分秒中无意义的0给去掉,像是原本的08:09:04会变为8:9:4。另外,只有取得权限者(比如说root)才能设定系统时间。
当你以root身分更改了系统时间之后,请记得以clock-w来将系统时间写入CMOS中,这样下次重新开机时系统时间才会持续抱持最新的正确值。
名称:sleep
使用权限:所有使用者
使用方式:sleep[--help][--version]number[smhd]
说明:sleep可以用来将目前动作延迟一段时间
参数说明:
--help:显示辅助讯息
--version:显示版本编号
number:时间长度,后面可接s,m,h或d
其中s为秒,m为分钟,h为小时,d为日数
例子:
显示目前时间后延迟1分钟,之后再次显示时间:
date;sleep1m;date
名称:time
使用权限:所有使用者
使用方式:time[options]COMMAND[arguments]
说明:
time指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如CPU时间,记忆体,输入输出等等。需要特别注意的是,部分资讯在Linux上显示不出来。这是因为在Linux上部分资源的分配函式与time指令所预设的方式并不相同,以致于time指令无法取得这些资料。
-oor--output=FILE
设定结果输出档。这个选项会将time的输出写入所指定的档案中。如果档案已经存在,系统将覆写其内容。
-aor--append
配合-o使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。
-fFORMATor--format=FORMAT
以FORMAT字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变数time来设定这个格式,如此一来就不必每次登入系统都要设定一次。
一般设定上,你可以用
t
表示跳栏,或者是用
n
表示换行。每一项资料要用%做为前导。如果要在字串中使用百分比符号,就用.(学过C语言的人大概会觉得很熟悉)
time指令可以显示的资源有四大项,分别是:
Timeresources
Memoryresources
IOresources
Commandinfo
详细的内容如下:
TimeResources
E执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的CPU时间。
e执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的CPU时间。
S指令执行时在核心模式(kernelmode)所花费的时间,单位是秒。
U指令执行时在使用者模式(usermode)所花费的时间,单位是秒。
P执行指令时CPU的占用比例。其实这个数字就是核心模式加上使用者模式的CPU时间除以总时间。
MemoryResources
M执行时所占用的实体记忆体的最大值。单位是KB
t执行时所占用的实体记忆体的平均值,单位是KB
K执行程序所占用的记忆体总量(stack+data+text)的平均大小,单位是KB
D执行程序的自有资料区(unshareddataarea)的平均大小,单位是KB
p执行程序的自有堆叠(unsharedstack)的平均大小,单位是KB
X执行程序间共享内容(sharedtext)的平均值,单位是KB
Z系统记忆体页的大小,单位是byte。对同一个系统来说这是个常数
IOResources
F此程序的主要记忆体页错误发生次数。所谓的主要记忆体页错误是指某一记忆体页已经置换到置换档(swapfile)中,而且已经分配给其他程序。此时该页的内容必须从置换档里再读出来。
R此程序的次要记忆体页错误发生次数。所谓的次要记忆体页错误是指某一记忆体页虽然已经置换到置换档中,但尚未分配给其他程序。此时该页的内容并未被破坏,不必从置换档里读出来
W此程序被交换到置换档的次数
c此程序被强迫中断(像是分配到的CPU时间耗尽)的次数
w此程序自愿中断(像是在等待某一个I/O执行完毕,像是磁碟读取等等)的次数
I此程序所输入的档案数
O此程序所输出的档案数
r此程序所收到的SocketMessage
s此程序所送出的SocketMessage
k此程序所收到的信号(Signal)数量
CommandInfo
C执行时的参数以及指令名称
x指令的结束代码(ExitStatus)
-por--portability
这个选项会自动把显示格式设定成为:
real%e
user%U
sys%S
这么做的目的是为了与POSIX规格相容。
-vor--verbose
这个选项会把所有程式中用到的资源通通列出来,不但如一般英文语句,还有说明。对不想花时间去熟习格式设定或是刚刚开始接触这个指令的人相当有用。
范例:
利用下面的指令
time-vps-aux
我们可以获得执行ps-aux的结果和所花费的系统资源。如下面所列的资料:
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
root10.00.41096472?SApr190:04init
root20.00.000?SWApr190:00[kflushd]
root30.00.000?SWApr190:00[kpiod]
......
root242690.01.02692996pts/3R12:160:00ps-aux
Commandbeingtimed:"ps-aux"
Usertime(seconds):0.05
Systemtime(seconds):0.06
PercentofCPUthisjobgot:68%
Elapsed(wallclock)time(h:mm:ssorm:ss):0:00.16
Averagesharedtextsize(kbytes):0
Averageunshareddatasize(kbytes):0
Averagestacksize(kbytes):0
Averagetotalsize(kbytes):0
Maximumresidentsetsize(kbytes):0
Averageresidentsetsize(kbytes):0
Major(requiringI/O)pagefaults:238
Minor(reclaimingaframe)pagefaults:46
Voluntarycontextswitches:0
Involuntarycontextswitches:0
Swaps:0
Filesysteminputs:0
Filesystemoutputs:0
Socketmessagessent:0
Socketmessagesreceived:0
Signalsdelivered:0
Pagesize(bytes):4096
Exitstatus:0
使用权限:所有使用者
使用方式:uptime[-V]
说明:uptime提供使用者下面的资讯,不需其他参数:
现在的时间
系统开机运转到现在经过的时间
连线的使用者数量
最近一分钟,五分钟和十五分钟的系统负载
参数:-V显示版本资讯。
范例:uptime
其结果为:
10:41amup5days,10min,1users,loadaverage:0.00,0.00,1.99