Linux基础命令, 绝大多数命令freebsd可以使用(跟当前shell有关)
时间:2007-01-04 10:28:51
来源: 作者:whsong 点击:次 出处:技术无忧
关键字:Linu
第一章 Linux基本命令的使用本章主要讲解Linux下基本命令的使用,由于篇幅的关系,无法列出所有Linux命令的使用说明。读者在使用没有列出的命令时,可以使用"--help"参数查询该命令所附的在线帮助,或者利用man来查询更详细的使用说明。
1.ash
(1)简介
ash --a shell
这是由Kenneth Almquist在1989年编写的,ash是Linux下的许多命令解释器中的一个,它的许多特性接近于SYSTEM V的shell。
(2)部分参数说明
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c命令] [ 参数 ]
-c 命令:若用-c参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
-s:若用-s参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
如果不跟-c -s参数则ash以所跟的第一个参数为文件名,从此文件中读入命令。如无参数则ash缺省设定-s参数,从标准输入中读入命令,直到输入exit。
如果参数0的第一个字母是"-"则ash确定为login shell,ash将从/etc/profile或用户的根目录中的.profile读入相应的设置和环境变量。
-e:若用-e参数,则ash执行命令后返回值为非零值时则退出ash。
-f:若用-f参数,则ash关闭自动产生文件名功能。
-j:打开伯克利UNIX风格的工作控制。
-n:读入命令但是并不执行。
(3)范例
ash -c ls
ash执行ls这个命令后退回原先的目录和shell。
ash -s
ash执行一个新的shell,现在可以在这个shell中工作,按(Ctrl-D)或输入exit后,则退回原先的目录和shell,所设定的环境变量返回原先的值。
2.at
(1)简介
at,batch,atq,atrm:安排、检查、删除队列中的工作。
由Thomas Koenig编写。
(2)部分参数说明
at [-V] [-q队列] [-f文件名] [-mldbv] 时间
at -c 作业 [作业…]
atq [-V] [-q队列] [-v]
atrm [-V] 作业 [作业…]
batch [-V] [-q队列] [-f文件名] [-mv] [时间]
at在设定的时间执行作业。
atq列出用户排在队列中的作业,如果是超级用户,则列出队列中的所有工作。
atrm删除队列中的作业。
batch用低优先级运行作业,只要系统的loadavg(系统平均负载)<1.5(或者在atrun中设定的值)它就开始执行作业。
-V:若用-V参数,则显示版本号到标准错误输出。
-q队列:若用-q参数,则指定可选队列名称,队列名称可以是a到z或A到Z之间的任意字母。at的缺省队列名是c,batch的缺省队列名是E,队列的字母顺序越高,则队列的优先级越低。如果是大写字母的话则提交给batch,如果atq使用-q参数,则只显示这个队列中的作业。
-m:执行完作业后即使此作业并没有输也给提交作业的用户发送提示mail。
-f文件名:从文件中读取作业。
-l:等于atq。
-d:等于atrm。
-b:等于batch。
时间:这是用户设定的作业开始执行的时间。时间的格式分成三个部分:时间、日期、偏移量。可接受的时间形式是HHMM或HH:MM,在一天中指定的时间运行,如果时间过去了就在第二天执行。可以在时间后加入AM或PM使其在上午或下午运行,也可以指定在哪一天执行,给出日期的格式应为MMDDYY或MM/DD/YY或MM.DD.YY,也可以给出偏移量:
时间+计数时间间隔
时间间隔可以是minutes,hours,days,weeks。
也可以指定today让作业在今天执行,指定tommorow让作业在明天执行。
(3)注意事项
如果没有指定-f选项,是at从标准输入读入所有的命令,所以可以通过管道、重定向或交互输入来输入命令。
超级用户可以在任何情况下使用at系列的命令。一般用户使用at系列命令的权利由文件/etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,则只有列在这个文件中的用户才能使用at系列的命令。如果/etc/at.allow文件不存在,则检查/etc/at.deny这个文件。只要不列在这个文件中的用户都可以使用at系列的命令。缺省的配置是/etc/at.deny,是一个空文件,这表明所有的用户都可以使用at系列的命令。
(4)范例
at -f work 4pm + 3 days
在三天后下午4点执行文件work中的作业。
at -f work 10am Jul 31
在七月31日上午10点执行文件work中的作业。
3.banner
banner:打印大标题。
banner在标准输出上打印高质量的标题,如果没有输入要打印的文字,则其等待从标准输入输入一行文字。其标题由"*"组成。由Mark Horton编写。
(2)部分参数说明
/usr/bin/banner [ -wn ]信息
-w宽度 输出宽度从131到n,n缺省为80列。
(3)注意事项
不能打印字符:< ,>,[,],,^,_,{,},│,-。信息长度为10个英文字符,如果用空格分开字符串,还是连续打印字符串,两个字符串可以被括在引号(")中。这命名banner把这些字任串置于同一行中。
4.bash
(1)简介
bash:GNU Bourne-Again Shell
自由软件基金会(Free Software Foundation Inc)拥有bash版权。
bash是Linux下的许多命令解释器中的一个,同sh兼容,并且包含了ksh和csh中一些有用的特性。遵从IEEE Posix Shell and Tools specification(IEEE Working Group 1003.2)。
(2)部分参数说明
bash [参数] [文件名]
-c字符串:若用-c参数,则bash从字符串中读入命令,如果字符串后还有变量就被设定为从$0开始的位置参数。
-i:若用-i参数,则bash是交互的。
-s:若用-s参数,则bash从标准输入中读入命令(在执行完-c带的命令之后。)直到输入exit。
-:单一的-符号表明参数执行完毕,并且屏蔽此后所跟参数,后面的所有变量都被看作是文件名。
-norc:如果hash是交互的,则不执行个人初始化文件:-/.bashrc,如果bash作为sh来运行,这个参数缺省是关闭的。
-noprofile:不执行系统范围的启动文件/etc/profile也不执行个人的启动文件-/.bash_profile,-/.bash_login或-/.profile,缺省情况下,bash作为登录的shell时以这些文件作为启动文件。
--refile文件名:如果bash是交互的,则以此文件作为bash的启动文件。替代-/.bashrc。
-version:在bash开始时显示此bash的版本号。
-quiet:不显示版本号和其他信息,这是缺省值。
-login:激活bash,伪装为登录shell。
-nobraceexpansion:不执行大括号扩展。
-nolineediting:在交互状态下不使用GNU的readline库去读取命令。即取消了命令行编辑功能。
-posix:改变bash的行为,使其符合Posix 1003.2规定的标准。
(3)注意事项
bash过于庞大,运行速度也太慢,并且不符合Posix标准。在某些情况下aliases
模糊不清。
(4)范例
lark:->bash -version
GNU bash, version 1.14.7(1)
bash $
显示此bash的版本号,并进入一个交互的shell。
5.bc
(1)简介
bc:一个简单的计算器。
作者为Philip A.Nelson.,bc是一个支持交互式的表达式计算的语言,其格式类似于C语言,在命令行上还可以加载一个标准的数学库。
(2)部分参数说明
bc [-lwsqv] [长选项] [文件名…]
-l和--mathlib:定义标准数学库。
-w和--warn:给出对不符合Posix标准的扩展功能的警告。
-s和--standard:变成符合Posix标准的bc。
-q和--quiet:不输出GNU bc的欢迎信息。
-v和--version:输出版本号和版权信息后退出。
(3)范例
lark:->bc
bc 1.04
Copyright © 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type 'warranty'.
1+2*3.1415926
7.2831852
quit
lark:->
6.cal
(1)简介
cal:显示一个日历。
最早出现在Version 6 AT&T UNIX。cal在标准输出上显示日历。对于查询某年某月某日的用户来说是十分有用的。
(2)部分参数说明
cal [-jy] [月[年]]
-j:显示julian日期(日子是从1月1日开始累加的)
-y:显示今年的日历
年份必须写全,"cal 89"是错误的,应该为"cal 1989"。
月份必须是在1~12之间的数字,或英文的全称(过少无法区分)。不加参数则输出当前月的日历。
(3)范例
lark:-> cal 3 1998
March 1998
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
lark:->
但是1752年9月4 日历就非常奇怪,少了13天。
lark:->cal 3 1998
September 1752
Su Mo Tu We Th Fr Sa
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
这是因为这个月开始整个大不列颠帝国(美国那时还是英国殖民地),从凯撒历史更换成现行的公历。[注:教皇格列高里十三世(Pope Gregory XIII)于1582年改革历法,可是大不列颠帝国直到1752年才换用新的公历。]
7.cat
(1)简介
cat:连接文件并打印到标准输出。
cat是CA Tenate的缩写,常常用来显示文件,类似于DOS下的TYPE命令。
(2)部分参数说明
cat [-benstuvAET] [--number] [--number-nonblank]
[--squeeze-blank] [--show-nonprinting] [--show--ends]
[--show-tabs] [--show-all] [--help] [--version] [文件名…]
-b,--number-nonblank:计算所有非空输出行,从第一行开始计数。
-e:作用等于-vE。
-n:--number:计算所有输出行,从第一行开始计数。
-s,--squeeze-blank:将所有连续的多个空行替换为一个空行。
-t:作用等于-vT。
-u:没有作用,只是为了某些UNIX的兼容性而设。
-v,--show-nonprinting:显示除换行符和TAB以外的所有控制符。使用^作标志,并在字符的高位放置Escape控制符。
-A,--show-all:作用等于-vET.
-E,--show-ends:在每一行的结尾加上字符"$"。
-T,--show-tabs:显示控制符TAB为'^I'。
--help:输出帮助信息并退出(返回值为非零值)。
--version:输出版本信息并退出。
(3)范例
lark:->cat -b -E.lessrc 显示文件.lessrc的内容
1 back-line $ $
3 forw-scroll $ $
4 back-scroll $
5 goto-line $
6 goto-end $
lark:->cat myfile1 myfile2 >tmp 将文件myfile1,myfile2连结起来输出到文件tmp
8.cd
(1)简介
cd:改变当前目录。
(2)部分参数说明
cd目录名
如果不加目录名,则回到用户的根目录,此外用户必须拥有该目录的权限。进入另外一个用户的目录只要cd -用户名即可。
(3)范例
lark:/tmp>cd id1 进入id1目录
lark:/tmp/id1>cd-chenxy 进入用户chenxy的目录
lark:-chenxy>
9.chgrp
(1)简介
chgr:改变文件的组。
(2)部分参数说明
chgrp [-Refv] [--recursive] [--changes] [--silent]
[--quiet] [--verbose] [--help] [--version]组文件名…
-c --changes:只有在文件的组确实改变时才进行详细说明。
-f --quiet --silent:不输出组不能改变的文件的错误信息。
-v --verbose:详细说明组的变化。
-R --recursive:改变本目录及其所有子目录的文件的组。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
组:要改变到的组可以是组号对应的数字;也可以是/etc/group文件中的组名。
文件名:以空格分开的要改变组所有权的文件列表,支持通配符。
如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
(3)范例
lark:->chgrq -R book /opt/local/book/*.*
改变/opt/local/book/及其子目录下的所有文件的组为book。
10.chmod
(1)简介
chmod:改变文件保护,文件保护控制用户对文件的访问权,有三个安全级别,所有者级别,组访问级别,其他用户访问级别,在这三个级别中,又有三种权限:读(r),写(w),执行(x)。(用户可以ls-lg来观看某一文件的所属的group)对于文件来说读权限意味着可以看文件的内容,写文件可以修改或删除文件,执行权限则可以执行它(类似于DOS下的EXE,COM,BAT文件)。对于目录来说,读权限意味着可以查看目录下的内容,写权限意味着能在目录下建立新文件,并可以从目录中删除文件,执行权限意味着可以从一个目录转变到另一个目录。
(2)部分参数说明
chmod [-Rcfv] [--recursive] [--changes] [--silent]
[--quiet] [--verbose] [--help] [--version] 保护权限 文件名…
-c --changes:只有在文件的权限确实改变时才进行详细说明。
-f --silent -quiet:不输出权限不能改变的文件的错误信息。
-v --verbose:详细说明权限的变化。
-R --recursive:改变本目录及其所有子目录的文件的权限。
--help在标准输出上输出帮助信息并退出。
--version在标准输出上输出版本信息并退出。
保护权限:格式为[ugoa…][[+ - =] [r w x Xstugo…]…] […]
"ugoa"控制哪些用户对该文件的权限将被改变:(u)文件的所有者,(g)与文件所有者同组的用户(o)其他组的用户(a)所有用户,操作符"+"使用用户选择的权限被追加到每个目标文件。操作符"-"使得这些权限被撤销。"="使得目标文件只具有这些权限。"r w x Xstugo"选择新的属性。(r)读权限(w)写权限(x)执行权(或对目录的访问权)(X)只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性(s)同时设定用户或组ID(t)保存程序的文本到交换设备上(u)目标文件属主(g)目标文件属主所在组(o)其他用户。如果用数字来表示属性,则(0)没有权限,(1)执行权,(2)读权,(4)写权,然后将其相加,所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
文件名:以空格分开的需要改变权限的文件列表,支持通配符。
(3)范例
lark->chmod a + x destfile 使所有用户对文件destfile有读写执行权
lark->chmod 644 destfile 使所有用户可以读文件destfile只有属主才能改变
11.chown
(1)简介
chown:改变文件的属主和组。
(2)部分参数说明
chown [-Refv] [--recursive] [--changes] [--help] [--ver-sion] [--silent] [--quiet] [--verbose] [用户] [: .] [组] 文件名…
-c --changes:只有在文件的属主确实改变时才进行详细说明。
-f --silent -quiet:不输出属主不能改变的文件的错误信息。
-v --verbose:详细说明属主的变化。
-R --recursive:改变本目录及其所有子目录的文件的属主。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
用户:可以是用户名或用户id。
组:可以是组名或组的id。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
(3)范例
lark->chown dfbb:book destfile 将文件destfile的属主改成dfbb,组改成book
12.chsh
(1)简介
改变用户登录的shell。
作者Julianne Frances Haugh
(2)部分参数说明
chsh [-s 登录的shell] [用户名]
普通用户可以改变自己的登录shell,超级用户可以改变其他用户的登录shell,所有的shell必须是在/etc/shells文件中列出的shell,但是超级用户不受这个限制。如果用户的shell是一个受限制的shell则用户不能改变其登录shell。如果不加-s参数则chsh输出用户的当前登录shell并提示用户输入新shell的路径。改变shell时都需要输入用户的密码。
(3)范例
lark:->chsh
Password:
Changing the login shell for dfbb
Enter the new value, or press return for the default
Login Shell [/bin/csh]:/bin/tcsh
lark:->
13.clear
(1)简介
clear:清除屏幕(类似于DOS的cls)
(2)范例
lark->clear 清除屏幕,提示符被移动到左上角
14.compress
(1)简介
compress,uncompress, zcat:压缩,展开文件。
compress利用LZW原理来压缩文件,原文件将被替代为扩张名为.Z的新文件。
uncompree和zcat则被用来展开压缩文件。
(2)部分参数说明
compress [-f] [-v] [-c] [-V] [-b bits] [文件名…]
uncompress [-f] [-v] [-c] [-V] [-b bits] [文件名…]
zcat [-v] [文件名…]
-f :强制替代所有原文件,如果不加此参数且compress工作在前台则compress将提示用户,该参数对于压缩整个目录的文件特别有用。
-v:在压缩过程中输出每个文件的压缩比。
-c:将压缩结果输出到标准输出。
-V:输出版权信息。
-b bits:bits为9-16的数字,用来控制LZW的压缩深度。
文件名:以空格分开的要压缩的文件列表,支持通配符。
(3)范例
lark: ->compress -f -v -V destfile 压缩文件destfile
Based on compress.c, v 4.0 85/07/30 12:50:00 joe Release
Options: BITS=16
destfile: Compression:5.55% --replaced with destfile.Z
lark:->uncompress destfile.Z 还原文件destfile
lark:->
15.cp
(1)简介
cp:拷贝文件
(2)部分参数说明
cp[options] 源文件 目标文件
cp[options] 源文件…目标目录
Options:
[-abdfilprsuvxPR] [-S backup-suffix] [-V {numbered, existing, simple}] [--backup] [--no-dereference] [--force] [--interactive] [--one-file-system] [--preserve] [--recursive] [--update] [--verbose] [--suffix=backup-suffix] [--version-control={numbered, existing, simple] [--archive] [--parents] [--link] [--symbolic-link] [--help] [--version]
-a, --archive:在拷贝过程中保留尽可能多的源文件的结构和属性,同-dpR作用相同。
-b, --backup:给将要覆盖和删除的文件作备份。
-d, --no-dereference:只拷贝符号连接,而不拷贝其所指向的文件并在拷贝中保留原有的连接关系。
-f --force:删除已存在的目标文件。
-I, --interactive:在删除已存在的目标文件时给出提示。
-l, --link:用硬连接来代替非目录文件的拷贝。
-P, --parents:将给出路径的源文件连路径一起拷贝。
cp --parents a/b/c exist-ing_dir' copies
将文件a/b/c拷贝到exist-ing_dir/a/b/c。
-p, --preserve:保留源文件的属主,组,权限和时间标志。
-r,:整目录拷贝
-s, --symbolic-link:用建立符号连接来代替非目录文件的拷贝,除非目标文件也在当前目录不然所有源文件都是绝对路径(从"/"开始)。在不支持符号连接的系统上将给出出错信息。
-u, --update:如果非目录目标文件已存在具有相同或更新的修改时间则不拷贝。
-v,--verbose:在拷贝时输出每个文件的名称。
-x, --one-file-systme:从开始拷贝的文件开始跳过在不同文件系统上的子目录。
-R, --recursive整目录拷贝。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
-S, --suffixbackup-suffix:用于产生备份文件的后缀,此选项修改由环境变量SIMPLE…BACKUP…SUFFIX设定的后缀,如果都没有定义则缺省是"-"。
-V, --version-control {numbered, existing, simple}:备份产生的类型。此选项修改由环境变量VERSION…CONTROL设定的备份产生的类型,如果都没有定义则缺省是"'existing"其有效选项是:
't' or 'numbered'总是建立编号备份。
'nil' or 'existing'只为已经有编号备份的文件建立编号备份,其他文件作单一备份。
'never' or 'simple'只建立单一备份。
(3)范例
lark:->cp sourcefile destflie 拷贝文件sourcefil到文件destfile。
lark:->cp */tmp 拷贝当前目录下所有文件到/tmp目录。
lark:->
16.cpio
(1)简介
cpio:向存档中拷贝文件或从存档中拷贝文件。
(2)部分参数说明
cpio {-o│--create} [-0acvABLV] [-C bytes] [-H format] [-M message] [-O [ [user @]host:] archive] [-F[[user@]host:]archive] [--file=[[user@]host:]archive] [--format=format] [--message=message] [--null] [--restet-access-time] [--verbose] [--dot] [--append] [--block-size=blocks] [--dereference] [--io-size=bytes] [--quiet] [--force-local] [--help] [--version] < name-list [>archive]
cpio {-I │--extract}[-bcdfmnrtsuvBSV] [-C bytes] [-E file] [-H format] [-M message] [-R [user][: .][group]] [-I [[user@]host:]archive] [-F [[user@]host:]archive] [--file=[[user@]host:]archive] [--make-directories]
[--nonmatching] [--preserve-modification-time] [--numericuid-gid] [--rename] [--list] [--swap-bytes] [--swap] [--dot] [--unconditional] [--verbose] [--block-size=blocks] [-swap-halfwords] [--io-size=bytes] [--pattern-file=file] [--format=format]
[--owner=[user][: .] [group]] [--no-preserve-owner] [--message=message] [--force-local] [no-absolute-filenames] [--sparse] [--only-verify-crc] [--quiet] [--help] [--version] [pattern…] [<archive]cpio {-p│--pass-through} [-0adlmuvLV] [-R [user][: .] [group]] [--null][--resct-access-time] [--make-directories] [--link] [--puiet] [--preserve-modificationtime] [--unconditional] [--verbose] [--dot] [--derefer-ence] [--owner=[uwer][: .] [group]] [--no-preserve-owner] [--sparse] [--help] [--version] destination-directory <name-list
cpio有三种模式:
·copy-out模式:向存档文件中拷贝文件,从标准输入给出的文件列表(这个文件列表可以用find命令来产生)读取源文件名,向标准输出写入存档文件。
·copy-in模式:从存档文件中拷贝文件,从标准输入读入存档文件,可以用通配符来确定要拷贝的文件名,如果不给出文件名则拷贝所有文件。
·copy-pass模式:将文件从一个目录拷贝到另外一个目录,实际上是把copy-out和copy-in模式结合起来,只不过不真的用一个存档文件,从标准输入给出的文件列表
读取源文件名,目标目录作为一个不带"-"的参数给出。
cpio支持下列文件格式:
binary,old ASCII,new ASCII,crc,HPUX binary,HPUX old ASCII,old tar,and POSIX.1 tar
缺省的cpio产生binary格式的存档文件。
-O, --null:在copy-out和copy-pass模式,文件列表由空字符结束而不是由换行结束。
-a, reset-access-time:在读取文件时重置文件的时间。
-A, --append:附加到已有的存档文件后,只工作在copy-out模式,存档文件必须是由-O,-F指定的磁盘文件。
-b, --swap:在copy-in模式既交换bytes又交换halfwords等于-sS。
-B:将I/O的块大小改变为5120bytes缺省是512bytes。
--block-size=BLOCK-SIZE:将I/O的块大小改变为IO-SIZE bytes。
-d, --make-directories:如果需要就创建目录。
-E FILE, --pattern-fil=FILE:在copy-in模式从文件FILE中读出要解开的文件列表。
-f, --nonmatching:只拷贝文件列表中没有文件。
-F, --file=archive:存档文件的文件名,如果目标设备是另外一台机器上的磁带机则用"HOSTNAME:文件名"来处理,cpio自动加上username@(用户必须在那台机器的-/.rhosts文件中添加本机器)。
--forc-local:在使用-F,-I,-O选项时即使文件名中有":"号也把它作为一个本地文件来处理
-H FORMAT, --format=FORMAT:存档文件使用FORMAT(bin, odc, newc, crc, tar, ustar, hpbin, hpodc)格式。
-I, --extract:使用copy-in模式。
-I archive:等同于 -F, --file=archive。
-k:无用(为某些兼容性而设)。
-l, --link:如果可能用连接文件代替拷贝文件。
-L, --dereference:对于文件连接直接拷贝文件而不是连接。
-m, --preserve-modification-time:产生文件时恢复文件的修改时间。
-M MESSAGE,--message=MESAGE:在备份媒体用完时给出提示信息MESSAGE(中间用%d给出卷标)。
-n, --numeric-uid-gid:在文件列表时用数字的UID和GID代替名字。
--no-absolute-filenames:在copy-in模式用相对路径代替绝对路径。
--no-preserve-owner:在copy-in和copy-pass模式不改变文件的属主在恢复时恢复这些属主,本参数对于普通用户是缺省选项。
-o, --create:使用copy-out模式。
-O archive:等同于-F, --file=archive。
only-verify-crc:在读CRC格式的存档文件时只检查每个文件的CRC而不解开文件。
-p, --pass-through:使用copy-pass模式。
quiet:不输出已拷贝的块的数目。
-r, --rename:交互式地给文件改名。
-R [user] [: .] [group], --owner [user] [: .] [group] :在copy-out和copy-pass模式将所有文件的属主和组改变成设定的用户和组(只有超级用户才能使用)。
-sparse:在copy-out和copy-pass模式将小文件写入一个大块时用零来填补剩余部分。
-s, --swap-bytes:在copy-in模式交换bytes。
-S, --swap-halfwords:在copy-in模式交换halfwords。
-t, --list:s'输出输入的文件列表。
-u, --unconditional:替代所有同名的现存文件而不给出提示。
-v, --verose:列出正在处理的文件给出"ls -1"格式的文件列表。
-V --dot:在处理每个文件时输出"."。
--version:输出版权信息并退出。
(3)范例
lark:->cpio -0 <filelist> d
cpio: sourcefile: truncating inode number
1 block
lark:->
从文件filelis中读出源文件列表,读入源文件并写入存档文件d。
lark:->cpio -i -v -F d
sourcefile
1 block
lark:->
从存档文件d中拷贝出文件。
17.crontab
(1)简介
crontab:操作每个用户的守护程序和该执行的时间表。
作者 Matthew Dillon
(2)部分参数说明
crontab file [-u user]:用指定的文件替代目前的crontab。
crontab - [-u user]:用标准输入替代目前的crontab。
crontab -l [ user]:列出用户目前的crontab。
crontab -e[ user]:编辑用户目前的crontab。
crontab -d[ user]:删除用户目前的crontab。
crontab -c[ user]:指定crontab的目录。
crontab文件的格式:M H D m d cmd
M:分钟(0-59)
H:小时(0-23)
D:天(1-31)
m:月(1-12)
d:一星期内的天(0-6,0为星期天)
cmd:要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。
下面是一个例子文件:
# MIN HOUR DAY MONTH DAYOFWEEK COMMAND
# 每天早上6点
10 6 * * * date
# 每两个小时
0 */2 * * * date
# 晚上11点以早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 14 4 * mon-wed date
# 1月份日早上4点
0 4 1 jan * date
(3)范例
lark:->crontab -1 列出用户目前的crontab。
# MIN HOUR DAY MONTH DAYOF WEEK COMMAND
10 6 * * * date
0 */2 * * * date
0 23-7/2, 8 * * * date
lark:->
18.csh
1.简介
见tcsh
19.cut
(1)简介
cut:将文件中的每一行都去掉一个域。
(2)部分参数说明
cut {-b byte-list, --bytes=byte-list} [-n] [--help]
[--version] [file...]
cut {-c character-list, --characters=character-list}
[--help] [--version] [file...]
cut {-f field-list, --fields=field-list} [-d delim] [-s]
[-delimiter=delim] [--only-delimited] [--help] [--veresion] [file...]
byte-list,character-list,和field-list是数字或一个区间,最小是1,区间格式为"n-m",n为开始的数字,m为结束的数字,"n-"意味着行尾。
-b, --bytes bytd-list:只输出在byte-list区间的bytes,TABs和backspaces都占1byte。
-c, --characters character-list:只输出在区间character-list内的字符TABs和backspaces都占一个字符。
-f, --fields field-list:只输出在field-list内的域。
-d, --delimiter delim:指定在-f参数中的field-list的分割符(为delim中的第一个字符,缺省为TAB)。
-n:不分割多byte的字符。
-s, --only-delimited:在-f参数中不输出没有域分割符的行。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->cat sourcefile
total 0
-rw-r--r-- 1 fangh users 0 Aug 23 21:46 destfile
lark:->cat -c 5-20 sourcefile
1 0
r--r-- 1 fangh
lark:->
20.date
(1)简介
date:打印或设置系统日期和时间。
(2)部分参数说明
date [-u] [-d datestr] [-s datestr] [--utc] [--universal]
[--date=datestr] [--set=datestr] [--help] [--version]
[+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
+FORMAT:控制如何显示日期
指令:%:%号
n:新行
t:TAB
时间域:
%H 小时(00..23)
%I 小时(01..12)
%k 小时(0..23)
%1 小时(1..12)
%M 分钟(00..59)
%p AM或PM
%r 12小时(hh:mm:ss[AP]M)
%s 从1970-01-01 00:00:00 UTC开始的时间
%S 秒(00..61)
%T 24小时(hh:mm:ss)
%X 时间表示(%H:%M:%S)
%Z 时区(如EDT)如没有指定时区则不显示
日期域:
%a 缩写形式的星期名(Sun..Sat)
%A 星期名(Sunday..Saturday)
%b 缩写形式的月名(Jan..Dec)
%B 月名(January..December)
%c 日期和时间(Sat Nov 04 12:02:33 EST 1989)
%d 每个月的第几天(01..31)
%D 日期(mm/dd/yy)
%h 等同于%b
%j 一年的第几天(001..366)
%m 月份(01..12)
%U 一年中的第几个星期,星期天为星期的第一天(00..53)
%w 每个星期的第几天(0..6)0为星期天
%W 一年中的第几个星期,星期一为星期的第一天(00..53(00..53))
%x 日期(mm/dd/yy)
%y 年份的后两个数字(00..99)
%Y 年份(1970...)
[MMDDhhmm[[CC]YY][.ss]]
MM 月份
DD 日期
hh 小时
mm 分钟
CC 年份的前两位(可选项)
YY 年份的后两位(可选项)
ss 秒(可选项)
只有超级用户才有权限设置系统时间(启动时在CMOS中读出)。
-d datestr, --date dates :显示datestr中指定的日期和时间。
-s datestr, --set datestr :设定datestr中指定的日期和时间。
-u, --universal:显示或设定格林威治时间(缺省为本地时间)。
-help:在标准输出上输出帮助信息并退出。
-version:在标准输出上输出版权信息并退出。
(3)范例。打印两天前的时间:
lark:->date --date ƈ days ago'
Fri Aug 22 20:20:08 CDT 1997
lark:->
打印月份和日期:
lark:->date ' + % B % d'
August 24
lark:->
访问技术无忧网,软硬件通吃保你技术无忧!中文网址http://www.技术无忧.com 或 http://www.技术无忧.net











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面