LINUX指令集介绍

8 篇文章 0 订阅

本文是LINUX指令及应用。现在学习嵌入式LINUX的使用,首先我才知道我对指令集的不了解。还是要多补课的呀!


引自:http://jsjzx.cqit.edu.cn/neow/webs/zljj/1(all).htm#78

linux指令大全(阅览 <script src="../netsafe/notes/count.htm" type="text/javascript"></script> 次)

linux指令大全

档案目录管理

日期与时间编程

使用者咨询与管理


讯息传送与信件管理

工作进程查询与管理

字符串处理

tr
    

终端机管理

    

压缩打包

文件打印

磁片工具

设备管理

文件系统

使用者管理

su
   

起始管理

dos兼容指令

名称:cat
使用权限:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
范例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容
cat 也可以用来制作 image file。例如要制作软碟的 image file,将软碟放好后打
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软碟,请打
cat IMG_FILE > /dev/fd0
注:
1. OUTFILE 指输出的 image 档名。
2. IMG_FILE 指 image file。
3. 若从 image file 写回 device 时,device 容量需与相当。
4. 通常用在制作开机磁片。

 

名称 : cd
使用权限 : 所有使用者
使用方式 : cd [dirName]
说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
范例 : 跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home directory :
cd ~
跳到目前目录的上上两层 :
cd ../..
cd - 返回进入当前目录前所在目录

 

指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
若用chmod 4755 filename可使此程序具有root的权限

 

指令名称 : chown
使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工操作系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
参数 :
user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *

 

名称:cp
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
参数:
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程序拷贝至 Finished 子目录中 :
cp *.c Finished

 

名称:cut
使用权限:所有使用者
用法:cut -cnum1-num2 filename
说明:显示每行从开头算起 num1 到 num2 的文字。
范例:
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 开头算起前 6 个字元
test2
this i
cut其实很有用
-c m-n 表示显示每一行的第m个字元到第n个字元。例如:
---------file-----------
liubi 23 14000
---------file-----------
# cut -c 3-9,12-20 file
liubi 14000
-f m-n 表示显示第m栏到第n栏(使用tab分隔)。例如:
---------file-----------
liubi 23 14000
---------file-----------
# cut -f 1,3 file
liubi 14000

 

名称 : find
用法 : find
使用说明 :
将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。
find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比档案 file 更晚被读取过的档案
-atime n : 在过去 n 天过读取过的档案
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比档案 file 更新的档案
-ctime n : 在过去 n 天过修改过的档案
-empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
-name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
-size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。
d: 目录
c: 字型装置档案
b: 区块装置档案
p: 具名贮列
f: 一般档案
l: 符号连结
s: socket
-pid n : process id 是 n 的档案
你可以使用 ( ) 将运算式分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例:
将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"
将目前目录其其下子目录中所有一般档案列出
# find . -ftype f
将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
# find . -ctime -20
find . -name "*" -exec grep xxx {} ; -print |morexxx为你想要找的字符串

 

指令名称 : ln
使用权限 : 所有使用者
使用方式 : ln [options] source dist,其中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
参数 :
-f : 链结时先将与 dist 同档名的档案删除-d : 允许系统管理者硬链结自己的目录-i : 在删除与 dist 同档名的档案时先进行询问-n : 在进行软连结时,将 dist 视为一般的档案-s : 进行软链结(symbolic link)-v : 在连结之前显示其档名-b : 将在链结时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾-V METHOD : 指定备份的方式--help : 显示辅助说明--version : 显示版本
范例 :
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz
将档案 yy 产生一个 hard link : zz
ln yy xx

 

名称:locate
使用权限:所有使用者
使用方式: locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [--version] [--help]
说明:
  locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
  在一般的 distribution 之中,数据库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用
# locate your_file_name
的型式就可以了。 参数:
-u
-U
建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
-e 将 排除在寻找的范围之外。
-l
如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
-f
将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在数据库中。
-q
安静模式,不会显示任何错误讯息。

-n
至多显示 个输出。
-r
使用正规运算式 做寻找的条件。
-o
指定数据库存的名称。
-d
指定数据库的路径
-h
显示辅助讯息
-v
显示更多的讯息
-V
显示程序的版本讯息 范例:
locate chdrv : 寻找所有叫 chdrv 的档案
locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个
locate -u : 建立数据库
  locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
  locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如"*"或"?"等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。
  locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
  不过第一次在执行update後再使用locate寻找档案常会失败,此时就要执行slocate ˉu该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由locate到此数据库寻找所要找的资料。

名称 : ls
使用权限 : 所有使用者
使用方式 : ls [-alrtAFR] [name...]
说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数 :
-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出
范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr s*
将 /bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
ls -AF

 

名称: mkdir
使用权限:于目前目录有适当权限的所有使用者
使用方式:mkdir [-p] dirName
说明:建立名称为 dirName 之子目录。
参数:-p 确保目录名称存在,不存在的就建一个。
范例:
在工作目录下,建立一个名为 AAA 的子目录 :
mkdir AAA
在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
mkdir -p BBB/Test

名称: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 相似,不同的是先显示内容再清除其他旧资料
-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-file]
[-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
touch 也可以制造一个空档(0 byte).例如DHCP Server所需的/etc/dhcpd.leases,dhcpd 必须要有这个档案才能运作正常.[root@/root]#touch /etc/dhcpd.leases[root@/root]#ls -l /etc/dhcpd.leases-rw-r--r-- 1 root root 0 Jul 3 05:50 /etc/dhcpd.leases
记得上一次重灌前把/etc下的设定档tar起来,重灌好之后把原有设定还原,却发现系统检查设定档的时间有问题,这个时候用
find /etc -name * -exec touch {};
就可以把设定档的时间更新到与现在一致了。

 

名称 : at
使用权限 : 所有使用者
使用方式 : at -V [-q queue] [-f file] [-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 : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者
-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入
-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)
-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)
-v : 列出所有已经完成但尚未删除的指定
例子 :
三天后的下午 5 点锺执行 /bin/ls :
at 5pm + 3 days /bin/ls
三个星期后的下午 5 点锺执行 /bin/ls :
at 5pm + 2 weeks /bin/ls
明天的 17:20 执行 /bin/date :
at 17:20 tomorrow /bin/date
1999 年的最后一天的最后一分钟印出 the end of world !
at 23:59 12/31/1999 echo the end of world

名称:cal
使用权限:所有使用者
使用方式:cal [-mjy] [month [year]]
说明:
显示日历。若只有一个参数,则代表年份(1-9999),显示该年的年历。年份必须全部写出:``cal 89'' 将不会是显示 1989 年的年历。使用两个参数,则表示月份及年份。若没有参数则显示这个月的月历。
1752 年 9 月第 3 日起改用西洋新历,因这时大部份的国家都采用新历,有 10 天被去除,所以该月份的月历有些不同。在此之前为西洋旧历。
选项:
-m : 以星期一为每周的第一天方式显示。
-j : 以凯撒历显示,即以一月一日起的天数显示。
-y : 显示今年年历。
范例:
cal : 显示本月的月历。
[root@mylinux /root]# date
Tue Aug 15 08:00:18 CST 2000
[root@mylinux /root]# cal
August 2000
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
[root@mylinux /root]#
cal 2001 : 显示公元 2001 年年历。
[root@mylinux /root]# cal 2001
2001
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31
[root@mylinux /root]#
cal 5 2001 : 显示公元 2001 年 5 月月历。
[root@mylinux /root]# cal 5 2001
May 2001
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
[root@mylinux /root]#
cal -m : 以星期一为每周的第一天方式,显示本月的月历。
[root@mylinux /root]# cal -m
August 2000
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
[root@mylinux /root]#
cal -jy : 以一月一日起的天数显示今年的年历。
[root@mylinux /root]# cal -jy
2000
January February
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
1 32 33 34 35 36
2 3 4 5 6 7 8 37 38 39 40 41 42 43
9 10 11 12 13 14 15 44 45 46 47 48 49 50
16 17 18 19 20 21 22 51 52 53 54 55 56 57
23 24 25 26 27 28 29 58 59 60
30 31
March April
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
61 62 63 64 92
65 66 67 68 69 70 71 93 94 95 96 97 98 99
72 73 74 75 76 77 78 100 101 102 103 104 105 106
79 80 81 82 83 84 85 107 108 109 110 111 112 113
86 87 88 89 90 91 114 115 116 117 118 119 120
121
May June
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
122 123 124 125 126 127 153 154 155
128 129 130 131 132 133 134 156 157 158 159 160 161 162
135 136 137 138 139 140 141 163 164 165 166 167 168 169
142 143 144 145 146 147 148 170 171 172 173 174 175 176
149 150 151 152 177 178 179 180 181 182
July August
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
183 214 215 216 217 218
184 185 186 187 188 189 190 219 220 221 222 223 224 225
191 192 193 194 195 196 197 226 227 228 229 230 231 232
198 199 200 201 202 203 204 233 234 235 236 237 238 239
205 206 207 208 209 210 211 240 241 242 243 244
212 213
September October
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
245 246 275 276 277 278 279 280 281
247 248 249 250 251 252 253 282 283 284 285 286 287 288
254 255 256 257 258 259 260 289 290 291 292 293 294 295
261 262 263 264 265 266 267 296 297 298 299 300 301 302
268 269 270 271 272 273 274 303 304 305
November December
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
306 307 308 309 336 337
310 311 312 313 314 315 316 338 339 340 341 342 343 344
317 318 319 320 321 322 323 345 346 347 348 349 350 351
324 325 326 327 328 329 330 352 353 354 355 356 357 358
331 332 333 334 335 359 360 361 362 363 364 365
366

 

名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数 :
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 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 中,用 crontab file 的方式来设定时程表。
例子 :
每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

