精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● Linux>>有待整理文章>>Linux 指令大全(2后续)

主题:Linux 指令大全(2后续)
发信人: r_hayes(Hayes)
整理人: qiaoqian(2002-05-13 06:53:33), 站内信件
名称 : date 
使用权限 : 所有使用者 

使用方式 : 

date [-u] [-d datestr] [-s datestr] [--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:00 UTC 到目前为止的秒数 
%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 为秒数 
把计 : 

-d datestr : 显示 datestr 中所设定的时间 (非系统时间) 
--help : 显示辅助讯息 
-s datestr : 将系统时间设为 datestr 中所设定的时间 
-u : 显示目前的格林威治时间 
--version : 显示版本编号 

例子 : 
显示时间后跳行,再显示目前日期 : 
date +%T%n%D 

显示月份与日数 : 
date +%B %d 

显示日期与设定时间(12:34:56) : 
date --date 12: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;sleep 1m;date 



名称: time 
使用权限: 所有使用者 

使用方式: time [options] COMMAND [arguments] 

说明: time 指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得这些资料。 

把计 

-o or --output=FILE 
设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。如果档案已经存在,系统将覆写其内容。 
-a or --append 
配合 -o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。 
-f FORMAT or --format=FORMAT 
以 FORMAT 字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变数 time 来设定这个格式,如此一来就不必每次登入系统都要设定一次。 
一般设定上,你可以用 
\t 
表示跳栏,或者是用 
\n 
表示换行。每一项资料要用 % 做为前导。如果要在字串中使用百分比符号,就用 。(学过 C 语言的人大概会觉得很熟悉) 
time 指令可以显示的资源有四大项,分别是: 

Time resources 
Memory resources 
IO resources 
Command info 

详细的内容如下: 


Time Resources 
E 执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的 CPU 时间。 
e 执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的 CPU 时间。 
S 指令执行时在核心模式(kernel mode)所花费的时间,单位是秒。 
U 指令执行时在使用者模式(user mode)所花费的时间,单位是秒。 
P 执行指令时 CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的 CPU 时间除以总时间。 


Memory Resources 
M 执行时所占用的实体记忆体的最大值。单位是 KB 
t 执行时所占用的实体记忆体的平均值,单位是 KB 
K 执行程序所占用的记忆体总量(stack+data+text)的平均大小,单位是 KB 
D 执行程序的自有资料区(unshared data area)的平均大小,单位是 KB 
p 执行程序的自有堆叠(unshared stack)的平均大小,单位是 KB 
X 执行程序间共享内容(shared text)的平均值,单位是 KB 
Z 系统记忆体页的大小,单位是 byte。对同一个系统来说这是个常数 


IO Resources 
F 此程序的主要记忆体页错误发生次数。所谓的主要记忆体页错误是指某一记忆体页已经置换到置换档(swap file)中,而且已经分配给其他程序。此时该页的内容必须从置换档里再读出来。 
R 此程序的次要记忆体页错误发生次数。所谓的次要记忆体页错误是指某一记忆体页虽然已经置换到置换档中,但尚未分配给其他程序。此时该页的内容并未被破坏,不必从置换档里读出来 
W 此程序被交换到置换档的次数 
c 此程序被强迫中断(像是分配到的 CPU 时间耗尽)的次数 
w 此程序自愿中断(像是在等待某一个 I/O 执行完毕,像是磁碟读取等等)的次数 
I 此程序所输入的档案数 
O 此程序所输出的档案数 
r 此程序所收到的 Socket Message 
s 此程序所送出的 Socket Message 
k 此程序所收到的信号 ( Signal )数量 


Command Info 
C 执行时的参数以及指令名称 
x 指令的结束代码 ( Exit Status ) 




-p or --portability 
这个选项会自动把显示格式设定成为: 
real %e 
user %U 
sys %S 
这么做的目的是为了与 POSIX 规格相容。 
-v or --verbose 
这个选项会把所有程式中用到的资源通通列出来,不但如一般英文语句,还有说明。对不想花时间去熟习格式设定或是刚刚开始接触这个指令的人相当有用。 

范例: 
利用下面的指令 
time -v ps -aux 

我们可以获得执行 ps -aux 的结果和所花费的系统资源。如下面所列的资料: 
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init 
root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd] 
root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod] 
...... 
root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux 

Command being timed: "ps -aux" 
User time (seconds): 0.05 
System time (seconds): 0.06 
Percent of CPU this job got: 68% 
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16 
Average shared text size (kbytes): 0 
Average unshared data size (kbytes): 0 
Average stack size (kbytes): 0 
Average total size (kbytes): 0 
Maximum resident set size (kbytes): 0 
Average resident set size (kbytes): 0 
Major (requiring I/O) page faults: 238 
Minor (reclaiming a frame) page faults: 46 
Voluntary context switches: 0 
Involuntary context switches: 0 
Swaps: 0 
File system inputs: 0 
File system outputs: 0 
Socket messages sent: 0 
Socket messages received: 0 
Signals delivered: 0 
Page size (bytes): 4096 
Exit status: 0 



