Zhlw.com - 中华龙网

站长资讯通告:
搜索: 您的位置中华龙网 > 计算机网络 > 操作系统 > Linux > 文章列表

Linux 指令大全(2)

作者:bear  来源:转载  发布时间:2006-3-30 20:54:27
名称:more  
使用权限:所有使用者  
使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]  
说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。  
参数:-num 一次显示的行数  
-d 提示使用者,在画面下方显示 [Press space to continue, q to quit.] ,如果使用者按错键,则会显示 [Press h for instructions.] 而不是 哔 声  
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能  
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)  
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容  
-c 跟 -p 相似,不同的是先显示内容? 偾宄渌勺柿?nbsp; 
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行  
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)  
+/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示  
+num 从第 num 行开始显示  
fileNames 欲显示内容的档案,可为复数个数  
范例:  
more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。  
more +20 testfile 从第 20 行开始显示 testfile 之档案内容。  


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

使用方式:  

mv [options] source dest  
mv [options] source... directory  
说明:将一个档案移至另一档案,或将数个档案移至另一目录。  
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。  

范例:  
将档案 aaa 更名为 bbb :  
mv  aaa bbb  

将所有的C语言程式移至 Finished 子目录中 :  
mv -i *.c  



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

使用方式:rm [options] name...  

说明:删除档案及目录。  

把计  

-i 删除前逐一询问确认。  
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。  
-r 将目录及以下之档案亦逐一删除。  
范例:  
删除所有C语言程式档;删除前逐一询问确认 :  
rm -i *.c  

将 Finished 子目录及子目录中所有档案删除 :  
rm -r Finished  



名称:rmdir  
使用权限:于目前目录有适当权限的所有使用者  

使用方式: rmdir [-p] dirName  

说明: 删除空的目录。  

参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。  

范例:  
将工作目录下,名为 AAA 的子目录删除 :  
rmdir AAA  

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。  
rmdir -p BBB/Test  



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

使用方式:split [OPTION] [INPUT [PREFIX]]  

说明:  

将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。  

匡兜  

-b, --bytes=SIZE  

SIZE 值为每一输出档案的大小,单位为 byte。  
-C, --line-bytes=SIZE  

每一输出档中,单行的最大 byte 数。  
-l, --lines=NUMBER  

NUMBER 值为每一输出档的列数大小。  -NUMBER  

与 -l NUMBER 相同。  
- -verbose  

于每个输出档被开启前,列印出侦错资讯到标准错误输出。  
--help  

显示辅助资讯然后离开。  
--version  

列出版本资讯然后离开。  
SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。  

范例:  

PostgresSQL 大型资料库备份与回存:  

因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 dump 到单一的档案可能会有问题,使用 split进行档案分割。  


% pg_dump dbname | split -b 1m - filename.dump.  



重新载入  


% createdb dbname  
% cat filename.dump.* | pgsql dbname  



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

使用方式:  
touch [-acfm]  
[-r reference-file] [--file=reference-fi! le]  
[-t MMDDhhmm[[CC]YY][.ss]]  
[-d time] [--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 列出版本讯息。  


范例:  

最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。  

touch file  
touch file1 file2  

将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。  

touch -c -t 05061803 file  
touch -c -t 050618032000 file  

将 file 的时间记录改变成与 referencefile 一样。  

touch -r referencefile file  

将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。  

touch -d "6:03pm" file  
touch -d "05/06/2000" file  
touch -d "6:03pm 05/06/! 2000" file  

名称 : 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 : 一年? 械牡诩钢?nbsp;(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 --da! te 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 为∈保琩 为日数  

例子 :  
显示目前时间后延迟 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 --f! ormat=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)所花费的时间,单位是秒。&nbs! p; 
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&n! bsp;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 sy! stem 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&nbs! p;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/cs! h  



” 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  
单行显示。这个选项只显示登入名称,真实姓名,终端机名称,闲置时间,登入时间,办公室号码及电话号码。如果所查询的使用者? 窃抖怂欧鞯氖褂谜撸飧鲅∠钗扌А?nbsp; 

范例:下列指令可以查询本机管理员的资料:  
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&! nbsp;14 19:59 still logged in  

wtmp& nbsp;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 : 不要 

        用户名: 验证码: 验证码,看不清楚?请点击刷新验证码 (注“”为必填内容。)


文章评论: [ 查看全部 ] 网友评论
关于本站 - 网站帮助 - 广告合作 - 友情连接 - 网站地图