名称 : 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 来设定这个格式,如此一来就不必每次登入系统都要设定一次。
一般设定上,你可以用 ' '
表示跳栏,或者是用 '
'
表示换行。每一项资料要用 % 做为前导。如果要在字串中使用百分比符号,就用 。(学过 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 [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

 

名称: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 : 不要显示标题列
-u : 不要显示使用者的动作/工作
-s : 使用简短的格式来显示
-f : 不要显示使用者的上线位置
-V : 显示程序版本

名称:/etc/aliases
使用权限:系统管理者
使用方式: 请用 newaliases 更新数据库
说明:
sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫 redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程序负责分送的工作。
/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的数据库。范例:
# newaliases
下面命令会做相同的事,
# sendmail -bi
相关命令:
mail, mailq, newaliases, sendmail

名称:mail
使用权限:所有使用者
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
说明:
mail 不仅只是一个指令, mail 还是一个电子邮件程序,不过利用 mail 来读信的人应该很少吧!对于系统管理者来说 mail 就很有用,因为管理者可以用 mail 写成 script ,定期寄一些备忘录提醒系统的使用者。
参数:
i 忽略 tty 的中断讯号。 (interrupt)
I 强迫设成互动模式。 (Interactive)
v 列印出讯息,例如送信的地点、状态等等。 (verbose)
n 不读入 mail.rc 设定档。
s 邮件标题。
c cc 邮件地址。
b bcc 邮件地址。
范例:
将信件送给一个或以上的电子邮件地址,由于没有加入其他的选项,使用者必须输入标题与信件的内容等。而 user2 没有主机位置,就会送给邮件服务器的 user2 使用者。
mail user1@email.address
mail user1@email.address user2

 

名称:mailq
使用权限:所有使用者
使用方式:
说 明:显示待寄邮件的清单。包括邮件ID]、邮件大小、邮件储存时间、寄信人、收信人,以及邮件无法寄出的原因。参 数:-v :显示较详细的资讯。 范 例:列出待寄邮件清单:→ mailq

 

指令:mesg
使用权限 : 所有使用者
使用方式 : mesg [y|n]
说明 : 决定是否允许其他人传讯息到自己的终端机介面
参数 :
y : 允许讯息传到终端机介面上。
n : 不允许讯息传到终端机介面上 。
如果没有设定,则讯息传递与否则由终端机界面目前状态而定。
例子 :
改变目前讯息设定,改成不允许讯息传到终端机介面上 :
mesg n
与 mesg 相关的指令有: talk,write,wall。

 

名称:/etc/aliases
使用权限:系统管理者
使用方式: newaliases
说明:
sendmail 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫 redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程序负责分送的工作。
/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的数据库。
参数:没有任何参数。 范例:
# newaliases
下面命令会做相同的事,
# sendmail -bi
相关命令:
mail, mailq, newaliases, sendmail

 

名称 : talk
使用权限 : 所有使用者
使用方式 :
talk person [ttyname]
说明 : 与其他使用者对谈
参数 :
person : 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入 person@machine.name
ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
例子.1 :
与现在机器上的使用者Rollaend对谈,此时 Rollaend 只有一个连线 :
talk Rollaend
接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk jzlee`即可开始对谈,结束请按 ctrl+c
例子.2 :与linuxfab.cx上的使用者Rollaend对谈,使用pts/2来对谈 :
talk Rollaend@linuxfab.cx pts/2
接下来就是等Rollaend回应,若Rollaend接受,则Rollaend输入 `talk jzlee@jzlee.home`即可开始对谈,结束请按 ctrl+c
注意 : 若萤幕的字会出现不正常的字元,试著按 ctrl+l 更新萤幕画面。

名称 : wall
使用权限 : 所有使用者
使用方式 :
wall [ message ]
使用说明:
wall 会将讯息传给每一个 mesg 设定为 yes 的上线使用者。当使用终端机介面做为标准传入时, 讯息结束时需加上 EOF (通常用 Ctrl+D)。
例子 :
传讯息"hi" 给每一个使用者 :
wall hi

 

名称 : write
使用权限 : 所有使用者
使用方式 :
write user [ttyname]
说明 : 传讯息给其他使用者
参数 :
user : 预备传讯息的使用者帐号
ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
例子.1 :
传讯息给 Rollaend,此时 Rollaend 只有一个连线 :
write Rollaend
接下来就是将讯息打上去,结束请按 ctrl+c
例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 :
write Rollaend pts/2
接下来就是将讯息打上去,结束请按 ctrl+c
注意 : 若对方设定 mesg n,则此时讯席将无法传给对方

 

名称:kill
使用权限:所有使用者
使用方式:
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
参数:
-s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束; 详细的信号可以用 kill -l
-p : 印出 pid , 并不送出信号
-l (signal) : 列出所有可用的信号名称
范例:
将 pid 为 323 的行程砍掉 (kill) :
kill -9 323
将 pid 为 456 的行程重跑 (restart) :
kill -HUP 456

 

名称:nice
使用权限:所有使用者
使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]
说明:以更改过的优先序来执行程序, 如果未指定程序, 则会印出目前的排程优先序, 内定的 adjustment 为 10, 范围为 -20 (最高优先序) 到 19 (最低优先序)
参数:
-n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment
--help 显示求助讯息
--version 显示版本资讯
范例:
将 ls 的优先序加 1 并执行 :
nice -n 1 ls
将 ls 的优先序加 10 并执行 :
nice ls将 ls 的优先序加 10 并执行
注意 : 优先序 (priority) 为操作系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。

名称:ps
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
范例:
ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00:00:00 mdrecoveryd
.......
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
........

 

名称:pstree
使用权限:所有使用者
使用方式:
pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
pstree -V
说明:将所有行程以树状图显示, 树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root) ,如果有指定使用者 id , 则树状图会只显示该使用者所拥有的行程
参数:
-a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
-c 如果有重覆的行程名, 则分开列出 (预设值是会在前面加上 *
范例:
pstree
init-+-amd
|-apmd
|-atd
|-httpd---10*[httpd]
%pstree -p
init(1)-+-amd(447)
|-apmd(105)
|-atd(339)
%pstree -c
init-+-amd
|-apmd
|-atd
|-httpd-+-httpd
| |-httpd
| |-httpd
| |-httpd
....

 

名称:renice
使用权限:所有使用者
使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
说明:重新指定一个或多个行程(Process)的优先序(一个或多个将根据所下的参数而定)
参数:
-p pid 重新指定行程的 id 为 pid 的行程的优先序
-g pgrp 重新指定行程群组(process group)的 id 为 pgrp 的行程 (一个或多个) 的优先序
-u user 重新指定行程拥有者为 user 的行程的优先序
范例:
将行程 id 为 987 及 32 的行程与行程拥有者为 daemon 及 root 的优先序号码加 1 :
renice +1 987 -u daemon root -p 32
注意 : 每一个行程(Process)都有一个唯一的 (unique) id。

 

名称:skill
使用权限:所有使用者
使用方式: skill [signal to send] [options] 选择程序的规则
说明:
送个讯号给正在执行的程序,预设的讯息为 TERM (中断) , 较常使用的讯息为 HUP , INT , KILL , STOP , CONT ,和 0
讯息有三种写法:分别为 -9 , -SIGKILL , -KILL , 可以使用 -l 或 -L 已列出可使用的讯息。
一般参数:
-f 快速模式/尚未完成
-i 互动模式/ 每个动作将要被确认
-v 详细输出/ 列出所选择程序的资讯
-w 智能警告讯息/ 尚未完成
-n 没有动作/ 显示程序代号
参数:选择程序的规则可以是, 终端机代号,使用者名称,程序代号,命令名称。
-t 终端机代号 ( tty 或 pty )
-u 使用者名称
-p 程序代号 ( pid )
-c 命令名称 可使用的讯号:
以下列出已知的讯号名称,讯号代号,功能。
名称 (代号) 功能/ 描述
ALRM 14 离开
HUP 1 离开
INT 2 离开
KILL 9 离开/ 强迫关闭
PIPE 13 离开
POLL 离开
PROF 离开
TERM 15 离开
USR1 离开
USR2 离开
VTALRM 离开
STKFLT 离开/ 只适用于i386, m68k, arm 和 ppc 硬件
UNUSED 离开/ 只适用于i386, m68k, arm 和 ppc 硬件
TSTP 停止 /产生与内容相关的行为
TTIN 停止 /产生与内容相关的行为
TTOU 停止 /产生与内容相关的行为
STOP 停止 /强迫关闭
CONT 从新启动 /如果在停止状态则从新启动,否则忽略
PWR 忽略 /在某些系统中会离开
WINCH 忽略
CHLD 忽略
ABRT 6 核心
FPE 8 核心
ILL 4 核心
QUIT 3 核心
SEGV 11 核心
TRAP 5 核心
SYS 核心 /或许尚未实作
EMT 核心 /或许尚未实作
BUS 核心 /核心失败
XCPU 核心 /核心失败
XFSZ 核心 /核心失败
范例:
停止所有在 PTY 装置上的程序
skill -KILL -v pts/*
停止三个使用者 user1 , user2 , user3
skill -STOP user1 user2 user3

 

名称:top
使用权限:所有使用者
使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
说明:实时显示 process 的动态
参数:
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
范例:
显示更新十次后退出 ;
top -n 10
使用者将不能利用交谈式指令来对行程下命令 :
top -s
将更新显示二次的结果输入到名称为 top.log 的档案里 :
top -n 2 -b < top.log

 

名称:expr
### 字串长度
shell>> expr length "this is a test"
14
### 数字商数
shell>> expr 14 % 9
5
### 从位置处抓取字串
shell>> expr substr "this is a test" 3 5
is is
### 数字串 only the first character
shell>> expr index "testforthegame" e
2
### 字串真实重现
shell>> expr quote thisisatestformela
thisisatestformela

 

名称:tr
### 1.比方说要把目录下所有的大写档名换为小写档名?
似乎有很多方式,"tr"是其中一种:
#!/bin/sh
dir="/tmp/testdir";
files=`find $dir -type f`;
for i in $files
do
dir_name=`dirname $i`;
ori_filename=`basename $i`
new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;
#echo $new_filename;
mv $dir_name/$ori_filename $dir_name/$new_filename
done
### 2.自己试验中...lowercase to uppercase
tr abcdef...[del] ABCDE...[del]
tr a-z A-Z
tr '[:lower:]' '[:upper:]'
shell>> echo "this is a test" | tr a-z A-Z > www
shell>> cat www
THIS IS A TEST
### 3.去掉不想要的字串
shell>> tr -d this ### 去掉有关 t.e.s.t
this
man
man
test
e
### 4.取代字串
shell>> tr -s "this" "TEST"
this
TEST
th
TE

指令:clear
用途:清除萤幕用。
使用方法:在 console 上输入 clear。

 

名称: reset, tset
使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
使用说明:
reset 其实和 tset 是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变数、命令列或是其它的组态档决定目前终端机的型态。如果指定型态是 '?' 的话,这个程序会要求使用者输入终端机的型别。
由于这个程序会将终端机设回原始的状态,除了在 login 时使用外,当系统终端机因为程序不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o 例如不小心把二进位档用 cat 指令进到终端机,常会有终端机不再回应键盘输入,或是回应一些奇怪字元的问题。此时就可以用 reset 将终端机回复至原始状态。选项说明:
-p
将终端机类别显示在萤幕上,但不做设定的动作。这个命令可以用来取得目前终端机的类别。
-e ch
将 erase 字元设成 ch
-i ch
将中断字元设成 ch
-k ch
将删除一行的字元设成 ch
-I
不要做设定的动作,如果没有使用选项 -Q 的话,erase、中断及删除字元的目前值依然会送到萤幕上。
-Q
不要显示 erase、中断及删除字元的值到萤幕上。
-r
将终端机类别印在萤幕上。
-s
将设定 TERM 用的命令用字串的型式送到终端机中,通常在 .login 或 .profile 中用
范例:
让使用者输入一个终端机型别并将终端机设到该型别的预设状态。
# reset ?
将 erase 字元设定 control-h
# reset -e ^B
将设定用的字串显示在萤幕上
# reset -s
Erase is control-B (^B).
Kill is control-U (^U).
Interrupt is control-C (^C).
TERM=xterm;

 

名称:compress
使用权限:所有使用者
使用方式:compress [-dfvcV] [-b maxbits] [file ...]
说明:
compress 是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。
参数:
c 输出结果至标准输出设备(一般指荧幕)
f 强迫写入档案,若目的档已经存在,则会被覆盖 (force)
v 将程序执行的讯息印在荧幕上 (verbose)
b 设定共同字串数的上限,以位元计算,可以设定的值为 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值 16 bits (bits)
d 将压缩档解压缩
V 列出版本讯息
范例:
将 source.dat 压缩成 source.dat.Z ,若 source.dat.Z 已经存在,内容则会被压缩档覆盖。
compress -f source.dat
将 source.dat 压缩成 source.dat.Z ,并列印出压缩比例。
-v 与 -f 可以一起使用
compress -vf source.dat
将压缩后的资料输出后再导入 target.dat.Z 可以改变压缩档名。
compress -c source.dat > target.dat.Z
-b 的值越大,压缩比例就越大,范围是 9-16 ,预设值是 16 。
compress -b 12 source.dat
将 source.dat.Z 解压成 source.dat ,若档案已经存在,使用者按 y 以确定覆盖档案,若使用 -df 程序则会自动覆盖档案。由于系统会自动加入 .Z 为延伸档名,所以 source.dat 会自动当作 source.dat.Z 处理。
compress -d source.dat
compress -d source.dat.Z

 

名称:uudecode
使用权限:所有使用者
使用方式:uuencode [-hv] [file1 ...]
说明:
uudecode 将 uuencode 编码后的档案还原, uudecode 只会将 begin 与 end 标记之间的编码资料还原,程序会跳过标记以外的资料。
begin 644 file1.txt
15&AIend
这里的文字不会被解码。
参数:
h 列出指令使用格式 (help)
v 列出版本讯息
范例:
将 file.uud 还原,而还原后的档名储存在 file.uud 档中。
uuencode file.uud
可以一起还原好几个档案。
uuencode file1.uud file2.uud

 

名称:uuencode
使用权限:所有使用者
使用方式:uuencode [-hv] [sourcefile] targetfile
说明:
早期在许多 unix 系统的传送协定只能传送七位元字元,并不支援二进位档案,像中文文字档就有用到八位元,所以无法完整地送到另一架机器上。 uuencode 指令,可以将二进位档转换成七位元的档案,传送到另一架机器上再以 uudecode 还原。最常见的是用在以电子邮件传送二进位档。uuencode 编码后的资料都以 begin 开始,以 end 作为结束。
begin 644 decode.dat
(内容编码)
end
begin 后的 644 是 unix 档案的调用权限代码。而 decode.dat 则是还原后的档名。
参数:
h 列出指令使用格式 (help)
v 列出版本讯息 (version)
范例:
将 source.dat 编码后存成 file.uud 档。由于 uuencode 会将编码后的资料在荧幕上列出,所以必须将资料导入 file.uud 中,而 target.dat 是 file.uud 还原后的档案名字,而不是编码后的档案。
uuencode source.dat target.dat > file.uud
执行指令后,由标准输入装置读入资料,简单地说是由键盘输入后在荧幕显示的资料,按 Crtl + d 键后就会被编码,输出至 file.uud 中。由于程序是以行为处理单位,若无法跳出程序,请多按几次 Ctrl + d 直到程序结束为止。
uuencode target.dat > file.uud
类似上一个指令,不过使用一个导入的技巧,将 source.dat 压缩后的资料传送给 uuencode 处理之后,存成 file.uud 档。 file.uud 档还原后就是 source.dat.Z 档。
compress -c source.dat | uuencode source.dat.Z > file.uud
显示版本讯息后,结束执行程序。
uuencode -v

 

名称: lpd
使用权限: 所有使用者
使用方式:lpd [-l] [#port]
lpd 是一个常驻的打印机管理程序,它会根据 /etc/printcap 的内容来管理本地或远端的打印机。/etc/printcap 中定义的每一个打印机必须在 /var/lpd 中有一个相对应的目录,目录中以 cf 开头的档案表示一个等待送到适当装置的印表工作。这个档案通常是由 lpr 所产生。
lpr 和 lpd 组成了一个可以离线工作的系统,当你使用 lpr 时,打印机不需要能立即可用,甚至不用存在。lpd 会自动监视打印机的状况,当打印机上线后,便立即将档案送交处理。这个得所有的应用程序不必等待打印机完成前一工作。
参数:
-l: 将一些除错讯息显示在标准输出上。
#port: 一般而言,lpd 会使用 getservbyname 取得适当的 TCP/IP port,你可以使用这个参数强迫 lpd 使用指定的 port。
范例:
这个程序通常是由 /etc/rc.d 中的程序在系统启始阶段执行。

 

名称:lpq
lpq -- 显示列表机贮列中未完成的工作
用法
lpq [l] [P] [user]
说明
lpq 会显示由 lpd 所管理的列表机贮列中未完成的项目。
范例
范例 1. 显示所有在 lp 列表机贮列中的工作
# lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes
相关函数
lpr,lpc,lpd

 

名称: lpr
使用权限: 所有使用者
使用方式:lpr [ -P printer ]
将档案或是由标准输入送进来的资料送到打印机贮列之中,打印机管理程序 lpd 会在稍后将这个档案送给适当的程序或装置处理。lpr 可以用来将料资送给本地或是远端的主机来处理。
参数:
-p Printer: 将资料送至指定的打印机 Printer,预设值为 lp。
范例:
将 www.c 和 kkk.c 送到打印机 lp。
lpr -Plp www.c kkk.c

 


名称 :lprm
lprm -- 将一个工作由打印机贮列中移除
用法
/usr/bin/lprm [P] [file...]

说明
尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将常未送到打印机的工作取消。由于每一个打印机都有一个独立的贮列,你可以用 -P 这个命令设定想要作用的印列机。如果没有设定的话,会使用系统预设的打印机。

这个命令会检查使用者是否有足够的权限删除指定的档案,一般而言,只有档案的拥有者或是系统管理员才有这个权限。
范例
将打印机 hpprinter 中的第 1123 号工作移除
lprm -Phpprinter 1123
将第 1011 号工作由预设打印机中移除

 

名称: fdformat
使用权限: 所有使用者
使用方式:fdformat [-n] device
使用说明 :
对指定的软碟机装置进行低阶格式化。使用这个指令对软碟格式化的时候,最好指定像是下面的装置:
/dev/fd0d360 磁碟机 A: ,磁片为 360KB 磁碟
/dev/fd0h1440 磁碟机 A: ,磁片为 1.4MB 磁碟
/dev/fd1h1200 磁碟机 B: ,磁片为 1.2MB 磁碟
如果使用像是 /dev/fd0 之类的装置,如果里面的磁碟不是标准容量,格式化可能会失败。在这种情况之下,使用者可以用 setfdprm 指令先行指定必要参数。
参数:
-n 关闭确认功能。这个选项会关闭格式化之后的确认步骤。
范例:
fdformat -n /dev/fd0h1440
将磁碟机 A 的磁片格式化成 1.4MB 的磁片。并且省略确认的步骤。

 

名称: mformat
使用权限: 所有使用者
使用方式:
mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks] [-1] [-k] drive:
在已经做过低阶格式化的磁片上建立 DOS 档案系统。如果在编程 mtools 的时候把 USE_2M 的参数打开,部分与 2M 格式相关的参数就会发生作用。否则这些参数(像是 S,2,1,M)不会发生作用。
参数:
-t 磁柱(synlider)数
-h 磁头(head)数
-s 每一磁轨的磁区数
-l 标签
-F 将磁碟格式化为 FAT32 格式,不过这个参数还在实验中。
-I 设定 FAT32 中的版本号。这当然也还在实验中。
-S 磁区大小代码,计算方式为 sector = 2^(大小代码+7)
-c 磁丛(cluster)的磁区数。如果所给定的数字会导致磁丛数超过 FAT 表的限制,mformat 会自动放大磁区数。
-s
-M 软件磁区大小。这个数字就是系统回报的磁区大小。通常是和实际的大小相同。
-a 如果加上这个参数,mformat 会产生一组 Atari 系统的序号给这块软碟。
-X 将软碟格式化成 XDF 格式。使用前必须先用 xdfcopy 指令对软碟作低阶格式化的动作。
-C 产生一个可以安装 MS-DOS 档案系统的磁碟影像档(disk image)。当然对一个实体磁碟机下这个参数是没有意义的。
-H 隐藏磁区的数目。这通常适用在格式化硬盘的分割区时,因为通常一个分割区的前面还有分割表。这个参数未经测试,能不用就不用。
-n 磁碟序号
-r 根目录的大小,单位是磁区数。这个参数只对 FAT12 和 FAT16 有效。
-B 使用所指定的档案或是设备的开机磁区做为这片磁片或分割区的开机磁区。当然当中的硬件参数会随之更动。
-k 尽量保持原有的开机磁区。
-0 第 0 轨的资料传输率
-A 第 0 轨以外的资料传输率
-2 使用 2m 格式
-1 不使用 2m 格式
范例:
mformat a:
这样会用预设值把 a: (就是 /dev/fd0)里的磁碟片格式化。

 

名称: mkdosfs
使用权限: 所有使用者
使用方式: mkdosfs [ -c | -l filename ]
[ -f number_of_FATs ]
[ -F FAT_size ]
[ -i volume_id ]
[ -m message_file ]
[ -n volume_name ]
[ -r root_dir_entry ]
[ -s sector_per_cluster ]
[ -v ]
device
[ block_count ]
说明: 建立 DOS 档案系统。 device 指你想要建立 DOS 档案系统的装置代号。像是 /dev/hda1 等等。 block_count 则是你希望配置的区块数。如果 block_count 没有指定则系统会自动替你计算符合该装置大小的区块数。
参数:
-c 建立档案系统之前先检查是否有坏轨。
-l 从得定的档案中读取坏轨记录。
-f 指定档案配置表(FAT , File Allocation Table)的数量。预设值为 2 。目前 Linux 的 FAT 档案系统不支援超过 2 个 FAT 表。通常这个不需要改。
-F 指定 FAT 表的大小,通常是 12 或是 16 个位元组。12 位元组通常用于磁碟片,16 位元组用于一般硬盘的分割区,也就是所谓的 FAT16 格式。这个值通常系统会自己选定适当的值。在磁碟片上用 FAT16 通常不会发生作用,反之在硬盘上用 FAT12 亦然。
-i 指定 Volume ID。一般是一个 4 个位元组的数字,像是 2e203a47 。如果不给系统会自己产生。
-m 当使用者试图用这片磁片或是分割区开机,而上面没有操作系统时,系统会给使用者一段警告讯息。这个参数就是用来变更这个讯息的。你可以先用档案编辑好,然后用这个参数指定,或是用
-m -
这样系统会要求你直接输入这段文字。要特别注意的是,档案里的字串长度不要超过 418 个字,包括展开的跳栏符号(TAB)和换行符号(换行符号在 DOS 底下算两个字元!)
-n 指定 Volume Name,就是磁碟标签。如同在 DOS 底下的 format 指令一样,给不给都可以。没有预设值。
-r 指定根目录底下的最大档案数。这里所谓的档案数包括目录。预设值是在软碟上是 112 或是 224 ,在硬盘上是 512。没事不要改这个数字。
-s 每一个磁丛(cluster)的磁区数。必须是 2 的次方数。不过除非你知道你在作什么,这个值不要乱给。
-v 提供额外的讯息
范例:
mkdosfs -n Tester /dev/fd0 将 A 槽里的磁碟片格式化为 DOS 格式,并将标签设为 Tester

 

名称: MAKEDEV
使用方法:
MAKEDEV -V
MAKEDEV [ -n ] [ -v ] update
MAKEDEV [ -n ] [ -v ] [ -d ] device ...
使用说明:
这个命令可以用法新增 /dev/ 下的装置档案,多数 distribution 已经将所有的档案都产生,故一般而言不太会需要用到这个命令。

 

名称: dumpkeys
使用权限: 所有使用者
使用方式:
dumpkeys [ -hilfn1 -Sshape -ccharset --help --short-info
--long-info --numeric --full-table --separate-lines
--shape=shape --funcs-only --keys-only --compose-only
--charset=charset ]
使用说明:
这个命令用来将键盘的对映表写到标准输出之中,输出的格式可以被 loadkeys 命令载入。而这个表格的功能在于将键盘硬件所产生的扫描码 (scan code),转换成 ASCII 或是任何的字串。
这是在 Linux 上特有的指令,它允许你将键盘上的按键组合,如 ctrl-a. shift-a 等转换成适当的字串。例如你可以将 alt-ctrl-f12 定义成『linux』,以后只要按下 alt-ctrl-f12 就等于输入 linux 这个字了。
要将 alt-ctrl-f12 定义成 linux 有二件事要做,首先你必需将 alt-ctrl-f12 这个按键组合定义成某个功能键,在这里我们使用 f20。
control alt keycode 88 = F20
上面的 keycode 88 便是 F12 这个键的硬件扫描码。下一步便是将 F20 这个功能键定义成 linux
string F20="linux"
将包括这二行的档案用 loadkeys 载入后便可以用 alt-ctrl-f12 来输入 linux 了。chdrv, yact 等 console 模式中文系统便是使用这个功能来重新定义键盘。 选项:
--shortinfo, -i
将一些有关 linux 键盘驱动程序的资料显示在萤幕上。这包括了硬件扫描码的范围、功能键的数量、状态键的的数量等资讯。
--longinfo, -l
将键盘驱动程序的资讯用比较详尽的格式显示。
--numeric, -n
使用十六进位的方式显示资料,如果没有这个选项,dumpkeys 会自动的将十六进位的内部表示法转换成文字表示法。
--full-table -f
将整个表格完整的显示,预设情况下没有被定义的组合将不会被显示。
--seperate--lines, -1 一行显示一个按键组合,预设模式下一个按键在不同状态码下的动作会被显示在同一行中。
-S,--shape=[0-3] 设定输出的格式
0: 预设格式(-S)
1: 完整格式(--full-table)
2: 单行格式(--seperate-lines)
3: 简单格式,这个格式开始时使用完整格式,但遇到第一个没有定义的组合后就切到单行格式。
--funcs-only
--keys-only
--composite-only
只显示部份的资料。

 

名称: loadkeys
使用权限: 所有使用者
使用方式:
loadkeys [ -d --default ] [ -h --help ] [ -q --quiet ] [ -v --verbose [ -v --verbose ]...] [ -m --mktable ] [ -c --clearcompose ] [ -s --clearstrings ] [ filename... ]
使用说明:
这个命令可以根据一个键盘定义表改变 linux 键盘驱动程序转译键盘输入过程。详细的说明请参考 dumpkeys。
选项:
-v --verbose
印出详细的资料,你可以重复以增加详细度。
-q --quiet
不要显示任何讯息。
-c --clearcompose
清除所有 composite 定义。
-s --clearstrings
将定串定义表清除。
相关命令:
dumpkeys

 

名称: rdev
使用权限: 所有使用者
使用方式: 使用这个指令的基本方式是: rdev [-rsvh ] [-o offset ] [ image [value [ offset ] ] ]
但是随著使用者想要设定的参数的不同,底下的方式也是一样:
rdev [ -o offset ] [ image [ root_device [ offset ] ] ]
swapdev [ -o offset ] [ image [ swap_device [ offset ] ] ]
ramsize [ -o offset ] [ image [ size [ offset ] ] ]
videomode [ -o offset ] [ image [ mode [ offset ] ] ]
rootflags [ -o offset ] [ image [ flags [ offset ] ] ]
说明: rdev 可以用来取得或是设定开机核心影像档(kernel image)的各项参数,像是:
root device
swap device
RAM disk
video mode
参数:
-r
-s
-v
-h
-o
范例: uptime
其结果为:
10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99

 

名称:setleds
使用权限:一般使用者
使用方式:
setleds [-v] [-L] [-D] [-F] [{+|-}num] [{+|-}caps] [{+|-}scroll]说明:
用来设定键盘上方三个 LED 的状态。在 Linux 中,每一个虚拟主控台都有独立的设定。
参数:
-F
预设的选项,设定虚拟主控台的状态。
-D
除了改变虚拟主控台的状态外,还改变预设的状态。
-L
不改变虚拟主控台的状态,但直接改变 LED 显示的状态。这会使得 LDE 显示和目前虚拟主控台的状态不符合。我们可以在稍后用 -L 且不含其它选项的 setleds 命令回复正常状态。
-num +num
将数字键打开或关闭。
-caps +caps
把大小写键打开或关闭。
-scroll +scroll
把选项键打开或关闭。
范例:
将数字键打开,其馀二个灯关闭。
# setleds +num -caps -scroll

 

名称: dd
使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file

使用方式:
dd [option]
如果你想要在线看 manual, 可以试试:
dd --help
或是
info dd
如果你想要看看这个版本如何:
dd --version
输入或输出
dd if=[STDIN] of=[STDOUT]
强迫输入或输出的Size为多少Bytes
bs: dd -ibs=[BYTE] -obs=[SIZE]
强迫一次只做多少个 Bytes
cbs=BYTES

跳过一段以后才输出
seek=BLOCKS
跳过一段以后才输入
skip=BLOCKS
当然你可以拿这个来方便的拷贝光碟(注意,你的光碟是标准的 iso9660格式才可以这么做唷!)
dd if=/dev/cdrom of=cdrom.iso
其中 if 后面以及 of 后面的内容依你的需求调整。
然后给系统这个指令就可以烧了:
cdrecord -v cdrom.iso
这篇不是在讲 cdrecord 的,所以上面的指令是最为简单但是不一定能符合您的硬件环境....

 

名称:df
使用权限: 所有使用者>
使用方式: df [选项]... [FILE]...
显示档案系统的状况,或是看所有档案系统的状况(预设值)
-a, --all 包含所有的具有 0 Blocks 的档案系统
--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
-i, --inodes 列出 inode 资讯,不列出已使用 block
-k, --kilobytes 就像是 --block-size=1024
-l, --local 限制列出的档案结构
-m, --megabytes 就像 --block-size=1048576
--no-sync 取得资讯前不 sync (预设值)
-P, --portability 使用 POSIX 输出格式
--sync 在取得资讯前 sync
-t, --type=TYPE 限制列出档案系统的 TYPE
-T, --print-type 显示档案系统的形式
-x, --exclude-type=TYPE 限制列出档案系统不要显示 TYPE
-v (忽略)
--help 显示这个帮手并且离开
--version 输出版本资讯并且离开

 

指令:e2fsck
使用权限 : 超级使用者
使用方式 : e2fsck [-pacnydfvFV] [-b superblock] [-B blocksize] [-l|-L bad_blocks_file] [-C fd] device
说明 : 检查使用 Linux ext2 档案系统的 partition 是否正常工作
参数 :
device : 预备检查的硬盘 partition,例如:/dev/sda1
-a : 对 partition 做检查,若有问题便自动修复,等同 -p 的功能
-b : 设定存放 superblock 的位置
-B : 设定单位 block 的大小
-c : 检查该partition 是否有坏轨
-C file : 将检查的结果存到 file 中以便查看
-d : 列印 e2fsck 的 debug 结果
-f : 强制检查
-F : 在开始检查前,将device 的 buffer cache 清空,避免有错误发生
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
-L bad_blocks_file : 设定坏轨的block资料存到 bad_blocks_file 里面,若无该档则自动产生
-n : 将档案系统以[唯读]方式开启
-p : 对 partition 做检查,若有问题便自动修复
-v : 详细显示模式
-V : 显示出目前 e2fsck 的版本
-y : 预先设定所有检查时的问题均回答[是]
例子 :
检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] :
e2fsck -a -y /dev/hda5
注意 :
大部份使用 e2fsck 来检查硬盘 partition 的情况时,通常都是情形特殊,因此最好先将该 partition umount,然后再执行 e2fsck 来做检查,若是要非要检查 / 时,则请进入 singal user mode 再执行。

 

名称:exportfs
使用权限:系统管理者
使用方式: exportfs
说明:
参数:
没有任何参数。
范例:
# newaliases
下面命令会做相同的事,
# sendmail -bi
相关命令:
mail, mailq, newaliases, sendmail

指令:fdisk
用途:观察硬盘之实体使用情形与分割硬盘用。
使用方法:
      一、在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形。

      二、在 console 上输入 fdisk /dev/sda,可进入分割硬盘模式。

        1. 输入 m 显示所有命令列示。

        2. 输入 p 显示硬盘分割情形。

        3. 输入 a 设定硬盘启动区。

        4. 输入 n 设定新的硬盘分割区。

         4.1. 输入 e 硬盘为[延伸]分割区(extend)。

         4.2. 输入 p 硬盘为[主要]分割区(primary)。

        5. 输入 t 改变硬盘分割区属性。

        6. 输入 d 删除硬盘分割区属性。

        7. 输入 q 结束不存入硬盘分割区属性。

        8. 输入 w 结束并写入硬盘分割区属性。

 


指令:fsck
使用权限 : 超级使用者
使用方式 : fsck [-sACVRP] [-t fstype] [--] [fsck-options] filesys [...]
说明 : 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统
参数 :
filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)
-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
-s : 依序一个一个地执行 fsck 的指令来检查
-A : 对/etc/fstab 中所有列出来的 partition 做检查
-C : 显示完整的检查进度
-d : 列印 e2fsck 的 debug 结果
-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
-R : 同时有 -A 条件时,省略 / 不检查
-V : 详细显示模式
-a : 如果检查有错则自动修复
-r : 如果检查有错则由使用者回答是否修复
例子 :
检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 :
fsck -t msdos -a /dev/hda5
注意 :
此指令可与 /etc/fstab 相互参考操作来加以了解。

 

指令:mkfs
使用权限 : 超级使用者
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
说明 : 建立 linux 档案系统在特定的 partition 上
参数 :
device : 预备检查的硬盘 partition,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小
例子 :
在 /dev/hda5 上建一个 msdos 的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来 :
mkfs -V -t msdos -c /dev/hda5

 

指令:fstab
使用权限 : 超级使用者
使用方式 : 使用编辑器来修改 /etc/fstab (eg. vi /etc/fstab)
说明 : 存放档案系统与目录结构对应资料的档案
fstab 栏位说明:
第一栏(fs_spec): 实际的 device 名称
第二栏(fs_file): 对应到的目录结构(mount point)
第三栏(fs_vfstype):该 partition 的档案系统,常见的有:
minix、ext、ext2、msdos、iso9660、nfs、swap
第四栏(fs_mntops): 在 mount 时的参数
第五栏(fs_freq): 在使用 dump 时是否记录,不需要则输入0
第六栏(fs_passno): 决定在开机时执行 fsck 的先后顺序
例子 :
IDE 硬盘分成两个 partition 与一个 swap,还有一台光碟机跟一台软碟机的情形 :
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /home ext2 defaults 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0
/dev/hda6 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext2 noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0

 

名称 : mount
使用权限 : 系统管理者或/etc/fstab中允许的使用者
使用方式 :
mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
说明 :
将某个档案的内容解读成档案系统,然后将其挂在目录的某个位置之上。当这个命令执行成功后,直到我们使用 umnount 将这个档案系统移除为止,这个命令之下的所有档案将暂时无法被调用。
这个命令可以被用来挂上任何的档案系统,你甚至可以用 -o loop 选项将某个一般的档案当成硬盘机分割挂上系统。这个功能对于 ramdisk,romdisk 或是 ISO 9660 的影像档之解读非常实用。
参数
-V
显示程序版本
-h
显示辅助讯息
-v
显示较讯息,通常和 -f 用来除错。
-a
将 /etc/fstab 中定义的所有档案系统挂上。
-F
这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
-f
通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
-n
一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
-s-r
等于 -o ro
-w
等于 -o rw
-L
将含有特定标签的硬盘分割挂上。
-U
将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
-t
指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
-o async
打开非同步模式,所有的档案读写动作都会用非同步模式执行。
-o sync
在同步模式下执行。
-o atime
-o noatime
当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
-o auto
-o noauto
打开/关闭自动挂上模式。
-o defaults
使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
-o dev
-o nodev-o exec
-o noexec
允许执行档被执行。
-o suid
-o nosuid
允许执行档在 root 权限下执行。
-o user
-o nouser
使用者可以执行 mount/umount 的动作。
-o remount
将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
-o ro
用唯读模式挂上。
-o rw
用可读写模式挂上。
-o loop=
使用 loop 模式用来将一个档案当成硬盘分割挂上系统。
范例
将 /dev/hda1 挂在 /mnt 之下。
#mount /dev/hda1 /mnt
将 /dev/hda1 用唯读模式挂在 /mnt 之下。
#mount -o ro /dev/hda1 /mnt
将 /tmp/image.iso 这个光碟的 image 档使用 loop 模式挂在 /mnt/cdrom之下。用这种方法可以将一般网络上可以找到的 Linux 光 碟 ISO 档在不烧录成光碟的情况下检视其内容。
#mount -o loop /tmp/image.iso /mnt/cdrom
相关命令umount

 

名称: swapon
使用者权限: 超级使用者(super-user)
使用方式:
/sbin/swapon -a [-v]
/sbin/swapon [-v] [-p priority] specialfile ...
/sbin/swapon [-s]
-h 请帮帮我
-V 显示版本讯息
-s 显示简短的装置讯息
-a 自动启动所有SWAP装置
-p 设定优先权,你可以在0到32767中间选一个数字给他。或是在 /etc/fstab 里面加上 pri=[value] ([value]就是0~32767中间一个数字),然后你就可以很方便的直接使用 swapon -a 来启动他们,而且有优先权设定。
swapon 是开启swap.
相对的,便有一个关闭swap的指令,swapoff.

 

名称 : sync
使用权限 : 系统管理者
使用方式 : sync
说明 : Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中。

 

名称:adduser
使用权限:系统管理员
使用方式:adduser [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-p passwd]
[-s shell] [-u uid [ -o]] [-n] [-r] loginid
或 adduser -D [-g default_group] [-b default_home]
[-f default_inactive]
[-e default_expire_date]
[-s default_shell]
附注:adduser 与 useradd 指令为同一指令(经由符号连结 symbolic link)
说明:新增使用者帐号或更新预设的使用者资料
参数:
-c comment 新使用者位于密码档(通常是 /etc/passwd)的注解资料
-d home_dir 设定使用者的家目录为 home_dir ,预设值为预设的 home 后面加上使用者帐号 loginid
-e expire_date 设定此帐号的使用期限(格式为 YYYY-MM-DD),预设值为永久有效
-f inactive_time 范例:
adduser是增加使用者.
相对的,也有删除使用者的指令,userdel.
语法:userdel [login ID]

 

名称:su
使用权限:所有使用者
使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
说明:变更为其他使用者的身份,除 root 外,需要键入该使用者的密码
参数:
-f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
-m -p 或 --preserve-environment 执行 su 时不改变环境变数
-c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
-s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
--help 显示说明文件
--version 显示版本资讯
- -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
USER 欲变更的使用者帐号
ARG 传入新的 shell 参数
范例:
su -c ls root 变更帐号为 root 并在执行 ls 指令后退出变回原使用者。
su root -f 变更帐号为 root 并传入 -f 参数给新执行的 shell。
su - clsung 变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)。

 

名称:sudo
使用权限:在 /etc/sudoers 中有出现的使用者
使用方式:sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
说明:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行
参数:
-V 显示版本编号
-h 会显示版本编号及指令的使用方式说明
-l 显示出自己(执行 sudo 的使用者)的权限
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b 将要执行的指令放在背景执行
-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
范例:
sudo -l 列出目前的权限
sudo -V 列出 sudo 的版本资讯

 

名称:halt
使用权限:系统管理者
使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p]
说明:若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代
参数:
-n : 在关机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
-i : 在关机之前先把所有网络相关的装置先停止
-p : 当关机的时候,顺便做关闭电源(poweroff)的动作
范例:
halt -p 关闭系统后关闭电源。
halt -d 关闭系统,但不留下纪录。

 

名称:init
使用权限:开机时
使用方式:init [0123456Ss]
说明:init 是所有行程(process)的父行程(parent),开机时一定会先从这个指令开始(可以用 ps -aux 看看第一个行程就是 init),并参考 /etc/inittab 档来完成整个开机程序,共有八个执行层级(runlevel),而改变只能透过 telinit 的指令来更改
参数:
0 开机执行层级为 0 ,用来关闭系统
1 开机执行层级为 1 ,用来进行单一使用者模式(single user mode)
4 开机执行层级为 4 ,表示进入 X window 时的模式
6 开机执行层级为 6 ,用来重新开机
S 或 s 不是直接使用的,配合开机执行层级 1 时使用,当加上S 或 s 表示开机后不参考 /etc/inittab 档
   235 请参照 /etc/inittab 档案内容以及 /etc/rc.d/rc2.d,/etc/rc.d/rc3.d,/etc/rc.d/rc5.d 等目录
范例:
由于这并不是让使用者可以单独下指令的执行档,请参照 /etc/inittab

 

名称:reboot
使用权限:系统管理者
使用方式:reboot [-n] [-w] [-d] [-f] [-i]
说明:若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代
参数:
-n : 在重开机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫重开机,不呼叫 shutdown 这个指令
-i : 在重开机之前先把所有网络相关的装置先停止
范例:
reboot 重开机。
reboot -w 做个重开机的模拟(只有纪录并不会真的重开机)。

 

名称 : shutdown
使用权限 : 系统管理者
使用方式 : shutdown [-t seconds] [-rkhncfF] time [message]
说明 : shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
参数 :
-t seconds : 设定在几秒钟之后进行关机程序
-k : 并不会真的关机,只是将警告讯息传送给所有只用者
-r : 关机后重新开机
-h : 关机后停机
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c : 取消目前已经进行中的关机动作
-f : 关机时,不做 fcsk 动作(检查 Linux 档系统)
-F : 关机时,强迫进行 fsck 动作
time : 设定关机的时间
message : 传送给所有使用者的警告讯息

 

名称:mattrib
使用权限:所有使用者
使用方式:
mattrib [-a|+a] [-h|+h] [-r|+r] [-s|+s] [-/] [-X] msdosfile [ msdosfiles ... ]说明:本程序可用来修改 MS_DOS 档案的属性。
参数:
-a/+a 除去/设定备份属性。
-h/+h 除去/设定隐藏属性。
-r/+r 除去/设定唯读属性。
-s/+s 除去/设定系统属性。
-/ 递回的处理包含所有子目录下的档案。
-X 以较短的格式输出结果。
范例:
mattrib a: 列出 A 槽 MSDOS 格式磁片上所有档案的属性。
mattrib -h -s -r a:msdos.sys 除去 A 槽磁片上 msdos.sys 档案的隐藏、系统与唯读属性。
mattrib -r -/ a:*.* 除去 A 槽磁片上包含子目录下所有档案的唯读属性。

 

名称:mcd
使用权限:所有使用者
使用方式:
mcd [msdosdirectory]
说明:可变更 mtools 系列指令目前在 MSDOS 磁碟上的工作目录。与 MSDOS 的 CD 指令不同,mcd 亦可变更工作磁碟。

参数:
没有参数时会传回目前的工作目录。
范例:
mcd a: emp 变更目前工作目录到 a: emp 中。
mcd 传回目前工作目录。

 

名称:mlabel
使用权限:所有使用者
使用方式:
mlabel [-vcs] drive:[new_label]

说明:
本程序可设定磁碟的标签 (Label)。
如果磁碟上设定过标签,mlabel 会将他显示给使用者。如果没有指定新标签并且没有指定 c 或 s 选项,mlabel 会提示使用者输入新的标签。如果直接按下 Enter ,就会将原本的标签删除。


参数:
-v 更多的讯息。
-c 清除原有的标签,不出现提示讯息。
-s 显示目前的标签,不出现提示讯息。


范例:
mlabel a:newlabel。将 A 槽磁碟的标签更改为 newlabel。

 

名称:mdeltree
使用权限:所有使用者
使用方式:
mdeltree [-v] msdosdirectory [msdosdirectories...]

说明:
本程序可用来删除 MSDOS 格式档案及目录。
mdeltree 会将所指定的目录与目录之下的所有档案与目录都删除掉。如果所指定的档案或目录不存在,则会传回错误讯息。

参数:
-v 显示更多的讯息。
范例:
mcopy a:msdosdir . 将 A 槽磁片根目录中的 msdosdir 目录以下的档案与目录都删除掉。

 

名称:mcopy
使用权限:所有使用者
使用方式:
mcopy [-b/ptnvmoQOsSrRA] sourcefile targetfile
mcopy [-b/ptnvmoQOsSrRA] sourcefile [ sourcefiles... ] targetdirectory
mcopy [-tnvm] MSDOSsourcefile


说明:
本程序可用来复制 MSDOS 格式档案到 Linux 中,或是由 Linux 中复制 MSDOS 档案到磁片上。mcopy 可复制单一的档案到所指定的档案名称,或是复制数个档案到所指定的目录之中。来源与目的档案可为 MSDOS 或是 Linux 档案。
参数:
b 批次模式.这是为大量的档案复制进行最佳化的选项,但是当在复制档案过程中产生 crash 时,会有安全性的问题产生。/ 递回的复制。包含目录所含档案与其下所有子目录中的档案。
p 维持档案原来的属性。
Q 当复制多个档案产生错误时,尽快结束程序。
t 复制纯文字档案。将 carriage return/line feeds 转换成 line feeds 字元。
n 在覆盖 Linux 档案时不会出现警示讯息。
o 在覆盖 MSDOS 档案时不会出现警示讯息。
m 维持档案原来的修改时间。当目的档案已存在,且使用 -n 选项时,mcopy 会询问是否要覆盖或是另存新档。
范例: mcopy a:autoexec.bat . 将 A 槽磁片根目录中的 autoexec.bat 复制到目前工作目录之下。

 

名称:mdel
使用权限:所有使用者
使用方式:
mdel [-v] msdosfile [ msdosfiles ... ]
说明:
本程序可用来删除 MSDOS 格式的档案。
在删除唯读档案之前会先有提示讯息产生。
参数:
-v 显示更多的讯息。
范例:
mdel a:autoexec.bat . 将 A 槽磁片根目录中的 autoexec.bat 删除。



 引自:

Linux 学习手册--linux命令大全



 

一、Linux命令
名称: cd
使用权限: 所有使用者
使用方式: cd [dirName]
说明: 变换工作目录至dirName。其中dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory (也就是刚login 时所在的目录)。
另外,"~" 也表示为home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
范例: 跳到/usr/bin/ :
cd /usr/bin
跳到自己的home directory :
cd ..
跳到目前目录的上上两层:
cd ../
指令名称: chmod
使用权限: 所有使用者
使用方式: chmod [-cfvR] [--help] [--version] mode file...
说明: Linux/Unix 的档案存取权限分为三级: 档案拥有者﹑群组﹑其它。利用chmod 可以藉以控制档案如何被他人所存取。
参数:
mode : 权限设定字符串﹐格式如下: [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者﹐g 表示与该档案的拥有者属于同一个群体(group)者﹐o 表示其它以外的人﹐a 表示这三者皆是。+ 表示增加权限﹑- 表示取消权限﹑= 表示唯一设定权限。r 表示可读取﹐w 表示可写入﹐x 表示可执行﹐X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改﹐才显示其更改动作-f : 若该档案权限无法被更改也不要显示错误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更) --help : 显示辅助说明--version : 显示版本
范例:将档案file1.txt 设为所有人皆可读取:
chmod ugo+r file1.txt
将档案file1.txt 设为所有人皆可读取:

chmod a+r file1.txt
将档案file1.txt 与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入﹐但其它以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
将ex1.py 设定为只有该档案拥有者可以执行:
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取:
chmod -R a+r *
此外chmod也可以用数字来表示权限如chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。
范例:
chmod a=rwx file

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file
名称:locate 使用权限:所有使用者使用方式: locate [-q] [-d <path>] [--database=<path>] <search string> locate [-r <regexp>] [--regexp=<regexp>] locate [-qv] [-o <file>] [--output=<file>] locate [-e <dir1,dir2,...>] [-f <fstype1,...>] <[-l <level>] [-c] <[-U ] [-u]> locate [-Vh] [--version] [--help] 说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有文件名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
在一般的distribution 之中,数据库的建立都被放在contab 中自动执行。一般使用者在使用时只要用

# locate your_file_name
的型式就可以了。参数:
-u -U <dir> 建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
-e <dir> 将<dir> 排除在寻找的范围之外。
-l <level> 如果<level> 是1.则激活安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为locate 必须至实际的档案系统中取得档案的权限资料。
-f <filetype> 将特定的档案系统排除在外,例如我们没有到理要把proc 档案系统中的档案放在数据库中。
-q 安静模式,不会显示任何错误讯息。
-n <num> 至多显示<num> 个输出。
-r <reg> 使用正规表达式<reg> 做寻找的条件。
-o <file> 指定数据库存的名称。
-d <dir> 指定数据库的路径
-h 显示辅助讯息
-v 显示更多的讯息
-V 显示程序的版本讯息范例:
locate chdrv : 寻找所有叫chdrv 的档案locate -n 100 a.out : 寻找所有叫a.out 的档案,但最多只显示100 个locate -u : 建立数据库
名称: sync 使用权限: 系统管理者使用方式: sync 说明: Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到filesystem buffer 中,这个buffer 是一块内存空间,如果欲写入硬盘的资料存于此buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于buffer 中的资料强制写入硬盘中。

名称:adduser 使用权限:系统管理员使用方式:adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] loginid 或adduser -D [-g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell] 附注:adduser 与useradd 指令为同一指令(经由符号连结symbolic link) 说明:新增使用者帐号或更新预设的使用者资料参数: -c comment 新使用者位于密码文件(通常是/etc/passwd)的批注资料-d home_dir 设定使用者的家目录为home_dir ,默认值为预设的home 后面加上使用者帐号loginid -e expire_date 设定此帐号的使用期限(格式为YYYY-MM-DD),默认值为永久有效-f inactive_time 范例:
adduser是增加使用者,相对的,也有删除使用者的指令,userdel
语法:userdel [login ID]
名称:su 使用权限:所有使用者使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 说明:变更为其它使用者的身份,除root 外,需要键入该使用者的密码参数: -f 或--fast 不必读激活档(如csh.cshrc 等),仅用于csh 或tcsh -m -p 或--preserve-environment 执行su 时不改变环境变量-c command 或--command=command 变更为帐号为USER 的使用者并执行指令(command)后再变回原来使用者-s shell 或--shell=shell 指定要执行的shell (bash csh tcsh 等),默认值为/etc/passwd 内的该使用者(USER) shell --help 显示说明文件--version 显示版本信息- -l 或--login 这个参数加了之后,就好象是重新login 为该使用者一样,大部份环境变量(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定USER ,内定是root USER 欲变更的使用者帐号

ARG 传入新的shell 参数范例: su -c ls root 变更帐号为root 并在执行ls 指令后退出变回原使用者。su root -f 变更帐号为root 并传入-f 参数给新执行的shell。su - clsung 变更帐号为clsung 并改变工作目录至clsung 的家目录(home dir)。
名称:sudo 使用权限:在/etc/sudoers 中有出现的使用者使用方式:sudo -V sudo -h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s sudo command 说明:以系统管理者的身份执行指令,也就是说,经由sudo 所执行的指令就好象是root 亲自执行参数: -V 显示版本编号-h 会显示版本编号及指令的使用方式说明-l 显示出自己(执行sudo 的使用者)的权限-v 因为sudo 在第一次执行时或是在N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过N 分钟,也会问密码-k 将会强迫使用者在下一次执行sudo 时问密码(不论有没有超过N 分钟) -b 将要执行的指令放在背景执行-p prompt 可以更改问密码的提示语,其中%u 会代换为使用者的帐号名称, %h 会显示主机名称-u username/#uid 不加此参数,代表要以root 的身份执行指令,而加了此参数,可以以username 的身份执行指令(#uid 为该username 的使用者号码) -s 执行环境变量中的SHELL 所指定的shell ,或是/etc/passwd 里所指定的shell -H 将环境变量中的HOME (家目录)指定为要变更身份的使用者家目录(如不加-u 参数就是系统管理者root ) command 要以系统管理者身份(或以-u 更改为其它人)执行的指令范例: sudo -l 列出目前的权限sudo -V 列出sudo 的版本信息

名称:init 使用权限:开机时使用方式:init [0123456Ss] 说明:init 是所有行程(process)的父行程(parent),开机时一定会先从这个指令开始(可以用ps -aux 看看第一个行程就是init),并参考/etc/inittab 档来完成整个开机程序,共有八个执行层级(runlevel),而改变只能透过telinit 的指令来更改参数: 0 开机执行层级为0 ,用来关闭系统1 开机执行层级为1 ,用来进行单一使用者模式(single user mode) 4 开机执行层级为4 ,表示进入X window 时的模式6 开机执行层级为6 ,用来重新开机S 或s 不是直接使用的,配合开机执行层级1 时使用,当加上S 或s 表示开机后不参考/etc/inittab 檔235 请参照/etc/inittab 档案内容以及/etc/rc.d/rc2.d,/etc/rc.d/rc3.d,/etc/rc.d/rc5.d 等目录范例: 由于这并不是让使用者可以单独下指令的执行文件,请参照/etc/inittab
名称:reboot 使用权限:系统管理者使用方式:reboot [-n] [-w] [-d] [-f] [-i] 说明:若系统的runlevel 为0 或6 ,则重新开机,否则以shutdown 指令(加上-r 参数)来取代参数: -n : 在重开机前不做将内存资料写回硬盘的动作-w : 并不会真的重开机,只是把记录写到/var/log/wtmp 档案里-d : 不把记录写到/var/log/wtmp 档案里(-n 这个参数包含了-d) -f : 强迫重开机,不呼叫shutdown 这个指令-i : 在重开机之前先把所有网络相关的装置先停止范例: reboot 重开机。reboot -w 做个重开机的仿真(只有纪录并不会真的重开机)。
名称:halt 使用权限:系统管理者使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p] 说明:若系统的runlevel 为0 或6 ,则关闭系统,否则以shutdown 指令(加上-h 参数)来取代参数:

-n : 在关机前不做将内存资料写回硬盘的动作-w : 并不会真的关机,只是把记录写到/var/log/wtmp 档案里-d : 不把记录写到/var/log/wtmp 档案里(-n 这个参数包含了-d) -f : 强迫关机,不呼叫shutdown 这个指令-i : 在关机之前先把所有网络相关的装置先停止-p : 当关机的时候,顺便做关闭电源(poweroff)的动作范例: halt -p 关闭系统后关闭电源。halt -d 关闭系统,但不留下纪录。
名称: shutdown
使用权限: 系统管理者
使用方式: shutdown [-t seconds] [-rkhncfF] time [message]
说明: shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
参数:
-t seconds : 设定在几秒钟之后进行关机程序-k : 并不会真的关机,只是将警告讯息传送给所有只用者-r : 关机后重新开机-h : 关机后停机-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机-c : 取消目前已经进行中的关机动作-f : 关机时,不做fcsk 动作(检查Linux 文件系统) -F : 关机时,强迫进行fsck 动作time : 设定关机的时间message : 传送给所有使用者的警告讯息
名称:mattrib 使用权限:所有使用者使用方式: mattrib [-a|+a] [-h|+h] [-r|+r] [-s|+s] [-/] [-X] msdosfile [ msdosfiles ... ]说明:本程序可用来修改MS_DOS 档案的属性。参数: -a/+a 除去/设定备份属性。-h/+h 除去/设定隐藏属性。-r/+r 除去/设定只读属性。-s/+s 除去/设定系统属性。-/ 递归的处理包含所有子目录下的档案。-X 以较短的格式输出结果。

范例: mattrib a: 列出A 槽MSDOS 格式磁盘上所有档案的属性。mattrib -h -s -r a:msdos.sys 除去A 槽磁盘上msdos.sys 档案的隐藏、系统与只读属性。mattrib -r -/ a:/*.* 除去A 槽磁盘上包含子目录下所有档案的只读属性。
名称:mcopy 使用权限:所有使用者使用方式: mcopy [-b/ptnvmoQOsSrRA] sourcefile targetfile mcopy [-b/ptnvmoQOsSrRA] sourcefile [ sourcefiles... ] targetdirectory mcopy [-tnvm] MSDOSsourcefile 说明: 本程序可用来复制MSDOS 格式档案到Linux 中,或是由Linux 中复制MSDOS 档案到磁盘上。mcopy 可复制单一的档案到所指定的文件名称,或是复制数个档案到所指定的目录之中。来源与目的档案可为MSDOS 或是Linux 档案。参数: b 批次模式.这是为大量的档案复制进行最佳化的选项,但是当在复制档案过程中产生crash 时,会有安全性的问题产生。/ 递归的复制。包含目录所含档案与其下所有子目录中的档案。p 维持档案原来的属性。Q 当复制多个档案产生错误时,尽快结束程序。t 复制纯文本文件。将carriage return/line feeds 转换成line feeds 字符。n 在覆盖Linux 档案时不会出现警示讯息。o 在覆盖MSDOS 档案时不会出现警示讯息。m 维持档案原来的修改时间。当目的档案已存在,且使用-n 选项时,mcopy 会询问是否要覆盖或是另存新档。范例: mcopy a:/autoexec.bat . 将A 槽磁盘根目录中的autoexec.bat 复制到目前工作目录之下。
指令名称: ln
使用权限: 所有使用者
使用方式: ln [options] source dist,其中option 的格式为:
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--]
说明: Linux/Unix 档案系统中﹐有所谓的连结(link)﹐我们可以将其视为档案的别名﹐而连结又可分为两种: 硬连结(hard link)与软连结(symbolic link)﹐硬连结的意思是一个档案可以有多个名称﹐而软连结的方式则是产生一个特殊的档案﹐该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中﹐而软连结却可以跨越不同的档案系统。

ln source dist 是产生一个连结(dist)到source﹐至于使用硬连结或软链接则由参数决定。
不论是硬连结或软链接都不会将原本的档案复制一份﹐只会占用非常少量的磁盘空间。
参数:
-f : 链接时先将与dist 同档名的档案删除-d : 允许系统管理者硬链接自己的目录-i : 在删除与dist 同档名的档案时先进行询问-n : 在进行软连结时﹐将dist 视为一般的档案-s : 进行软链接(symbolic link)-v : 在连结之前显示其档名-b : 将在链接时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上SUFFIX 的字尾-V METHOD : 指定备份的方式--help : 显示辅助说明--version : 显示版本
范例:
将档案yy 产生一个symbolic link : zz
ln -s yy zz
将档案yy 产生一个hard link : zz
ln yy xx
名称:mdel 使用权限:所有使用者使用方式: mdel [-v] msdosfile [ msdosfiles ... ] 说明: 本程序可用来删除MSDOS 格式的档案。在删除只读文件之前会先有提示讯息产生。参数: -v 显示更多的讯息。范例: mdel a:/autoexec.bat . 将A 槽磁盘根目录中的autoexec.bat 删除。
名称:mdeltree 使用权限:所有使用者使用方式: mdeltree [-v] msdosdirectory [msdosdirectories...] 说明: 本程序可用来删除MSDOS 格式档案及目录。mdeltree 会将所指定的目录与目录之下的所有档案与目录都删除掉。如果所指定的档案或目录不存在,则会传回错误讯息。

参数: -v 显示更多的讯息。范例: mcopy a:/msdosdir . 将A 槽磁盘根目录中的msdosdir 目录以下的档案与目录都删除掉。
名称:mlabel 使用权限:所有使用者使用方式: mlabel [-vcs] drive:[new_label] 说明: 本程序可设定磁盘的卷标(Label)。如果磁盘上设定过卷标,mlabel 会将他显示给使用者。如果没有指定新卷标并且没有指定c 或s 选项,mlabel 会提示使用者输入新的卷标。如果直接按下Enter ,就会将原本的卷标删除。参数: -v 更多的讯息。-c 清除原有的卷标,不出现提示讯息。-s 显示目前的卷标,不出现提示讯息。范例: mlabel a:newlabel。将A 槽磁盘的卷标更改为newlabel。
名称:mcd 使用权限:所有使用者使用方式: mcd [msdosdirectory] 说明:可变更mtools 系列指令目前在MSDOS 磁盘上的工作目录。与MSDOS 的CD 指令不同,mcd 亦可变更工作磁盘。参数: 没有参数时会传回目前的工作目录。范例: mcd a:/temp 变更目前工作目录到a:/temp 中。mcd 传回目前工作目录。

名称: mkdir
使用权限:于目前目录有适当权限的所有使用者
使用方式:mkdir [-p] dirName
说明:建立名称为dirName 之子目录。
参数:-p 确保目录名称存在,不存在的就建一个。
范例:
在工作目录下,建立一个名为AAA 的子目录:
mkdir AAA
在工作目录下的BBB 目录中,建立一个名为Test 的子目录。若BBB 目录原本不存在,则建立一个。(注:本例若不加-p,且原本BBB目录不存在,则产生错误。)
mkdir -p BBB/Test
名称: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 相似,不同的是先显示内容再清除其它旧资料-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-file] [-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
touch 也可以制造一个空档(0 byte),例如DHCP Server 所需要的/etc.dbcpd.leases,dhcpd必须要有这个档案才能运作正常。[root@/root]#touch /etc/dhcpd.leases [root@/root]#ls –l /etc/dhcpd.less -rw-r—r—l root root 0 Jul 3 05:50 /etc/dhcpd.leases
名称: at
使用权限: 所有使用者
使用方式: at -V [-q queue] [-f file] [-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 : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入-l : 列出所有的指定(使用者也可以直接使用atq 而不用at -l) -d : 删除指定(使用者也可以直接使用atrm 而不用at -d) -v : 列出所有已经完成但尚未删除的指定
例子:
三天后的下午5 点钟执行/bin/ls :
at 5pm + 3 days /bin/ls
三个星期后的下午5 点钟执行/bin/ls :
t 5pm + 2 weeks /bin/ls
明天的17:20 执行/bin/date :
at 17:20 tomorrow /bin/date
1999 年的最后一天的最后一分钟印出the end of world !
名称:cat 使用权限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(屏幕或加> fileName 到另一个档案) 参数: -n 或--number 由1 开始对所有输出的行数编号-b 或--number-nonblank 和-n 相似,只不过对于空白行不编号-s 或--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行-v 或--show-nonprinting 范例: cat -n textfile1 > textfile2 把textfile1 的档案内容加上行号后输入textfile2 这个档案里cat -b textfile1 textfile2 >> textfile3 把textfile1 和textfile2 的档案内容加上行号(空白行不加)之后将内容附加到textfile3 里。

范例:
把textfile1 的档案内容加上行号后输入textfile2这个档案里
cat –n textfile1 > textfile2
把textfile1 和textfile2 的档案内容加上行号(空白行不加)之后将内容附加到textfile3 里
cat –b textfile1 textfile2 >>textfile3
名称: crontab
使用权限: 所有使用者
使用方式:
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
说明:
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定user 的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。如果不使用-u user 的话,就是表示设定自己的时程表。
餐数:
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是VI,如果你想用别的文字编辑器,则请先设定VISUAL 环境变量来指定使用那个文字编辑器(比如说setenv VISUAL joe) -r : 删除目前的时程表-l : 列出目前的时程表
时程表的格式如下:
f1 f2 f3 f4 f5 program
其中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 中,用crontab file 的方式来设定时程表。
例子:
每月每天每小时的第0 分钟执行一次/bin/ls :
0 7 * * * /bin/ls
在12 月内, 每天的早上6 点到12 点中,每隔20 分钟执行一次/usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午5:00 寄一封信给alex@domain.name :

0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜0 点20 分, 2 点20 分, 4 点20 分....执行echo "haha"
20 0-23/2 * * * echo "haha"
注意:
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上> /dev/null 2>&1 即可。
名称: sleep
使用权限: 所有使用者
使用方式: sleep [--help] [--version] number[smhd]
说明: sleep 可以用来将目前动作延迟一段时间
参数说明:
--help : 显示辅助讯息--version : 显示版本编号number : 时间长度,后面可接s、m、h 或d 其中s 为秒,m 为分钟,h 为小时,d 为日数
例子:
显示目前时间后延迟1 分钟,之后再次显示时间:
名称: 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 中﹐这样下次重新开机时系统时间才会持续抱持最新的正确值。
名称: 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 详细的内容如下:
o Time Resources
E 执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的CPU 时间。

e 执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的CPU 时间。
S 指令执行时在核心模式(kernel mode)所花费的时间,单位是秒。
U 指令执行时在使用者模式(user mode)所花费的时间,单位是秒。
P 执行指令时CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的CPU 时间除以总时间。
o 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。对同一个系统来说这是个常数
o IO Resources
F 此程序的主要内存页错误发生次数。所谓的主要内存页错误是指某一内存页已经置换到置换档(swap file)中,而且已经分配给其它程序。此时该页的内容必须从置换档里再读出来。
R 此程序的次要内存页错误发生次数。所谓的次要内存页错误是指某一内存页虽然已经置换到置换档中,但尚未分配给其它程序。此时该页的内容并未被破坏,不必从置换档里读出来
W 此程序被交换到置换档的次数
c 此程序被强迫中断(像是分配到的CPU 时间耗尽)的次数
w 此程序自愿中断(像是在等待某一个I/O 执行完毕,像是磁盘读取等等)的次数
I 此程序所输入的档案数
O 此程序所输出的档案数
r 此程序所收到的Socket Message
s 此程序所送出的Socket Message
k 此程序所收到的信号( Signal )数量
o 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 提供使用者下面的信息,不需其它参数:
1. 现在的时间
2. 系统开机运转到现在经过的时间
3. 联机的使用者数量
4. 最近一分钟,五分钟和十五分钟的系统负载
参数: -V 显示版本信息。范例: uptime 其结果为: 10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99
指令名称: chown
使用权限: root
使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file...
说明: Linux/Unix 是多人多任务操作系统﹐所有的档案皆有拥有者。利用chown 可以将档案的拥有者加以改变。一般来说﹐这个指令只有是由系统管理者(root)所使用﹐一般使用者没有权限可以改变别人的档案拥有者﹐也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
参数:
user : 新的档案拥有者的使用者IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改﹐才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更﹐而非该link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递归的方式逐个变更)--help : 显示辅助说明--version : 显示版本
范例:
将档案file1.txt 的拥有者设为users 群体的使用者jessie :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为users 群体的使用者lamport :
chmod -R lamport:users *
名称: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 [options] user[@address]
说明:finger 可以让使用者查询一些其它使用者的资料。会列出来的资料有:
1. Login Name
2. User Name
3. Home directory
4. Shell
5. Login status
6. mail status
7. .plan
8. .project
9. .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
名称: who
使用权线: 所有使用者都可使用
使用方式: who - [husfV] [user]
说明: 显示系统中有那些使用者正在上面,显示的数据包含了使用者ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU 使用量,动作等等。
参数:
-h : 不要显示标题列-u : 不要显示使用者的动作/工作-s : 使用简短的格式来显示-f : 不要显示使用者的上线位置-V : 显示程序版本

名称:/etc/aliases 使用权限:系统管理者使用方式: 请用newaliases 更新数据库说明:
sendmail 会使用一个在/etc/aliases 中的档案做使用者名称转换的动作。当sendmail 收到一个要送给xxx 的信时,它会依据aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如mailing list 就会用到这个功能,在mailinglist 中,我们可能会创造一个叫redlinux@link.ece.uci.edu 的mailinglist,但实际上并没有一个叫redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收给mailing list 处理程序负责分送的工作。
/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进制元格式的/etc/aliases.db。newaliases 的功能传是将/etc/aliases 转换成一个sendmail 所能了解的数据库。范例:
# newaliases
下面命令会做相同的事,
# sendmail -bi
相关命令: mail, mailq, newaliases, sendmail
名称:mail
使用权限:所有使用者
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
说明: mail 不仅只是一个指令﹐ mail 还是一个电子邮件程序﹐不过利用mail 来读信的人应该很少吧﹗对于系统管理者来说mail 就很有用﹐因为管理者可以用mail 写成script ﹐定期寄一些备忘录提醒系统的使用者。
参数: i 忽略tty 的中断讯号。(interrupt) I 强迫设成互动模式。(Interactive) v 打印出讯息﹐例如送信的地点﹑状态等等。(verbose) n 不读入mail.rc 设定档。s 邮件标题。c cc 邮件地址。b bcc 邮件地址。
范例:
将信件送给一个或以上的电子邮件地址﹐由于没有加入其它的选项﹐使用者必须输入标题与信件的内容等。而user2 没有主机位置﹐就会送给邮件服务器的user2 使用者。
mail user1@email.address mail user1@email.address user2

将mail.txt 的内容寄给user2 同时cc 给user1 。如果将这一行指令设成cronjob 就可以定时将备忘录寄给系统使用者。
mail -s 标题-c user1 user2 < mail.txt
名称:cp
使用权限:所有使用者
使用方式:
cp [options] source dest cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
参数:
-a 尽可能将档案状态、权限等资料都照原状予以复制。-r 若source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
指令:mesg
使用权限: 所有使用者
使用方式: mesg [y|n]
说明: 决定是否允许其它人传讯息到自己的终端机接口
参数:
y : 允许讯息传到终端机接口上。n : 不允许讯息传到终端机接口上。如果没有设定,则讯息传递与否则由终端机接口目前状态而定。
例子:
改变目前讯息设定,改成不允许讯息传到终端机接口上:
mesg n
与mesg 相关的指令有: talk,write,wall。
名称:/etc/aliases 使用权限:系统管理者使用方式: newaliases 说明:
sendmail 会使用一个在/etc/aliases 中的档案做使用者名称转换的动作。当sendmail 收到一个要送给xxx 的信时,它会依据aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如mailing list 就会用到这个功能,在mailinglist 中,我们可能会创造一个叫redlinux@link.ece.uci.edu 的mailinglist,但实际上并没有一个叫redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收给mailing list 处理程序负责分送的工作。

/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进制元格式的/etc/aliases.db。newaliases 的功能传是将/etc/aliases 转换成一个sendmail 所能了解的数据库。
参数:没有任何参数。范例:
# newaliases
下面命令会做相同的事,
# sendmail -bi
相关命令: mail, mailq, newaliases, sendmail
名称: talk
使用权限: 所有使用者
使用方式:
talk person [ttyname]
说明: 与其它使用者对谈
参数:
person : 预备对谈的使用者帐号,如果该使用者在其它机器上,则可输入person@machine.name ttyname : 如果使用者同时有两个以上的tty 联机,可以自行选择合适的tty 传讯息
例子.1 :
与现在机器上的使用者Rollaend对谈,此时Rollaend 只有一个联机:
talk Rollaend <br>
接下来就是等Rollaend响应,若Rollaend接受,则Rollaend输入`talk jzlee`即可开始对谈,结束请按ctrl+c
例子.2 :与linuxfab.cx上的使用者Rollaend对谈,使用pts/2来对谈:
talk Rollaend@linuxfab.cx pts/2<br>
接下来就是等Rollaend响应,若Rollaend接受,则Rollaend输入`talk jzlee@jzlee.home`即可开始对谈,结束请按ctrl+c
注意: 若屏幕的字会出现不正常的字符,试着按ctrl+l 更新屏幕画面。
名称: wall
使用权限: 所有使用者
使用方式:
wall [ message ]
使用说明:
wall 会将讯息传给每一个mesg 设定为yes 的上线使用者。当使用终端机接口做为标准传入时, 讯息结束时需加上EOF (通常用Ctrl+D)。
例子:
传讯息"hi" 给每一个使用者:
wall hi

名称: write
使用权限: 所有使用者
使用方式:
write user [ttyname]
说明: 传讯息给其它使用者
参数:
user : 预备传讯息的使用者帐号ttyname : 如果使用者同时有两个以上的tty 联机,可以自行选择合适的tty 传讯息
例子.1 :
传讯息给Rollaend,此时Rollaend 只有一个联机:
write Rollaend <br>
接下来就是将讯息打上去,结束请按ctrl+c
例子.2 :传讯息给Rollaend,Rollaend 的联机有pts/2,pts/3 :
write Rollaend pts/2<br>
接下来就是将讯息打上去,结束请按ctrl+c
注意: 若对方设定mesg n,则此时讯席将无法传给对方,
名称:nice
使用权限:所有使用者
使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]
说明:以更改过的优先序来执行程序, 如果未指定程序, 则会印出目前的排程优先序, 内定的adjustment 为10, 范围为-20 (最高优先序) 到19 (最低优先序)
参数:
-n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加adjustment --help 显示求助讯息--version 显示版本信息
范例:
将ls 的优先序加1 并执行:
nice -n 1 ls
将ls 的优先序加10 并执行:
nice ls 将k的优先次序加10并执行
注意: 优先序(priority) 为操作系统用来决定CPU 分配的参数,Linux 使用『回合制(round-robin)』的算法来做CPU 排程,优先序越高,所可能获得的CPU时间就越多。
名称:kill
使用权限:所有使用者
使用方式:

kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ]
说明:kill 送出一个特定的信号(signal) 给行程id 为pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止(TERM) 的信号
参数:
-s (signal) : 其中可用的讯号有HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用kill -l -p : 印出pid , 并不送出信号-l (signal) : 列出所有可用的信号名称
范例:
将pid 为323 的行程砍掉(kill) :
kill -9 323
将pid 为456 的行程重跑(restart) :
kill -HUP 456
名称:ps 使用权限:所有使用者使用方式:ps [options] [--help] 说明:显示瞬间行程(process) 的动态参数: ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义-A 列出所有的行程-w 显示加宽可以显示较多的信息-au 显示较详细的信息-aux 显示所有包含其它使用者的行程
au(x)输出格式
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID:pid
%CPU:占用的cpu使用率
VSZ:占用的内存使用率
RSS:占用的虚拟内存大小
TTY:占用的内存大小
STAT:该行程的状态
D:不可中断的静止
R:正在执行中
S:静止状态
T:暂停执行
Z:不存在但暂时无法消除

W:没有足够的内存分页可分配
<:高的先序的行程
N:低优先序的行程
L:有内存分页分配并锁在内存内
START:行程开始时间
COMMAND:所执行的指令。
名称:cut
使用权限:所有使用者
用法:cut -cnum1-num2 filename
说明:显示每行从开头算起num1 到num2 的文字。
范例:
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 开头算起前6 个字符
test2
this i
名称:pstree 使用权限:所有使用者使用方式: pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user] pstree -V 说明:将所有行程以树状图显示, 树状图将会以pid (如果有指定) 或是以init 这个基本行程为根(root) ,如果有指定使用者id , 则树状图会只显示该使用者所拥有的行程参数: -a 显示该行程的完整指令及参数, 如果是被内存置换出去的行程则会加上括号-c 如果有重复的行程名, 则分开列出(默认值是会在前面加上* 范例:
pstree init-+-amd |-apmd

|-atd |-httpd---10*[httpd] %pstree -p init(1)-+-amd(447) |-apmd(105) |-atd(339) %pstree -c init-+-amd |-apmd |-atd |-httpd-+-httpd | |-httpd | |-httpd | |-httpd ....
名称:skill
使用权限:所有使用者
使用方式: skill [signal to send] [options] 选择程序的规则
说明:
送个讯号给正在执行的程序,预设的讯息为TERM (中断) , 较常使用的讯息为HUP , INT , KILL , STOP , CONT ,和0
讯息有三种写法:分别为-9 , -SIGKILL , -KILL , 可以使用-l 或-L 已列出可使用的讯息。
一般参数:
-f 快速模式/尚未完成
-i 互动模式/ 每个动作将要被确认
-v 详细输出/ 列出所选择程序的信息
-w 智能警告讯息/ 尚未完成
-n 没有动作/ 显示程序代号
参数:选择程序的规则可以是, 终端机代号,使用者名称,程序代号,命令名称。
-t 终端机代号( tty 或pty )
-u 使用者名称
-p 程序代号( pid )
-c 命令名称可使用的讯号:
以下列出已知的讯号名称,讯号代号,功能。
名称(代号) 功能/ 描述
ALRM 14 离开
HUP 1 离开
INT 2 离开

KILL 9 离开/ 强迫关闭
PIPE 13 离开
POLL 离开
PROF 离开
TERM 15 离开
USR1 离开
USR2 离开
VTALRM 离开
STKFLT 离开/ 只适用于i386, m68k, arm 和ppc 硬件
UNUSED 离开/ 只适用于i386, m68k, arm 和ppc 硬件
TSTP 停止/产生与内容相关的行为
TTIN 停止/产生与内容相关的行为
TTOU 停止/产生与内容相关的行为
STOP 停止/强迫关闭
CONT 从新激活/如果在停止状态则从新激活,否则忽略
PWR 忽略/在某些系统中会离开
WINCH 忽略
CHLD 忽略
ABRT 6 核心
FPE 8 核心
ILL 4 核心
QUIT 3 核心
SEGV 11 核心
TRAP 5 核心
SYS 核心/或许尚未实作
EMT 核心/或许尚未实作
BUS 核心/核心失败
XCPU 核心/核心失败
XFSZ 核心/核心失败
范例:
停止所有在PTY 装置上的程序
skill -KILL -v pts/*
停止三个使用者user1 , user2 , user3
skill -STOP user1 user2 user3
其它相关的命令: kill
名称:renice
使用权限:所有使用者
使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

说明:重新指定一个或多个行程(Process)的优先序(一个或多个将根据所下的参数而定)
参数:
-p pid 重新指定行程的id 为pid 的行程的优先序-g pgrp 重新指定行程群组(process group)的id 为pgrp 的行程(一个或多个) 的优先序-u user 重新指定行程拥有者为user 的行程的优先序
范例:
将行程id 为987 及32 的行程与行程拥有者为daemon 及root 的优先序号码加1 :
renice +1 987 -u daemon root -p 32
注意: 每一个行程(Process)都有一个唯一的(unique) id。
名称:top
使用权限:所有使用者
使用方式:top [-] [d delay] [q] [c] [S] [s] [n]
说明:实时显示process 的动态
参数:
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按s q : 没有任何延迟的显示速度,如果使用者是有superuser 的权限,则top 将会以最高的优先序执行c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程( dead child process ) 的CPU time 累积起来s : 安全模式,将交谈式指令取消, 避免潜在的危机i : 不显示任何闲置(idle) 或无用(zombie) 的行程n : 更新的次数,完成后将会退出top b : 批次文件模式,搭配"n" 参数一起使用,可以用来将top 的结果输出到档案内
范例:
显示更新十次后退出;
top -n 10
使用者将不能利用交谈式指令来对行程下命令:
top -s
将更新显示二次的结果输入到名称为top.log 的档案里:
top -n 2 -b < top.log
指令expr
### 字符串长度
shell>> expr length "this is a test"
14
### 数字商数

shell>> expr 14 % 9
5
### 从位置处抓取字符串
shell>> expr substr "this is a test" 3 5
is is
### 数字符串only the first character
shell>> expr index "testforthegame" e
2
### 字符串真实重现
shell>> expr quote thisisatestformela
thisisatestformela
指令tr
### 1.比方说要把目录下所有的大写档名换为小写档名?
似乎有很多方式,"tr"是其中一种:
#!/bin/sh
dir="/tmp/testdir";
files=`find $dir -type f`;
for i in $files
do
dir_name=`dirname $i`;
ori_filename=`basename $i`
new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;
#echo $new_filename;
mv $dir_name/$ori_filename $dir_name/$new_filename
done
### 2.自己试验中...lowercase to uppercase

tr abcdef...[del] ABCDE...[del]
tr a-z A-Z
tr [:lower:] [:upper:]
shell>> echo "this is a test" | tr a-z A-Z > www
shell>> cat www
THIS IS A TEST
### 3.去掉不想要的字符串
shell>> tr -d this ### 去掉有关t.e.s.t
this
man
man
test
e
### 4.取代字符串
shell>> tr -s "this" "TEST"
this
TEST
th
TE
名称: reset, tset
使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
使用说明:
reset 其实和tset 是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变量、命令列或是其它的组态文件决定目前终端机的型态。如果指定型态是? 的话,这个程序会要求使用者输入终端机的型别。
由于这个程序会将终端机设回原始的状态,除了在login 时使用外,当系统终端机因为程序不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o 例如不小心把二进制元文件用cat 指令进到终端机,常会有终端机不再响应键盘输入,或是响应一些奇怪字符的问题。此时就可以用reset 将终端机回复至原始状态。选项说明:
-p
将终端机类别显示在屏幕上,但不做设定的动作。这个命令可以用来取得目前终端机的类别。

-e ch
将erase 字符设成ch
-i ch
将中断字符设成ch
-k ch
将删除一行的字符设成ch
-I
不要做设定的动作,如果没有使用选项-Q 的话,erase、中断及删除字符的目前值依然会送到屏幕上。
-Q
不要显示erase、中断及删除字符的值到屏幕上。
-r
将终端机类别印在屏幕上。
-s
将设定TERM 用的命令用字符串的型式送到终端机中,通常在.login 或.profile 中用
范例:
让使用者输入一个终端机型别并将终端机设到该型别的预设状态。
# reset ?
将erase 字符设定control-h
# reset -e ^B
将设定用的字符串显示在屏幕上
# reset -s Erase is control-B (^B). Kill is control-U (^U). Interrupt is control-C (^C). TERM=xterm;
名称: find 用法: find <path> <expression> 使用说明:
将档案系统内符合expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同信息的组合,只有完全相符的才会被列出来。
find 根据下列规则判断path 和expression,在命令列上第一个- ( ) , ! 之前的部份为path,之后的是expression。如果path 是空字符串则使用目前路径,如果expression 是空字符串则使用-print 为预设expression。
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案-amin n : 在过去n 分钟内被读取过

-anewer file : 比档案file 更晚被读取过的档案-atime n : 在过去n 天过读取过的档案-cmin n : 在过去n 分钟内被修改过-cnewer file :比档案file 更新的档案-ctime n : 在过去n 天过修改过的档案-empty : 空的档案-gid n or -group name : gid 是n 或是group 名称是name -ipath p, -path p : 路径名称符合p 的档案,ipath 会忽略大小写-name name, -iname name : 文件名称符合name 的档案。iname 会忽略大小写-size n : 档案大小是n 单位,b 代表512 字节的区块,c 表示字符数,k 表示kilo bytes,w 是二个字节。-type c : 档案类型是c 的档案。
o d: 目录
o c: 字型装置档案
o b: 区块装置档案
o p: 具名贮列
o f: 一般档案
o l: 符号连结
o s: socket
-pid n : process id 是n 的档案
你可以使用( ) 将表达式分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例: 将目前目录及其子目录下所有延伸文件名是c 的档案列出来。
# find . -name "*.c"
将目前目录其其下子目录中所有一般档案列出
# find . -ftype f
将目前目录及其子目录下所有最近20 分钟内更新过的档案列出
# find . -ctime -20
名称:compress
使用权限:所有使用者
使用方式:compress [-dfvcV] [-b maxbits] [file ...]
说明: compress 是一个相当古老的unix 档案压缩指令﹐压缩后的档案会加上一个.Z 延伸档名以区别

未压缩的档案﹐压缩后的档案可以以uncompress 解压。若要将数个档案压成一个压缩档﹐必须先将档案tar 起来再压缩。由于gzip 可以产生更理想的压缩比例﹐一般人多已改用gzip 为档案压缩工具。
参数: c 输出结果至标准输出设备(一般指荧幕) f 强迫写入档案﹐若目的档已经存在﹐则会被覆盖(force) v 将程序执行的讯息印在荧幕上(verbose) b 设定共同字符串数的上限﹐以位计算﹐可以设定的值为9 至16 bits 。由于值越大﹐能使用的共同字符串就越多﹐压缩比例就越大﹐所以一般使用默认值16 bits (bits) d 将压缩档解压缩V 列出版本讯息
范例:
将source.dat 压缩成source.dat.Z ﹐若source.dat.Z 已经存在﹐内容则会被压缩档覆盖。
compress -f source.dat
将source.dat 压缩成source.dat.Z ﹐并打印出压缩比例。-v 与-f 可以一起使用
compress -vf source.dat
将压缩后的资料输出后再导入target.dat.Z 可以改变压缩档名。
compress -c source.dat > target.dat.Z
-b 的值越大﹐压缩比例就越大﹐范围是9-16 ﹐默认值是16 。
compress -b 12 source.dat
将source.dat.Z 解压成source.dat ﹐若档案已经存在﹐使用者按y 以确定覆盖档案﹐若使用-df 程序则会自动覆盖档案。由于系统会自动加入.Z 为延伸档名﹐所以source.dat 会自动当作source.dat.Z 处理。
compress -d source.dat
Name: cpio - copy file archives in and out cpio -i [ bBcdfkmPrsStuvV6 ] [ -C bufsize ] [ -E file ] [ -H header ] [ -I file [ -M message ] ] [ -R id ] [ pattern ... ] cpio -o [ aABcLPvV ] [ -C bufsize ] [ -H header ] [ -O file [ -M message ] ] cpio -p [ adlLmPuvV ] [ -R id ] directory Description: An ironic term that refers to the GNU General Public License (the GPL), signifying a radical departure from standard copyright. Back-up utility, similar to tar. Option:

-i (copy in) cpio -i extracts files from the standard input. -o (copy out) cpio -o reads the standard input to obtain a list of path names and copies those files onto the standard output. -p (pass) cpio -p reads the standard input to obtain a list of path names of files. The following options can be appended in any sequence to the -o, -i, or -p options: -a Reset access times of input files after they have been copied. Access times are not reset for linked files when cpio -pla is specified (mutually exclusive with -m). -A Append files to an archive. The -A option requires the -O option. Valid only with archives that are files, or that are on floppy diskettes or hard disk partitions. -b Reverse the order of the bytes within each word. (Use only with the -i option.) -B Block input/output 5120 bytes to the record. The default buffer size is 512 bytes when this and the -C options are not used. -B does not apply to the pass option; -B is meaningful only with data directed to or from a character special device, for example, /dev/rmt/0m. -c Read or write header information in ASCII character form for portability. There are no UID or GID restrictions associated with this header format. Use this option between SVR4based machines, or the -H odc option between unknown machines. The -c option implies the use of expanded device numbers, which are only supported on SVR4-based systems. When transferring files between Solaris 1.x or Interactive UNIX and Solaris 2.x use -H odc.
gzip [-acdfhlLnNqrtvV][-S<压缩字尾字符串>][- <压缩率>][--best][--fast][档案] 常用的就-d 解压缩与-N -n 压缩档案-r则代表「recursive」将指定目录底下的所有档案和子目录一并处理
选项
-a --ascii ASCII文字模式


-c --stdout --to-stdout 压缩后档案输出至标准输出,不更动源文件。如果有多个input file的时候,会把所有档案连接后再送出。
-d --decompress --uncompress 解压缩
-f --force 强行压缩或解压缩
-h --help 显示online Help
-l --list 对每个被压缩的档案,列出以下讯息: compressed size: 压缩后的大小uncompressed size: 未压缩前的大小ratio: 压缩比率(0.0% if unknown)uncompressed_name: 未压缩前的文件名称
-L 显示版本版权讯息
-n 压缩档案时不储存原来档案的名称与时间
-N 相对于小写,储存原来档案的名称与时间
-q 不显示警告讯息
-r 指定目录下所有的档案和子目录一并处理
-S 更改压缩字尾字符串
-t 测试压缩档
-V 显示指令执行的过程
-v 版本讯息
-数字压缩比例1~9之间的数值

Rpm: Description: Command used to manage all of the rpm software packages on a Linux system.
Option:
 -i Install a package
 -q To see if a package is installed on the system.
 -U Update the package
 -e All information about a package is completely erased.
 -qa List all the packages installed on the system.
 -qi List a description of a package

 -ql List all the files in a package
 -qf Show which package contains a certain file
Name: rpm2cpio - Converts Red Hat Packge (RPM) to cpio archive rpm2cpio [filename] Description: rpm2cpio converts the .rpm file specified as its sole argument to a cpio archive on standard out. If no argument is given, a rpm stream is read from standard in. rpm2cpio rpm-1.1-1.i386.rpm rpm2cpio < glint-1.0-1.i386.rpm
名称:uudecode
使用权限:所有使用者
使用方式:uuencode [-hv] [file1 ...]
说明:
uudecode 将uuencode 编码后的档案还原﹐ uudecode 只会将begin 与end 标记之间的编码资料还原﹐程序会跳过标记以外的资料。
begin 644 file1.txt 15&AI<R!I<R!A(&9I;&4N"@H" end
这里的文字不会被译码
参数: h 列出指令使用格式(help) v 列出版本讯息
范例:
将file.uud 还原﹐而还原后的档名储存在file.uud 檔中。
uuencode file.uud
可以一起还原好几个档案。
uuencode file1.uud file2.uud
名称:uuencode
使用权限:所有使用者
使用方式:uuencode [-hv] [sourcefile] targetfile
说明:
早期在许多unix 系统的传送协议只能传送七位字符﹐并不支持二进制档案﹐像中文文字文件就有用到八位﹐所以无法完整地送到另一架机器上。uuencode 指令﹐可以将二进制文件转换成七

位的档案﹐传送到另一架机器上再以uudecode 还原。最常见的是用在以电子邮件传送二进制文件。uuencode 编码后的资料都以begin 开始﹐以end 作为结束。
begin 644 decode.dat
(内容编码)
end
begin 后的644 是unix 档案的存取权限代码。而decode.dat 则是还原后的档名。
参数: h 列出指令使用格式(help) v 列出版本讯息(version)
范例:
将source.dat 编码后存成file.uud 檔。由于uuencode 会将编码后的数据在荧幕上列出﹐所以必须将资料导入file.uud 中﹐而target.dat 是file.uud 还原后的文件名字﹐而不是编码后的档案。
uuencode source.dat target.dat > file.uud
执行指令后﹐由标准输入装置读入资料﹐简单地说是由键盘输入后在荧幕显示的数据﹐按Crtl + d 键后就会被编码﹐输出至file.uud 中。由于程序是以行为处理单位﹐若无法跳出程序﹐请多按几次Ctrl + d 直到程序结束为止。
uuencode target.dat > file.uud
类似上一个指令﹐不过使用一个导入的技巧﹐将source.dat 压缩后的资料传送给uuencode 处理之后﹐存成file.uud 檔。file.uud 档还原后就是source.dat.Z 檔。
compress -c source.dat | uuencode source.dat.Z > file.uud
显示版本讯息后﹐结束执行程序。
uuencode -v
名称: lpd
使用权限: 所有使用者
使用方式:lpd [-l] [#port] lpd 是一个常驻的打印机管理程序,它会根据/etc/printcap 的内容来管理本地或远程的打印机。/etc/printcap 中定义的每一个打印机必须在/var/lpd 中有一个相对应的目录,目录中以cf 开头的档案表示一个等待送到适当装置的印表工作。这个档案通常是由lpr 所产生。
lpr 和lpd 组成了一个可以离线工作的系统,当你使用lpr 时,打印机不需要能立即可用,甚至不用存在。lpd 会自动监视打印机的状况,当打印机上线后,便立即将档案送交处理。这个得所有的应用程序不必等待打印机完成前一工作。
参数:
-l: 将一些除错讯息显示在标准输出上。
#port: 一般而言,lpd 会使用getservbyname 取得适当的TCP/IP port,你可以使用这个参数强迫lpd 使用指定的port。
范例: 这个程序通常是由/etc/rc.d 中的程序在系统启始阶段执行。

名称lpq
lpq -- 显示列表机贮列中未完成的工作
用法
lpq [l] [P] [user]
说明
lpq 会显示由lpd 所管理的列表机贮列中未完成的项目。
范例
范例1. 显示所有在lp 列表机贮列中的工作
# lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes
相关函数
lpr,lpc,lpd
名称: lpr
使用权限: 所有使用者
使用方式:lpr [ -P printer ] 将档案或是由标准输入送进来的资料送到打印机贮列之中,打印机管理程序lpd 会在稍后将这个档案送给适当的程序或装置处理。lpr 可以用来将料资送给本地或是远程的主机来处理。
参数:
-p Printer: 将资料送至指定的打印机Printer,默认值为lp。
范例: 将www.c 和kkk.c 送到打印机lp。
lpr -Plp www.c kkk.c
名称lprm
lprm -- 将一个工作由打印机贮列中移除
用法
/usr/bin/lprm [P] [file...]
说明
尚未完成的打印机工作会被放在打印机贮列之中,这个命令可用来将常未送到打印机的工作取消。由于每一个打印机都有一个独立的贮列,你可以用-P 这个命令设定想要作用的印列机。如果没有设定的话,会使用系统预设的打印机。
这个命令会检查使用者是否有足够的权限删除指定的档案,一般而言,只有档案的拥有者或是系统管理员才有这个权限。
范例
将打印机hpprinter 中的第1123 号工作移除
lprm -Phpprinter 1123
将第1011 号工作由预设打印机中移除

lprm 1011
§ 1.8 less
名称:less
使用权限:所有使用者
使用方式
less [Option] filename
说明:、
less的作用与more十分相似,都可以用来浏览文本文件的内容,不同的是less允许使用者往回卷动,以浏览已经看过的部分,同时因为less并未在一开始就读入整个档案,因此在遇到大型档案的开启时,会比一般的文书编辑器(如vi)来的快速
名称: fdformat
使用权限: 所有使用者
使用方式:fdformat [-n] device
使用说明: 对指定的软盘机装置进行低阶格式化。使用这个指令对软盘格式化的时候,最好指定像是下面的装置:
/dev/fd0d360 磁盘驱动器A: ,磁盘为360KB 磁盘
/dev/fd0h1440 磁盘驱动器A: ,磁盘为1.4MB 磁盘
/dev/fd1h1200 磁盘驱动器B: ,磁盘为1.2MB 磁盘
如果使用像是/dev/fd0 之类的装置,如果里面的磁盘不是标准容量,格式化可能会失败。在这种情况之下,使用者可以用setfdprm 指令先行指定必要参数。
参数:
-n 关闭确认功能。这个选项会关闭格式化之后的确认步骤。
范例:
fdformat -n /dev/fd0h1440
将磁盘驱动器A 的磁盘格式化成1.4MB 的磁盘。并且省略确认的步骤。
名称: mkdosfs
使用权限: 所有使用者
使用方式: mkdosfs [ -c | -l filename ]
[ -f number_of_FATs ]
[ -F FAT_size ]
[ -i volume_id ]
[ -m message_file ]
[ -n volume_name ]


[ -r root_dir_entry ]
[ -s sector_per_cluster ]
[ -v ]
device
[ block_count ]

说明: 建立DOS 档案系统。device 指你想要建立DOS 档案系统的装置代号。像是/dev/hda1 等等。block_count 则是你希望配置的区块数。如果block_count 没有指定则系统会自动替你计算符合该装置大小的区块数。
参数:
-c 建立档案系统之前先检查是否有坏轨。
-l 从得定的档案中读取坏轨记录。
-f 指定档案配置表(FAT , File Allocation Table)的数量。默认值为2 。目前Linux 的FAT 档案系统不支持超过2 个FAT 表。通常这个不需要改。
-F 指定FAT 表的大小,通常是12 或是16 个字节。12 字节通常用于磁盘片,16 字节用于一般硬盘的分割区,也就是所谓的FAT16 格式。这个值通常系统会自己选定适当的值。在磁盘片上用FAT16 通常不会发生作用,反之在硬盘上用FAT12 亦然。
-i 指定Volume ID。一般是一个4 个字节的数字,像是2e203a47 。如果不给系统会自己产生。
-m 当使用者试图用这片磁盘或是分割区开机,而上面没有操作系统时,系统会给使用者一段警告讯息。这个参数就是用来变更这个讯息的。你可以先用档案编辑好,然后用这个参数指定,或是用-m - 这样系统会要求你直接输入这段文字。要特别注意的是,档案里的字符串长度不要超过418 个字,包括展开的跳栏符号(TAB)和换行符号(换行符号在DOS 底下算两个字符!)
-n 指定Volume Name,就是磁盘卷标。如同在DOS 底下的format 指令一样,给不给都可以。没有默认值。
-r 指定根目录底下的最大档案数。这里所谓的档案数包括目录。默认值是在软盘上是112 或是224 ,在硬盘上是512。没事不要改这个数字。
-s 每一个磁丛(cluster)的扇区数。必须是2 的次方数。不过除非你知道你在作什么,这个值不要乱给。
-v 提供额外的讯息
范例: mkdosfs -n Tester /dev/fd0 将A 槽里的磁盘片格式化为DOS 格式,并将卷标设为Tester
经验技巧
名称: mformat

使用权限: 所有使用者
使用方式:
mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks] [-1] [-k] drive:
在已经做过低阶格式化的磁盘上建立DOS 档案系统。如果在编译mtools 的时候把USE_2M 的参数打开,部分与2M 格式相关的参数就会发生作用。否则这些参数(像是S,2,1,M)不会发生作用。
参数:
-t 磁柱(synlider)数
-h 磁头(head)数
-s 每一磁道的扇区数
-l 卷标
-F 将磁盘格式化为FAT32 格式,不过这个参数还在实验中。
-I 设定FAT32 中的版本号。这当然也还在实验中。
-S 扇区大小代码,计算方式为sector = 2^(大小代码+7)
-c 磁丛(cluster)的扇区数。如果所给定的数字会导致磁丛数超过FAT 表的限制,mformat 会自动放大扇区数。
-s
-M 软件扇区大小。这个数字就是系统回报的扇区大小。通常是和实际的大小相同。
-a 如果加上这个参数,mformat 会产生一组Atari 系统的序号给这块软盘。
-X 将软盘格式化成XDF 格式。使用前必须先用xdfcopy 指令对软盘作低阶格式化的动作。
-C 产生一个可以安装MS-DOS 档案系统的磁盘影像文件(disk image)。当然对一个实体磁盘驱动器下这个参数是没有意义的。
-H 隐藏扇区的数目。这通常适用在格式化硬盘的分割区时,因为通常一个分割区的前面还有分割表。这个参数未经测试,能不用就不用。
-n 磁盘序号
-r 根目录的大小,单位是扇区数。这个参数只对FAT12 和FAT16 有效。
-B 使用所指定的档案或是设备的开机扇区做为这片磁盘或分割区的开机扇区。当然当中的硬件参数会随之更动。
-k 尽量保持原有的开机扇区。
-0 第0 轨的数据传输率
-A 第0 轨以外的数据传输率
-2 使用2m 格式
-1 不使用2m 格式
范例:
mformat a:

这样会用默认值把a: (就是/dev/fd0)里的磁盘片格式化。
名称: MAKEDEV 使用方法: MAKEDEV -V MAKEDEV [ -n ] [ -v ] update MAKEDEV [ -n ] [ -v ] [ -d ] device ... 使用说明: 这个命令可以用法新增/dev/ 下的装置档案,多数distribution 已经将所有的档案都产生,故一般而言不太会需要用到这个命令。
名称: dumpkeys 使用权限: 所有使用者使用方式:
dumpkeys [ -hilfn1 -Sshape -ccharset --help --short-info
--long-info --numeric --full-table --separate-lines
--shape=shape --funcs-only --keys-only --compose-only
--charset=charset ]
使用说明:
这个命令用来将键盘的对映表写到标准输出之中,输出的格式可以被loadkeys 命令加载。而这个表格的功能在于将键盘硬件所产生的扫描码(scan code),转换成ASCII 或是任何的字符串。
这是在Linux 上特有的指令,它允许你将键盘上的按键组合,如ctrl-a. shift-a 等转换成适当的字符串。例如你可以将alt-ctrl-f12 定义成『linux』,以后只要按下alt-ctrl-f12 就等于输入linux 这个字了。
要将alt-ctrl-f12 定义成linux 有二件事要做,首先你必需将alt-ctrl-f12 这个按键组合定义成某个功能键,在这里我们使用f20。
control alt keycode 88 = F20
上面的keycode 88 便是F12 这个键的硬件扫描码。下一步便是将F20 这个功能键定义成linux
string F20="linux"
将包括这二行的档案用loadkeys 加载后便可以用alt-ctrl-f12 来输入linux 了。chdrv, yact 等console 模式中文系统便是使用这个功能来重新定义键盘。选项: 相关命令: loadkeys
名称: loadkeys 使用权限: 所有使用者使用方式: loadkeys [ -d --default ] [ -h --help ] [ -q --quiet ] [ -v --verbose [ -v --verbose ]...]

[ -m --mktable ] [ -c --clearcompose ] [ -s --clearstrings ] [ filename... ] 使用说明: 这个命令可以根据一个键盘定义表改变linux 键盘驱动程序转译键盘输入过程。详细的说明请参考dumpkeys。
选项: -v --verbose 印出详细的资料,你可以重复以增加详细度。
-q --quiet 不要显示任何讯息。-c --clearcompose 清除所有composite 定义。
-s --clearstrings 将定串定义表清除。
相关命令: dumpkeys
名称: rdev 使用权限: 所有使用者使用方式: 使用这个指令的基本方式是: rdev [-rsvh ] [-o offset ] [ image [value [ offset ] ] ] 但是随着使用者想要设定的参数的不同,底下的方式也是一样:
rdev [ -o offset ] [ image [ root_device [ offset ] ] ]
swapdev [ -o offset ] [ image [ swap_device [ offset ] ] ]
ramsize [ -o offset ] [ image [ size [ offset ] ] ]
videomode [ -o offset ] [ image [ mode [ offset ] ] ]
rootflags [ -o offset ] [ image [ flags [ offset ] ] ]
说明: rdev 可以用来取得或是设定开机核心影像文件(kernel image)的各项参数,像是:
1. root device
2. swap device
3. RAM disk
4. video mode
参数:
-r
-s
-v
-h
-o

范例: uptime 其结果为: 10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99
名称:setleds 使用权限:一般使用者使用方式: setleds [-v] [-L] [-D] [-F] [{+|-}num] [{+|-}caps] [{+|-}scroll]说明: 用来设定键盘上方三个LED 的状态。在Linux 中,每一个虚拟主控台都有独立的设定。参数: -F 预设的选项,设定虚拟主控台的状态。-D 除了改变虚拟主控台的状态外,还改变预设的状态。-L 不改变虚拟主控台的状态,但直接改变LED 显示的状态。这会使得LDE 显示和目前虚拟主控台的状态不符合。我们可以在稍后用-L 且不含其它选项的setleds 命令回复正常状态。-num +num 将数字键打开或关闭。-caps +caps 把大小写键打开或关闭。-scroll +scroll 把选项键打开或关闭。范例: 将数字键打开,其余二个灯关闭。
# setleds +num -caps -scroll
名称: dd 使用权限: 所有使用者dd 这个指令在manual 里的定义是convert and copy a file
使用方式: dd [option]
如果你想要线上看manual, 可以试试: dd --help
或是info dd
如果你想要看看这个版本如何: dd --version

输入或输出dd if=[STDIN] of=[STDOUT]
强迫输入或输出的Size为多少Bytes bs: dd -ibs=[BYTE] -obs=[SIZE]
强迫一次只做多少个Bytes cbs=BYTES
跳过一段以后才输出seek=BLOCKS
跳过一段以后才输入skip=BLOCKS
当然你可以拿这个来方便的拷贝光盘(注意,你的光盘是标准的iso9660格式才可以这么做唷!)
dd if=/dev/cdrom of=cdrom.iso 其中if 后面以及of 后面的内容依你的需求调整。
然后给系统这个指令就可以烧了:
cdrecord -v cdrom.iso 这篇不是在讲cdrecord 的,所以上面的指令是最为简单但是不一定能符合您的硬件环境....
名称: ls
使用权限: 所有使用者
使用方式: ls [-alrtAFR] [name...]
说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数:
-a 显示所有档案及目录(ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) -l 除文件名称外,亦将档案型态、权限、拥有者、档案大小等信息详细列出-r 将档案以相反次序显示(原定依英文字母次序) -t 将档案依建立时间之先后次序列出-A 同-a ,但不列出"." (目前目录) 及".." (父目录) -F 在列出的文件名称后加一符号;例如可执行文件则加"*", 目录则加"/" -R 若目录下有档案,则以下之档案亦皆依序列出
范例:
列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面:
ls -ltr s*
将/bin 目录以下所有目录及档案详细资料列出:
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*" :
ls -AF

名称:df 使用权限: 所有使用者> 使用方式: df [选项]... [FILE]...
显示档案系统的状况,或是看所有档案系统的状况(默认值)
-a, --all 包含所有的具有0 Blocks 的档案系统
--block-size={SIZE} 使用{SIZE} 大小的Blocks
-h, --human-readable 使用人类可读的格式(默认值是不加这个选项的...)
-H, --si 很像-h, 但是用1000 为单位而不是用1024
-i, --inodes 列出inode 信息,不列出已使用block
-k, --kilobytes 就像是--block-size=1024
-l, --local 限制列出的档案结构
-m, --megabytes 就像--block-size=1048576
--no-sync 取得信息前不sync (默认值)
-P, --portability 使用POSIX 输出格式
--sync 在取得信息前sync
-t, --type=TYPE 限制列出档案系统的TYPE
-T, --print-type 显示档案系统的形式
-x, --exclude-type=TYPE 限制列出档案系统不要显示TYPE
-v (忽略)
--help 显示这个帮手并且离开
--version 输出版本信息并且离开

指令:e2fsck
使用权限: 超级使用者
使用方式: e2fsck [-pacnydfvFV] [-b superblock] [-B blocksize] [-l|-L bad_blocks_file] [-C fd] device
说明: 检查使用Linux ext2 档案系统的partition 是否正常工作
参数:
device : 预备检查的硬盘partition,例如:/dev/sda1 -a : 对partition 做检查,若有问题便自动修复,等同-p 的功能-b : 设定存放superblock 的位置-B : 设定单位block 的大小-c : 检查该partition 是否有坏轨-C file : 将检查的结果存到file 中以便查看

-d : 打印e2fsck 的debug 结果-f : 强制检查-F : 在开始检查前,将device 的buffer cache 清空,避免有错误发生-l bad_blocks_file : 将有坏轨的block资料加到bad_blocks_file 里面-L bad_blocks_file : 设定坏轨的block资料存到bad_blocks_file 里面,若无该档则自动产生-n : 将档案系统以[只读]方式开启-p : 对partition 做检查,若有问题便自动修复-v : 详细显示模式-V : 显示出目前e2fsck 的版本-y : 预先设定所有检查时的问题均回答[是]
例子:
检查/dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] :
e2fsck -a -y /dev/hda5
注意:
大部份使用e2fsck 来检查硬盘partition 的情况时,通常都是情形特殊,因此最好先将该partition umount,然后再执行e2fsck 来做检查,若是要非要检查/ 时,则请进入singal user mode 再执行。
指令:fdisk
用途:观察硬盘之实体使用情形与分割硬盘用。
使用方法:
一、在console 上输入fdisk -l /dev/sda ,观察硬盘之实体使用情形。
二、在console 上输入fdisk /dev/sda,可进入分割硬盘模式。
1. 输入m 显示所有命令列示。
2. 输入p 显示硬盘分割情形。
3. 输入a 设定硬盘激活区。
4. 输入n 设定新的硬盘分割区。
4.1. 输入e 硬盘为[延伸]分割区(extend)。
4.2. 输入p 硬盘为[主要]分割区(primary)。
5. 输入t 改变硬盘分割区属性。
6. 输入d 删除硬盘分割区属性。
7. 输入q 结束不存入硬盘分割区属性。
8. 输入w 结束并写入硬盘分割区属性。
名称:exportfs 使用权限:系统管理者使用方式: exportfs
说明:

参数: 没有任何参数。
范例:
# newaliases
下面命令会做相同的事,
# sendmail -bi
相关命令: mail, mailq, newaliases, sendmail
指令:fsck
使用权限: 超级使用者
使用方式: fsck [-sACVRP] [-t fstype] [--] [fsck-options] filesys [...]
说明: 检查与修复Linux 档案系统,可以同时检查一个或多个Linux 档案系统
参数:
filesys : device 名称(eg./dev/sda1),mount 点(eg. / 或/usr) -t : 给定档案系统的型式,若在/etc/fstab 中已有定义或kernel 本身已支持的则不需加上此参数-s : 依序一个一个地执行fsck 的指令来检查-A : 对/etc/fstab 中所有列出来的partition 做检查-C : 显示完整的检查进度-d : 打印e2fsck 的debug 结果-p : 同时有-A 条件时,同时有多个fsck 的检查一起执行-R : 同时有-A 条件时,省略/ 不检查-V : 详细显示模式
-a : 如果检查有错则自动修复-r : 如果检查有错则由使用者回答是否修复
例子:
检查msdos 档案系统的/dev/hda5 是否正常,如果有异常便自动修复:
fsck -t msdos -a /dev/hda5
注意:
此指令可与/etc/fstab 相互参考操作来加以了解。
名称: mount 使用权限: 系统管理者或/etc/fstab中允许的使用者使用方式: mount [-hV] mount -a [-fFnrsvw] [-t vfstype] mount [-fnrsvw] [-o options [,...]] device | dir

mount [-fnrsvw] [-t vfstype] [-o options] device dir 说明:
将某个档案的内容解读成档案系统,然后将其挂在目录的某个位置之上。当这个命令执行成功后,直到我们使用umnount 将这个档案系统移除为止,这个命令之下的所有档案将暂时无法被存取。
这个命令可以被用来挂上任何的档案系统,你甚至可以用-o loop 选项将某个一般的档案当成硬盘机分割挂上系统。这个功能对于ramdisk,romdisk 或是ISO 9660 的影像文件之解读非常实用。
参数
-V
显示程序版本-h
显示辅助讯息-v
显示较讯息,通常和-f 用来除错。-a 将/etc/fstab 中定义的所有档案系统挂上。
-F 这个命令通常和-a 一起使用,它会为每一个mount 的动作产生一个行程负责执行。在系统需要挂上大量NFS 档案系统时可以加快挂上的动作。
-f 通常用在除错的用途。它会使mount 并不执行实际挂上的动作,而是仿真整个挂上的过程。通常会和-v 一起使用。
-n 一般而言,mount 在挂上后会在/etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
-s-r 等于-o ro
-w 等于-o rw
-L 将含有特定卷标的硬盘分割挂上。
-U 将档案分割序号为的档案系统挂下。-L 和-U 必须在/proc/partition 这种档案存在时才有意义。
-t 指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
-o async 打开异步模式,所有的档案读写动作都会用异步模式执行。
-o sync 在同步模式下执行。

-o atime -o noatime 当atime 打开时,系统会在每次读取档案时更新档案的『上一次存取时间』。当我们使用flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
-o auto -o noauto 打开/关闭自动挂上模式。
-o defaults 使用预设的选项rw, suid, dev, exec, auto, nouser, and async.
-o dev -o nodev-o exec -o noexec 允许执行档被执行。
-o suid -o nosuid 允许执行档在root 权限下执行。
-o user -o nouser 使用者可以执行mount/umount 的动作。
-o remount 将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是只读的系统,现在用可擦写的模式重新挂上。
-o ro 用只读模式挂上。
-o rw 用可擦写模式挂上。
-o loop= 使用loop 模式用来将一个档案当成硬盘分割挂上系统。
范例
将/dev/hda1 挂在/mnt 之下。
#mount /dev/hda1 /mnt
将/dev/hda1 用只读模式挂在/mnt 之下。
#mount -o ro /dev/hda1 /mnt
将/tmp/image.iso 这个光盘的image 文件使用loop 模式挂在/mnt/cdrom之下。用这种方法可以将一般网络上可以找到的Linux 光盘ISO 文件在不烧录成光盘的情况下检视其内容。
#mount -o loop /tmp/image.iso /mnt/cdrom
相关命令umount

指令:fstab
使用权限: 超级使用者
使用方式: 使用编辑器来修改/etc/fstab (eg. vi /etc/fstab)
说明: 存放档案系统与目录结构对应资料的档案
fstab 字段说明:
第一栏(fs_spec): 实际的device 名称第二栏(fs_file): 对应到的目录结构(mount point) 第三栏(fs_vfstype):该partition 的档案系统,常见的有:
minix、ext、ext2、msdos、iso9660、nfs、swap
第四栏(fs_mntops): 在mount 时的参数第五栏(fs_freq): 在使用dump 时是否记录,不需要则输入0 第六栏(fs_passno): 决定在开机时执行fsck 的先后顺序
例子:
IDE 硬盘分成两个partition 与一个swap,还有一台光驱跟一台软盘机的情形:
<pre> /dev/hda1 / ext2 defaults 1 1 <br> /dev/hda5 /home ext2 defaults 1 2 <br> /dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0 <br> /dev/hda6 swap swap defaults 0 0 <br> /dev/fd0 /mnt/floppy ext2 noauto,owner 0 0 <br> none /proc proc defaults 0 0 <br> none /dev/pts devpts gid=5,mode=620 0 0 <br> </pre>
指令:mkfs
使用权限: 超级使用者
使用方式: mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
说明: 建立linux 档案系统在特定的partition 上
参数:
device : 预备检查的硬盘partition,例如:/dev/sda1 -V : 详细显示模式-t : 给定档案系统的型式,Linux 的默认值为ext2 -c : 在制做档案系统前,检查该partition 是否有坏轨-l bad_blocks_file : 将有坏轨的block资料加到bad_blocks_file 里面block : 给定block 的大小
例子:
在/dev/hda5 上建一个msdos 的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来:
mkfs -V -t msdos -c /dev/hda5

名称: swapon 使用者权限: 超级使用者(super-user) 使用方式: /sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s] -h 请帮帮我-V 显示版本讯息-s 显示简短的装置讯息-a 自动激活所有SWAP装置-p 设定优先权,你可以在0到32767中间选一个数字给他。或是在/etc/fstab 里面加上pri=[value] ([value]就是0~32767中间一个数字),然后你就可以很方便的直接使用swapon -a 来激活他们,而且有优先权设定。

 


--------------------------------------------------------------------------------
此文章相关评论:

该文章有23个相关评论如下:(点这儿可以发表评论)

rwx 发表于: 2002/12/20 08:58am

good idea!不过最好加上分类目录以便查询 :em46:

林雨亭 发表于: 2002/12/20 09:11am

不好查

rinehart 发表于: 2002/12/20 09:13am

收集的差不多的时候我可以做成文件,有索引让大家用啊 !

seawolf1979 发表于: 2002/12/20 09:37am

感觉应该列出常用的命令和不常用却非常有用的命令 比较实用
如果是单独的大全的话足够厚厚的一本书(市面上就有的 :) )


wxy 发表于: 2002/12/20 09:39am

建议一个命令一个帖子,否则真眼晕。

alstone 发表于: 2002/12/20 09:49am

实在是居家旅行之必备!!

rinehart 发表于: 2002/12/20 10:19am

其实以上都是常用的啊!!

Trotter 发表于: 2002/12/20 10:51am

RPM
一、安装

命令格式:

rpm -i ( or --install) options file1.rpm ... fileN.rpm

参数:

file1.rpm ... fileN.rpm 将要安装的RPM包的文件名

详细选项:

-h (or --hash) 安装时输出hash记号 (``#)
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix <path> 将软件包安装到由 <path> 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy <host> 用 <host> 作为 FTP代理
--ftpport <port> 指定FTP的端口号为 <port>

通用选项

-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>

二、删除

命令格式:

rpm -e ( or --erase) options pkg1 ... pkgN

参数

pkg1 ... pkgN :要删除的软件包

详细选项

--test 只执行删除的测试
--noscripts 不运行预安装和后安装脚本程序
--nodeps 不检查依赖性

通用选项

-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>

三、升级

命令格式

rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm

参数

file1.rpm ... fileN.rpm 软件包的名字

详细选项

-h (or --hash) 安装时输出hash记号 (``#)
--oldpackage 允许"升级"到一个老版本
--test 只进行升级测试
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--percent 以百分比的形式输出安装的进度。
--noscripts 不运行预安装和后安装脚本
--prefix <path> 将软件包安装到由 <path> 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy <host> 用 <host> 作为 FTP代理
--ftpport <port> 指定FTP的端口号为 <port>

通用选项

-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>

四、查询

命令格式:

rpm -q ( or --query) options

参数:

pkg1 ... pkgN :查询已安装的软件包

详细选项

-p <file>(or ``-) 查询软件包的文件
-f <file> 查询<file>属于哪个软件包
-a 查询所有安装的软件包
--whatprovides <x> 查询提供了 <x>功能的软件包
-g <group> 查询属于<group> 组的软件包
--whatrequires <x> 查询所有需要 <x> 功能的软件包

信息选项

<null> 显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能

通用选项

-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>

五、校验已安装的软件包

命令格式:

rpm -V ( or --verify, or -y) options

参数

pkg1 ... pkgN 将要校验的软件包名

软件包选项

-p <file> Verify against package file <file>
-f <file> 校验<file>所属的软件包
-a Verify 校验所有的软件包
-g <group> 校验所有属于组 <group> 的软件包

详细选项

--noscripts 不运行校验脚本
--nodeps 不校验依赖性
--nofiles 不校验文件属性

通用选项

-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>

六、校验软件包中的文件

语法:

rpm -K ( or --checksig) options file1.rpm ... fileN.rpm

参数:

file1.rpm ... fileN.rpm 软件包的文件名

Checksig--详细选项

--nopgp 不校验PGP签名

通用选项

-v 显示附加信息
-vv 显示调试信息
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>


七、其它RPM选项

--rebuilddb 重建RPM资料库
--initdb 创建一个新的RPM资料库
--quiet 尽可能的减少输出
--help 显示帮助文件
--version 显示RPM的当前版本






--------------------------------------------------------------------------------
相关文章
freeradius+mysql为华为防火墙做vpn用户验证 2006-9-4 8:50:45
7200路由模拟器使用手册 2006-8-20 19:58:24
网络故障处理手册 2006-7-25 14:09:43
Solaris系统安全之审计 2006-7-22 17:26:03
Linux网络配置工具netconf 2006-7-13 8:17:41
如何使用Cisco IOS文件系统命令 2006-7-13 8:14:53
路由器默认密码 2006-6-28 23:05:49
DNS服务器日志维护 2006-6-26 17:23:00
服务器的日志合并统计 2006-6-17 11:31:34
root密码丢了,怎么办? 2006-6-17 11:07:25
架构根据电信、网通用户自动解析不同IP的DNS服务器 2006-6-17 11:05:57
基于mysql的bind(bind-9.3.1或更高版本) 2006-6-17 10:07:17
DHCP + DNS (bind) == DDNS 2006-6-17 10:04:25
DNS网通电信互通解决方案 2006-6-17 10:00:42
解决双出口校园网瓶颈 2006-6-17 9:47:20
Linux下软件RAID的实现 2006-6-14 19:20:39
ping的高级用法 2006-6-12 12:35:59
用PHP编写PDF文档生成器 2006-6-11 8:50:26
Linux磁盘存储区管理原理与技巧 2006-6-10 9:57:51
chroot bind on RedHat9 安裝實錄 2006-5-29 11:10:16
Solaris中的酷命令 2006-5-25 19:47:03
网络安全讲座之八:审计结果 2006-5-24 19:46:24
网络安全讲座之七:IDS系统 2006-5-24 19:45:52
网络安全讲座之六:侦察与工具 2006-5-24 19:43:53
网络安全讲座之五:文件系统安全 2006-5-24 19:43:20
网络安全讲座之四:账号安全 2006-5-24 19:42:35
网络专业人士笔记 2006-5-22 10:06:48
VSFTPD的高手篇 2006-5-19 16:13:43
Linux 进程管理 2006-5-12 16:21:51
探查DNS服务器运行状况 2006-5-12 15:55:08
企业网站服务器负载均衡技术 2006-5-8 19:33:36
实现四台Web服务器的负载均衡 2006-5-8 19:32:09
find命令详解 2006-5-8 15:35:41
文件内容查询命令 2006-5-8 15:34:04
CDN 内容分发网络技术 2006-5-8 15:30:39
使用OPENVPN实现各机房的互通 2006-5-8 14:34:04
OpenVPN使用User/Pass验证登录 2006-5-8 14:33:08
vsftp配置大全 2006-5-6 18:17:32
建立一个带宽、线程可控的下载型WEB网站 2006-4-30 13:53:11
Linux 作为 DHCP 服务器 2006-4-30 13:47:54
使linux系统对ping不反应 2006-4-30 13:38:17
分级防御对Linux服务器的攻击 2006-4-30 13:28:03
SNARE-系统入侵分析和报告环境 2006-4-30 13:16:31
Linux下配置完整安全的DHCP服务器详解 2006-4-30 12:46:51
让Linux成为DNS服务器 2006-4-30 12:32:45
在Cisco设备上实现IOS DHCP Server的功能 2006-4-30 12:31:15
向P2P通信宣战(关于封BT下载软件) 2006-4-4 8:07:19
用专用Linux日志服务器增强系统安全 2006-4-3 13:37:51
正确认识宽带路由器的主要参数 2006-3-20 13:10:39
网络常见攻击方式及对应防御方式概述 2005-12-25 14:56:55
基于网络IDS的典型配置 2005-12-14 8:46:10
Linux必学的系统安全命令 2005-12-13 18:02:56
交换机故障的一般分类和排障步骤 2005-12-13 14:44:33
Cisco IOS进程调试 2005-11-26 20:15:38
linux忘记了密码怎么办 2005-11-25 10:13:49
Linux中文件查找技术大全 2005-11-25 10:05:27
LVM使用手册 2005-11-25 9:55:01
一份非常内行的Linux LVM HOWTO 2005-11-25 9:54:20
思科IOS 12.3新特性 2005-11-21 9:32:14
Linux 安全设置手册 2005-11-12 16:07:52
《网络基础学习之二十》路由器的配置 2005-11-11 10:03:00
《网络基础学习之十四》交换机配置全接触 2005-11-11 9:56:00
《网络基础学习之十》组建小型C/S网络 2005-11-11 9:50:23
《网络基础学习之二》常见局域网拓扑及操作系统 2005-11-11 9:38:06
Sniff网络基础原理和软件实现技巧详解 2005-11-5 21:15:12
FIND的妙用 2005-10-28 14:16:18
VI的使用 2005-10-28 14:15:42
系统入侵者攻击企业或敏感数据网络方法白皮书 2005-10-11 10:52:53
在RedHat9上构建小型的入侵检测系统 2005-9-20 14:14:17
解析入侵检测系统的性能的辨别方法 2005-9-14 10:51:07
多服务器的日志合并统计 2005-8-29 15:16:44
Linux 2.4 Packet Filtering HOWTO 简体中文版 2005-8-19 8:27:48
利用网络漏洞扫描系统保障系统与网络的安全 2005-8-16 17:46:26
Web服务器日志统计分析完全解决方案 2005-8-10 12:27:24
网络使用的学习总结 2005-8-10 8:27:09
一块网卡绑定多IP与多网卡使用一个IP 2005-8-8 9:38:37
Linux常见的紧急情况的处理方法 2005-8-4 13:13:00
AWStats: 跨平台的日志分析工具——在GNU/Linux和Windows平台上的使用简介 2005-7-28 16:44:17
2005年网络工程师考试题目预测(1) 2005-7-6 20:54:53
2005年网络工程师考试题目预测(2) 2005-7-6 20:53:26
CCNP-CIT中文笔记 完整版 2005-6-24 15:31:49
网络流量监控器mrtg全攻略 2005-6-17 15:03:36
多个网卡绑定一个IP地址(bonding) 2005-6-10 21:18:12
再探安装多操作系统分区,grub的设置问题 2005-6-10 21:14:14
用安装光盘来修复grub 2005-6-10 21:12:03
dos下用grub.exe修复启动故障 2005-6-10 21:10:44
软件vpn与硬件的优势对比 2005-6-3 12:14:03
vsftpd架设匿名FTP,本地用户和虚拟用户mysql登录 2005-6-3 12:12:34
把linux配置成pix 的日志主机 2005-6-3 12:07:51
netfilter/iptables模块编译及应用 2005-6-3 12:04:20
在Linux操作系统下备份恢复技术的应用 2005-6-3 11:53:31
GRUB安装,配置及使用汇总 2005-4-20 12:19:49
基于网络IDS的典型配置 2005-3-24 9:01:23
Solaris启动过程详解 2005-3-23 13:22:12
在AS3.0上安装oracle 10g 2004-11-29 8:43:02
恢复Windows2000/XP 管理员密码 2004-11-24 8:38:12
Linux下加挂文件系统 2004-11-15 14:34:32
学会使用Linux性能分析工具 2004-11-15 14:32:48
Linux常见故障的紧急处理方法 2004-11-10 16:26:57
100多道简单网络基础题(答案) 2004-11-9 10:09:43
BIOS设置攻略,比较全面! 2004-10-21 8:47:33
一个网卡绑定多个IP地址 2004-10-19 8:41:47
多个网卡绑定一个IP地址(bonding) 2004-10-19 8:41:07
系统安全名词列表(2) 2004-10-8 9:40:16
系统安全名词列表(1) 2004-10-8 9:38:02
插翅难逃 根据Web服务器的记录来追踪黑客 2004-9-17 8:56:49
[Linux命令]文件内容查询命令 2004-9-9 9:55:07
[Linux命令]文件的复制、删除和移动命令 2004-9-9 9:53:44
[Linux命令]目录的创建与删除命令 2004-9-9 9:52:44
[Linux命令]改变文件或目录的访问权限命令 2004-9-9 9:51:44
[Linux命令]备份与压缩命令 2004-9-9 9:49:50
[Linux命令]在Linux环境下运行DOS命令 2004-9-9 9:49:01
[Linux命令]进程管理及作业控制 2004-9-9 9:48:08
[Linux命令]进程查看 2004-9-9 9:47:05
[Linux命令]进程调度 2004-9-9 9:45:59
[Linux命令]磁盘操作与管理 2004-9-9 9:44:58
[Linux命令]与系统管理有关的命令 2004-9-9 9:44:03
[Linux命令]Linux下的打印工作命令 2004-9-9 9:43:09
[Linux命令]shell命令 2004-9-9 9:40:44
[Linux命令]屏幕文本编辑器Vi 2004-9-9 9:39:16
[Linux命令]进入与退出系统 2004-9-9 9:37:44
怎样在Cisco设备上实现IOS DHCP Server的功能 2004-9-1 11:19:27
实现四台Web服务器的负载均衡 2004-9-1 11:15:32
Linux下硬盘分区的最佳方案 2004-9-1 10:24:46
网络流量监控器mrtg全攻略 2004-8-21 10:14:35
使用Mrtg监控网络流量(Linux版本) 2004-8-21 10:06:06
硬盘数据恢复实例全解 2004-8-21 9:55:55
实现四台服务器的负载均衡 2004-8-13 13:01:59
计算机端口介绍[详细列表] 2004-8-9 8:02:50
关于Sniffer 2004-7-26 8:47:20
恢复Windows2000/XP 管理员密码 2004-7-22 14:21:55
CIT中文笔记 2004-7-15 11:52:42
一种 Web 应用程序级别的 Cluster 实现技术 2004-7-14 16:23:12
linux环境下发现并阻止系统攻击 2004-7-1 13:37:59
在Linux下调整网卡的工作模式 2004-7-1 13:09:52
Linux 网络的多播 IP 技术 2004-6-18 8:05:59
使用 Shell 2004-6-18 8:02:11
华为的产品分类 2004-6-7 7:57:52
Linux常用命令索引 2004-5-31 8:02:27
Linux常见故障的紧急处理方法 2004-5-26 14:08:31
VNC的安装与使用 2004-5-26 14:06:49
linux 下的差异和增量备份 2004-5-26 13:50:31
Linux一句话精彩问答-网络相关篇 2004-5-26 13:44:58
Linux一句话精彩问答-网络无关篇 2004-5-26 13:43:14
网站基本规划书 2004-5-26 12:16:06
將 iptables 的規則寫成 shell 執行檔 2004-4-1 8:46:56
Ghost V8.0 使用详解 2004-3-30 14:52:47
mac地址更改全攻略 2004-3-16 16:59:30
深入学习Linux下的网络监听技术 2004-2-20 13:53:41
WEB安全工具 2004-2-20 13:51:23
Linux口令恢复任我行 2004-2-20 13:48:54
Linux实现简单而有效的IDS系统 2004-2-20 13:45:34
netfilter和squid配合创建透明代理的问题讨论 2004-2-18 9:22:08
网络端口及其详解分页 2004-2-17 9:03:12
Snort 中文手册 2004-1-29 11:53:10
U盘上的LINUX 2004-1-29 11:49:46
Linux支持ASP 安装配置手册 2004-1-24 19:16:30
TCPDUMP中文手册 2004-1-8 9:25:54
Linux软件安装一般方法 2003-12-31 20:57:02
LINUX新手入门及安装配置faq200(下) 2003-12-31 20:54:57
LINUX新手入门及安装配置faq200(上) 2003-12-31 20:51:43
Rhl9.0中qq必杀 2003-12-31 20:47:00
Linux实现ip和mac绑定 2003-12-31 20:40:01
在RedHat9下配置时间服务器 2003-12-31 20:35:06
高性能linux双效防火墙howto 2003-12-31 20:32:05
Linux 运行级init详解 2003-12-31 20:23:27
好用的Linux小工具:Autofs 2003-12-31 20:21:19
Linux教程-进程查看 2003-12-31 20:12:18
Ifconfig网络配置工具详解 2003-12-31 20:11:15
使用x-window的远程显示 2003-12-31 20:09:46
Linux常见紧急情况处理方法 2003-12-31 20:06:21
用webalizer分析web日志 2003-12-31 20:03:04
在unix linux下安装配置DHCP服务 2003-12-31 20:00:40
用 Linux 打造路由器 2003-11-25 9:55:06
Grub配置杂谈(转载) 2003-11-23 10:03:05
限制单个IP并发TCP连接的iptables方法 2003-11-20 14:06:11
使用图形客户端远程访问Linux服务器 2003-11-19 10:42:48
Symantec.Ghost.8.0企业版使用全攻略 2003-11-4 8:57:43
装机软件合集 2003-10-31 9:28:44
通过设置Cisco路由器防止分布式D.O.S攻击手段的细节 2003-10-30 16:56:20
在防火墙环境下DNS的安装与设置 2003-10-30 11:24:12
linux经典问题==程序开发篇 2003-10-30 11:20:52
linux经典问题==网络篇 2003-10-30 11:20:02
linux经典问题==基础篇 2003-10-30 11:19:02
LINUX 常见问题1000个详细解答 2003-10-29 14:13:25
RedHat 9.0上ADSL最终解决方案 2003-10-23 15:12:36
ADSL+RH8.0透明网关指南 2003-10-23 15:11:40
Redhat9+ADSL+IPTABLES+DHCPD解决方案 2003-9-17 8:44:16
【FAQ】RPM软件包使用常见问题 2003-9-17 8:35:09
网络层访问权限控制技术 ACL详解 2003-9-9 8:49:02
最佳的75个安全工具 2003-9-5 15:18:38
基于Linux的集群系统(八) 2003-9-1 18:53:47
基于Linux的集群系统(七) 2003-9-1 18:45:05
基于Linux的集群系统(六) 2003-9-1 18:41:44
基于Linux的集群系统 2003-9-1 18:32:33
基于Linux的集群系统(二) 2003-9-1 18:27:32
基于linux的集群系统(一) 2003-9-1 18:25:40
20%的SOLARIS知识解决80%的问题 2003-8-29 15:16:51
理解Linux系统的日志 2003-8-27 13:41:13
Linux远程启动 2003-8-27 13:22:01
调谐LINUX网络性能之网络配置文件详解 2003-8-27 13:16:13
制作自己的Floppy-Linux Step By Step 2003-8-27 13:12:27
Lynx 简明使用指南 2003-8-19 9:42:57
Linux服务器的一些基本应用 2003-8-15 12:11:07
RedHat7.3 上建立网通拨号的上网共享 2003-8-15 11:03:32
Linux下如何接ADSL一类的宽带猫带动局域网上internet (转) 2003-8-15 10:45:23
Linux系统命令分类详解 (2) 2003-8-12 9:23:12
Linux系统命令分类详解(1) 2003-8-12 9:22:30
在RedHat下建立群集 2003-8-12 9:13:09
Debian GNU/Linux下的入侵检测系统 2003-8-12 8:41:10
快速建立一个入侵检测系统 2003-8-12 8:39:47
在LINUX中实现流量控制器 2003-8-12 8:37:08
Sino-trade.com集群技术报告 2003-8-12 8:24:37
Redhat advance server 2.1集群的安装与管理 2003-8-12 8:21:31
如何在Linux下实现设备的配置 2003-8-12 8:14:10
Linux下的NAT及防火墙的混合应用 2003-8-5 8:15:16
TcpDump。 2003-8-5 7:34:29
用 Linux 打造路由器 2003-8-5 7:33:33
用Iptables+Red Hat Linux 9.0 做ADSL 路由器 2003-8-5 7:23:08
网络通信命令详解 2003-8-5 7:14:31
如何安装双硬盘 2003-8-4 10:15:35
Redhat 8.0系统配制命令 2003-7-30 18:20:02
linux常见问题FAQ 2003-7-30 18:01:57
Linux系统下的扫描器及防范 2003-7-30 17:26:42
解析Linux网络分析的三大利器 2003-7-30 17:21:18
iptables基础,绝对的基础 2003-7-30 17:17:23
Linux服务器架设实例 2003-7-30 17:06:11
linux系统安全工具列表 2003-7-30 16:53:01
构建小型的入侵检测系统(RedHat9) 2003-7-30 16:50:32
Linux的打印原理及其命令的使用 2003-7-29 18:47:41
系统安全名词列表 2003-7-29 10:27:02
Linux下软件的基本安装和卸载 2003-7-28 9:28:29
Linux 的带宽管理系统 2003-7-21 9:01:23
用实验快速学习Samba 2003-7-21 8:40:19
用实验快速掌握Apache 2003-7-21 8:39:01
用实验快速配置Nfs 2003-7-21 8:37:07
用实验快速学习sendmail 2003-7-21 8:35:36
iptables扩展功能的增加 2003-7-19 19:11:25
Solaris 问答集 2003-7-19 19:06:09
iptable 使用实例 2003-7-19 18:54:18
[分享]玩转Xwindow 终端 2003-7-15 8:39:23
各类unix和linux密码丢失解决方法 2003-7-15 8:34:04
DNS配置全文 2003-7-14 10:35:53
网络流量监控器mrtg全攻略 2003-7-14 9:37:34
使用Mrtg监控网络流量 2003-7-14 9:36:09
linux应用软件谈之远程桌面控制篇 2003-7-14 8:56:59
基于Linux的路由器和防火墙配置 2003-7-14 8:52:12
架设基于Linux的服务器集群 2003-7-14 8:49:43
关于双连接的负载均衡 2003-7-14 8:49:23
使用TC实现基于linux的流量管理 2003-7-14 8:38:01
Oracle 9.2.0.1 on redhat 8 精装版 2003-7-14 8:33:33
Installing Oracle 9i R2 (9.2.0.1.0) on Red Hat 9 2003-7-14 8:31:06
用FDISK进行硬盘分区 2003-7-13 20:31:51
[转帖]实现四台服务器的负载均衡 2003-7-13 19:03:25
win2000忘记administrator密码的解决方案 2003-7-13 18:58:23
redhat 7.2下面配置VPN客户端理论联系实际! 2003-7-13 18:49:26
限制单个IP并发TCP连接的iptables方法 2003-7-13 18:48:16
在unix上让apache支持asp 2003-7-13 18:42:32
redhat linux 9.0的samba设置详解(原创) 2003-7-13 18:15:31
redhat linux 9.0 VSFTP配置大权(转载) 2003-7-13 18:13:25
常用的Linux网络安全工具介绍 2003-7-13 18:11:03
SSH 指南 2003-7-13 18:06:29
非常全面的NFS文档(FOR LINUX) 2003-7-13 18:04:38
XX校校园网实现(VLAN及策略路由的实现) 2003-7-13 17:53:32
Linux启动过程综述 2003-7-13 17:50:08
学习Linux的七点忠告 2003-7-13 17:48:46
在win2000中使用mrtg进行实时流量监测 2003-7-11 22:14:10
理解 Linux 配置文件 2003-7-4 9:25:55
tcpdump使用说明 2003-7-2 10:03:10
[转帖]:攻破天网的几种办法 2003-7-2 9:55:38
Windows下Ping命令详解及使用小技巧 2003-7-2 9:06:47
Linux经典使用技巧8则 2003-7-1 8:39:51
Linux下文件查找技术大全 2003-7-1 8:38:50
Ifconfig网络配置工具详解 2003-6-27 8:28:34
linux下的dns设置详解 2003-6-27 8:28:11
Linux代理服务全攻略 2003-6-27 8:24:29
linux 操作系统大全(全部LINUX提供下载) 2003-6-27 8:22:19
电脑书籍下载网站集锦 2003-6-27 8:18:43
完美安装mplayer手册 2003-6-27 8:16:55
redhat linux 9.0 VSFTP配置大权 2003-6-10 10:22:56
RedHat Linux 8.0基本服务的配置手册 2003-5-25 21:09:24
RedHat 8.0提供ADSL共享上网的解决办法 2003-5-25 21:07:48
Linux下实现集群负载均衡 2003-5-25 21:04:02
DNS在RH8.0上的成功配置 2003-5-25 20:58:28
Linux 组网入门 2003-5-25 20:56:32
iptables的状态检测机制 2003-5-22 10:40:37
用Linux防火墙伪装抵住黑客攻击 2003-5-21 10:00:55
Linux 2.4内核下新型包过滤结构的使用 2003-5-21 9:59:12
Ifconfig网络配置工具详解 2003-5-19 9:40:58
linux下的dns设置详解 2003-5-19 9:39:26
Linux新手入门教程 2003-5-16 23:18:21
系统管理进阶-用户管理 2003-5-14 9:54:39
防火墙软件Netfilter 2003-5-13 9:37:45
Linux 2.4中netfilter框架实现 2003-5-13 9:35:24
Samba服务器的使用 2003-5-6 14:07:19
学习Linux网络编程(1) 2003-5-5 13:40:52
TCPDUMP中文手册 2003-5-5 13:34:53
Redhat Linux 8.0工作站服务加载列表解释 2003-5-5 13:33:38
Linux 的 常 用 网 络 命 令 2003-5-5 13:30:14
Linux 指令大全 2003-5-5 13:29:23
PHP新手上路 2003-4-27 11:50:38
PHP的十个高级技巧 2003-4-27 11:04:11
PHP中执行系统外部命令 2003-4-27 10:57:29
PHP中运行只有root用户才可以运行的外部程序 2003-4-27 10:55:04
VMWARE TOOLS 2003-4-25 15:41:36
Sniffer的一些资料 2003-4-9 9:34:08
Linux下的sniffer工具--Tcpdump的安装和使用 2003-4-9 9:29:52
SNIFFER的一些资料 2003-4-9 9:19:10
构建基于 LDAP 的地址簿 2003-4-2 19:56:44
linux命令大全 2003-3-31 10:49:22
Linux巧变PC路由器 2003-3-25 10:22:05
自己动手做一个迷你 Linux 系统 2003-3-25 10:21:18
自己动手写操作系统(三) 2003-3-25 10:20:23
自己动手写操作系统(一) 2003-3-25 10:10:20
rpm使用技巧 2003-3-25 10:06:33
Linux中软件安装及技巧 2003-3-25 10:05:00
Red Hat 8.0上通过RPM安装PPTPD服务器 2003-3-25 9:23:42
在 Linux 上安装Apache+ApacheJServ+JSP 2003-3-24 19:52:00
如何规划 Linux 主机 2003-3-24 16:00:23
如何学习 Linux 2003-3-24 15:59:18
什么是 Linux 2003-3-24 15:58:22
vi介绍 2003-3-24 14:39:44
Linux服务器的一些基本应用 2003-3-24 10:43:09
Redhat 8.0 下Gaim0.58 for QQ、MSN完全教程 2003-3-24 10:41:15
用Linux建立局域网服务器 2003-3-23 21:50:45
proftpd 安装手记 2003-3-17 15:27:56
ProFtpd快速指南 2003-3-17 15:27:03
linux99问 2003-3-11 18:37:18
Linux简明系统维护手册 2003-3-11 18:35:40
Linux中的十个“快速” 2003-3-11 18:33:53
Linux 入门常用命令 2003-3-11 18:25:01
Netfilter的高级使用 2003-2-24 13:25:49
简易防火墙建置与流量统计之五 2003-2-22 14:45:12
简易防火墙建置与流量统计之四 2003-2-22 14:44:10
简易防火墙建置与流量统计之三 2003-2-22 14:43:26
简易防火墙建置与流量统计之二 2003-2-22 14:42:37
简易防火墙建置与流量统计之一 2003-2-22 14:41:44
Linux关机命令详解 2003-2-22 14:36:55
Linux中文件查找技术大全 2003-2-22 14:35:52
理解Linux系统的日志 2003-2-22 14:34:13
搞清linux的用户和组-基础篇 2003-2-22 14:33:20
突破TCP-IP过滤/防火墙进入内网(一) 2003-2-22 14:30:05
Linux下访问Windows硬盘分区 2003-2-22 14:23:20
Linux环境下发现并阻止系统攻击 2003-2-22 14:12:24
LINUX安全管理10要点 2003-2-21 22:15:46
unix日志文件安全小议 2003-2-21 22:06:40
Linux简明系统维护手册5 2003-2-18 19:48:03
Linux简明系统维护手册4 2003-2-18 19:45:25
Linux简明系统维护手册3 2003-2-18 19:44:15
Linux简明系统维护手册2 2003-2-18 19:42:27
Linux简明系统维护手册1 2003-2-18 19:40:38
linux常用精华网址 2003-2-18 15:07:43
简易防火墙建置与流量统计 2003-2-18 14:54:01
redhat7.2 DNS配置笔记 2003-2-1 13:57:05
网站综合实例 2003-1-25 20:42:08
一个网上理财站点的设计(二) 2003-1-19 22:09:45
linux网站综合实例 2003-1-19 22:05:29
用iptales实现包过虑型防火墙 2003-1-15 16:55:53
用iptables实现NAT 2003-1-15 16:49:48
Netfilter/Iptables的防火墙功能介绍 4 2003-1-12 16:21:46
Netfilter/Iptables的防火墙功能介绍 2 2003-1-12 16:19:33
Netfilter/Iptables的防火墙功能介绍 1 2003-1-12 16:18:20
防火墙软件Netfilter(一) 2003-1-12 16:04:23
Netfilter的高级使用 2003-1-12 16:00:27
新一代的netfilter网络底层开发结构 2003-1-12 15:59:08
linux内核防火墙netfilter中的5个钩子 2003-1-12 15:55:29
Linux环境进程间通信(二):信号(上) 2003-1-12 15:41:54
路由器/交换机/集线器缺省口令 2002-11-9 9:54:21

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值