名称: uptime 
使用权限: 所有使用者 
使用方式: uptime [-V] 
说明: uptime 提供使用者下面的资讯,不需其他参数: 

现在的时间 
系统开机运转到现在经过的时间 
连线的使用者数量 
最近一分钟,五分钟和十五分钟的系统负载 
参数: -V 显示版本资讯。 
范例: uptime 
其结果为: 
10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99 

名称:chfn 

使用权限:所有使用者 

用法:shell>> chfn 

说明:提供使用者更改个人资讯,用于 finger and mail username 

范例: 

shell>> chfn 
Changing finger information for user 
Password: [del] 
Name[]:Johnney Huang ### 提供 finger 时的资料 
Office[]:NCCU 
Office Phone[]: [del] 
Home Phone[]: [del] 


名称:chsh 

使用权限:所有使用者 

用法:shell>> chsh 

说明:更改使用者 shell 设定 

范例: 

shell>> chsh 
Changing fihanging shell for user1 
Password: [del] 
New shell [/bin/tcsh]: ### [是目前使用的 shell] 
[del] 

shell>> chsh -l ### 展示 /etc/shells 档案内容 
/bin/bash 
/bin/sh 
/bin/ash 
/bin/bsh 
/bin/tcsh 
/bin/csh 



” finger [返回] 
名称: finger 
使用权限: 所有使用者 

使用方式: finger [options] user[@address] 

说明:finger 可以让使用者查询一些其他使用者的资料。会列出来的资料有: 

Login Name 
User Name 
Home directory 
Shell 
Login status 
mail status 
.plan 
.project 
.forward 

其中 .plan ,.project 和 .forward 就是使用者在他的 Home Directory 里的 .plan , .project 和 .forward 等档案里的资料。如果没有就没有。finger 指令并不限定于在同一伺服器上查询,也可以寻找某一个远端伺服器上的使用者。只要给一个像是 E-mail address 一般的地址即可。 
把计 

-l 
多行显示。 

-s 
单行显示。这个选项只显示登入名称,真实姓名,终端机名称,闲置时间,登入时间,办公室号码及电话号码。如果所查询的使用者是远端伺服器的使用者,这个选项无效。 

范例:下列指令可以查询本机管理员的资料: 
finger root 

其结果如下: 
Login: root Name: root 
Directory: /root Shell: /bin/bash 
Never logged in. 
No mail. 
No Plan. 




名称:last 

使用权限:所有使用者 

使用方式:shell>> last [options] 

说明:显示系统开机以来获是从每月初登入者的讯息 

把计 

-R 省略 hostname 的栏位 
-num 展示前 num 个 
username 展示 username 的登入讯息 
tty 限制登入讯息包含终端机代号 

范例: 

shell>> last -R -2 
johnney pts/1 Mon Aug 14 20:42 still logged in 
johnney pts/0 Mon Aug 14 19:59 still logged in 

wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp 


shell>> last -2 minery 
minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03) 
minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02) 

wtmp begins Tue Aug 1 09:01:10 2000 




名称:login 

这个命令都不会就不要干算了!呵呵我也不在这里多费笔墨耽误大家美好青春了^_^ 



名称:passwd 

使用权限:所有使用者 

使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username] 

说明:用来更改使用者的密码 

参数: 
-k 

-l 

-u 

-f 

-d 关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用. 

-S 显示指定使用者的密码认证种类, 只有具备 root 权限的使用者方可使用. 

[username] 指定帐号名称. 



名称 : who 
使用权线 : 所有使用者都可使用 

使用方式 : who - [husfV] [user] 

说明 : 显示系统中有那些使用者正在上面,显示的资料包含了使用者 ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU 使用量,动作等等。 

把计 : 

-h : 不要 


----

                    灌灌 
                    灌灌 
                    灌灌 
                    灌灌          灌灌 
                    灌灌      灌灌灌 
    灌灌灌灌灌灌灌  灌灌  灌灌灌 
      灌灌灌灌灌灌灌灌灌灌灌灌 
                灌灌灌灌灌灌 
               灌灌灌灌灌灌灌  
              灌灌  灌灌  灌灌 
             灌灌   灌灌    灌灌 
            灌灌    灌灌      灌灌 
          灌灌      灌灌      灌灌灌 
          灌灌      灌灌        灌灌灌灌 
        灌灌        灌灌        灌灌灌灌灌 
      灌灌          灌灌          灌灌灌灌灌  
    灌灌            灌灌            灌灌 
                灌灌灌灌 
                  灌灌灌 
                    灌    

[关闭][返回]