文件chmod用法
chmod用法 时间:2021-04-05 阅读:(
)
csh命令的基本概念name[-option][arguments]name代表命令名,-option代表命令选项,arguments代表命令参数hostname显示主机名date显示日期与时间(包括年月日,时分秒)pwd显示当前工作目录set[var[=value]]设定csh变量var并赋予其值value;或显示全部csh变量setenv[VAR[word]]设定环境变量VAR并赋予其值word;或显示全部环境变量unsetvar或unsetenvVAR撤消csh变量var或撤消环境变量VARecho[-n]list将list写至标准输出.
-n行尾不带换行符history[-r][n]显示最近提交的n条命令.
-r倒排序号显示命令参数中的通配符及命令行中常用特殊字符*代表参数中任意个数的任意字符代表参数中一个任意字符[…]代表参数中字符集内的任意一个字符.
[A-Za-z]代表任意一个英文字母/上下层目录或目录与文件间的间隔符;文件路径首为'/'表示绝对路径~username用户username的顶层目录~本用户的顶层目录(相当$home或$HOME).
一点'.
'代表当前工作目录;置于文件名首为隐藏文件名.
.
两点'.
.
'代表当前工作目录的上层目录!
!
再次提交前次提交的命令^str1^str2^将前次提交命令中的字符串str1改为字符串str2,再提交!
str重提交最近曾提交过的以字符串str为首的命令!
str重提交最近曾提交过的含字符串str的命令!
n重提交序号为n的命令!
n:s/str1/str2/将序号为n的命令中的字符串str1改为字符串str2,再提交command[>][!
]file执行命令command并将其标准输出重定向为文件filecommandfile执行命令command并将其标准输出和标准报错重定向为文件filecommand1;command2顺次执行命令command1和command2command1|command2流水执行command1和command2,前者的标准输出作为后者的标准输入command&提交命令command在后台执行并列入任务控制表$冠于csh变量名或环境变量前表示其值#引导整行注释`…`内含命令,代表该命令写至标准输出的内容'…'内中特殊字符不具特殊意义,视同一般"…"内中空格不作分隔作用,整体视为一"字":标号语句尾或环境变量值中的分隔符(…)内置若干字,空格有效,用于赋值;内置条件表达式用于流程控制;内置若干命令视为子进程\在特殊字符左表示不作特殊字符用;在别名(由alias定义)左表示不作别名;在行末表示续行登录login[username]在本机登录名为username的帐户rloginhostname[-lusername]登录到名为hostname远程主机上的本人或名为username的帐户su[username]在当前工作目录登录超级用户或一般用户username的帐户passwd修改登录密码(在机器提示下输入本人旧的和新的密码)·1·常用命令与应用程序mkdirdir…建立文件目录dir…cd[dir]或chdir[dir]改变当前工作目录为dirbasenamepath截取路径path的文件名部份dirnamepath截取路径path的目录名部份filefile…给出文件file…的类型chmodcodefile…修改file…授权码code(八进制数表本人同组和其他人读写或执行权)umaskcode预定新文件禁止码code(八进制数表本人同组和其他人读写或执行权)ls[-AFlst][file…]列目录清单.
-A全列(包括隐藏文件),-F特殊标志目录、可执行文件和符号链接,-l长格式,-s加注文件大小,-t按时间逆序df[dir]列出各分区或目录dir所在分区的磁盘使用情况du[dir…]列出目录dir…及其以下各层占用盘区的数量cp[-r]source[source…]target文件或目录(加-r)的复制mv[-f]source[source…]target文件或目录的移动或改名.
-f不顾目标将被复盖ln[-s]source[target]文件或目录的链接.
加-s为文件或目录符号链接,否则为文件硬链接rm[-f][-i][-rdir…][file…]文件或目录(加-r)的删除.
-f不顾文件的写保护权,-i需确认rmdirdir…删除目录dir…touchfile…更新文件file…的修改日期;如该文件不存在,则产生一个空文件cat[file…]顺次将文件file…写至标准输出more[file…]分屏显示文件file…的内容.
q中止浏览,走一行,其它键换屏wcfile…列出文件file…的行数、字数和字符数cmpfile1file2逐字比较文件file1与file2,报告出现首个相异字符所在行号difffile1file2逐行比较文件file1与file2,分段对照列出全部相异行finddir-namepat列出目录dir及其以下各层目录中与模式pat匹配的文件名或目录名grep[-nil]pat[file…]列出file…中含pat的行.
-i不顾大小写,-n加列行号,-l只列文件名ctagsfile…建立索引文件tags,内列file…中多种目标(如函数、宏等)的定义sort[-r][file]对ASCII文件file进行行排序后写至标准输出.
-r要求倒排序sed[-ecmd][-fcmd_file]file对文件file按命令cmd或按文件cmd_file进行处理后写至标准输出tar(c|x|t)fvtar-file[file.
.
.
]文件file.
.
.
的打包(c);包tar-file的恢复(x);或显示包中文件清单(t)gzip[-c][-d][-r]file文件压缩与解压.
-c写至标准输出,-d解压,-r按目录压缩which[alias][command]给出别名alias的定义或命令command的相关文件名who[ami]或whoami那些用户在上机.
加ami仅列本用户情况.
whoami给出本用户名w机上用户在做什么ps[-au]列出本用户或所有用户(加-a)的所有进程.
-u加列用户名C中断当前执行的命令Z或stop%jid…挂起当前执行的命令列入任务控制表或挂起后台执行的任务jid…jobs[-l]列出任务控制表中现存任务(带+号者称当前任务).
-l加注进程号bg[%jid…]后台执行先前被挂起的任务jid…(缺省为%+,即当前任务号)fg[%jid…]前台执行任务控制表中的任务jid…(缺省为%+,即当前任务号)kill[-9][pid…][%jid…]封杀进程pid…或任务控制表中任务jid…,带-9为强行xterm[-sb][-font9X75]&产生xterm类型仿真字符终端.
-sb带滚动条;-font9X75为一种字体clear本仿真终端"清屏"exit[(expr)]退出csh进程或关闭窗口,expr的值赋予父进程中的状态变量statustime[command]显示执行命令command的时间化费·2·csh系统变量与环境变量shellSHELLshell程序的绝对路径,如/usr/bin/csh或/bin/cshuserUSER本用户名homeHOME本用户顶层目录cwdPWD当前工作目录termTERM终端类型pathPATH命令搜索路径,PATH由系统根据用户所设path转换而得DISPLAY显示设备名,由该设备所在主机名或IP地址加:0构成用户环境设置文件及其执行ü~/.
login登录初始化文件,主要用于终端特性设置.
本机登录或远程登录时自动执行一次sttyerase'^H'设定键盘上的键用于删去刚键入的一字符sttywerase'^'设定键盘上的键用于删去刚键入的一字串sttykill'^U'设定键盘上的U键用于删去刚键入的整行if(`tty`=="/dev/console")then如终端为/dev/console,意味着是从本地登录,则echo`hostname`:0>!
~/.
DISP取主机名加":0"存入文件~/.
DISPxhost+本机终端可作为任何远程机的显示设备else否则,意味着是远程登录,则if(-f~/.
DISP)setenvDISPLAY`cat~/.
DISP`如文件~/.
DISP存在,将其所存之值设为环境变量DISPLAYendif条件分支结束ü~/.
dtprofileCommonDesktop环境设置.
登录时自动执行一次if[$DISPLAY=":0"];then如变量DISPLAY之值为":0",意味着是从本地登录,则DISPLAY=`hostname`:0取主机名加":0"设为变量DISPLAYfiecho$DISPLAY>~/.
DISP将变量DISPLAY之值存入文件~/.
DISPxhost+本机终端可作为任何远程机的显示设备ü~/.
rhosts远程登录密码免检授权文件.
远程登录时系统查对+本用户从任何主机远程登录本帐户免检密码hostnameusername他用户username从hostname主机远程登录本帐户免检密码ü~/.
cshrc初始化文件,用于设置csh变量、环境变量、别名等.
新进程均按此自动初始化setpath=(/bin/usr/bin~/bin)设置三个路径为命令搜索路径setcdpath设置两个路径为cd命令中新工作目录的搜索路径sethistoryn设置保存最近执行的命令条目数为nsetprompt="`hostname`-\!
>"设置命令提示符由主机名和命令顺序号组成setfilec设置csh变量filec,有此变量,当输入命令参数的头几个字符加自动续全唯一相配的文件名setecho设置csh变量echo,有此变量,重显输入命令行,其中通配符或变量均替换成相应值setenvMANPATH/usr/man:/usr/openwin/man设置两个联机求助的搜索路径umask022预定新建文件不给同组和其他用户写权利source~/.
alias读文件~/.
alias,使该文件中定义的一批别名生效sourcefile读环境设置文件file,使该文件中的设置生效rehash改设搜索路径或增加命令文件后,重建搜索命令的Hash表·3·别名alias的定义与使用alias[aliasdefn]定义别名,alias为defn的别名;或显示全部别名定义whichalias显示别名alias的定义unaliasalias撤消已定义的别名aliasalias[args]别名alias被视作一条命令.
别名也可带"参数"args,所有"参数"或续于定义式尾或整个地替换定义式中的\!
*别名定义举例aliasaaliasa为命令alias的别名,用法:a[aliasdefn]auunaliasu为命令unalias的别名,用法:ualiasamdmkdir仿DOS,md为mkdir的别名,用法:mddir…a+x'chmod+x'+xfile…,改文件file…为所有用户可执行a+w'chmod+w'+wfile…,改文件file…为本人可写a-w'chmod-w'-wfile…,改文件file…为本人不可写arm'rm-i'重新定义rm为需逐一认可地删除文件.
\rm则保持rm的原意afnd'find.
-name'fndpat,找当前目录及其以下与模式pat相匹配的文件名或目录名amkaemake由于make易错输入成mkae,为此,就让mkae等同makeal"\ls-F"l[file…],列文件目录,对其中特殊文件加标识al.
"\ls-dF.
[A-Za-z]*"l.
,只列隐藏文件名alt"\ls-Flt\!
*|more"lt[file…],分屏以长格式并按时间倒序列文件目录apv'echopvname,显示名为name的csh变量或逻辑变量的定义aev'env|grep\!
*|more'evstr,分屏显示逻辑变量的名或值中含str者acd'setpwd=$cwd;chdir\!
*;echo$cwd'重定义cd再保存当前目录再改变并显示新工作目录,用法:cd[dir]a,'setback=$pwd;cd$back;unsetback'逗号',',cd到先前的工作目录a.
.
'cd.
.
'两点'.
.
',cd到当前工作目录的上层目录a.
'echo$cwd'一点'.
',显示当前工作目录adelete'\rm-rf\!
*&'deletedir…,在后台删除名为dir…的整个目录树axw"xterm-fontScreen-Bold14-geometry80X24-sb-sl1000-bdRed-bgBlack-fgYellow-ms#ffffff-cr#ffffff&"xw,新开一个xterm类型窗口,指定黑底黄字带滚动条等属性agv'(setfl=`grep-l\!
*`;if("$fl"vi$fl)'gvpatfile…,从file…中选出含模式pat者,用vi逐个进行编辑avtvi-tvttag,根据索引文件tags,用vi编辑含tag定义的文件armcore'(setfl=`find$HOME-namecore`;if("$fl"echorm$fl;if("$fl"rm$fl)&'rmcore,后台删除本人帐户中任何目录中的core的文件adisp'setenvDISPLAY\!
*\:0;echo$DISPLAY>!
~/.
DISP'dispaddr,设环境变量DISPLAY值为addr:0,并存该值于~/.
DISPakj'kill%'kj,封杀任务控制表中的当前任务联机查询manname显示对name的解释,name可为命令、应用程序或C的库函数manintro显示操作系统中所有命令和应用程序的清单及简介2003年10月1日清华大学申明辑·4·基本模式/:!
命令模插入模AaCcIiOoRs0…9BbDd…Zz+底线模vifile…编辑一至数个文件vi-ttag依据索引文件tags,编辑含tag定义的文件,并定位于该定义的首行vi+/stringfile打开文件file,并将光标定位于字符串string所在行vi-Rfile…阅读一至数个文件(仅阅读)进入vi-rfile恢复曾被意外中断的文件编辑h左移0至首列,本行第一列或+至下行首j下移^至行首,本行首个非空白列-至上行首k上移$至行尾,本行末列G至末行首l或右移500|至本行第500列500G至第500行之首b至字首B至串首H至屏顶e至字尾E至串尾M至屏中w至下字首W至下串首L至屏底%至(、)或{、}之配偶[[上至位于首列的{或首行]]下至位于首列的{或末行{上至连续非空行前的空行}下至连续非空行后的空行''(两单引号)至光标先前所在行首``(两反引号)至光标先前所在位置mm标记光标位置:光标现处行称为"m行";其所处位置称为"m位置"'m至"m行"之行首`m至"m位置"fx右至字符xFx左至字符xtx右靠字符xTx左靠字符x光标定位;原方向继续执行f、F、t、T,反方向继续执行f、F、t、T/pat右下方向搜索字串pat左上方向搜索字串n原方向继续搜索N反方向继续搜索搜索搜索为模式搜索,pat代表匹配表达式(见"模式匹配"栏),也可为确定的字符串str>>整行右移一平移量换行删除行内新插入的字符W删去行内新插入的一字串U全删行内新插入内容模T行首插入一平移量D行首删去一平移量V插入不可打印字符退出插入模E上滚动一行Y下滚动一行D前滚动半幕U回滚动半幕F前滚动一幕B回滚动一幕z上滚动,本行升至屏顶z-下滚动,本行降至屏底屏幕滚动z.
滚动,本行调至屏中央.
重复上次修改命令u取消前次变化G显示文件名、当前行号U整行复原L刷新屏幕ZZ存盘并退出vi@x执行"x中的命令@@执行先前执行的@xZ中断vi,转入shell状态,执行shell命令;用fg恢复vi其它od'm"xdd命令模下将一条命令d'm存入缓冲区"x,以备@x引用ü大部分命令前可加数字,以表示该命令所含动作的重复次数.
如3h,12dd,5J,4x,5X,14s,7cc,4>>,3+,2e,4-,5w,5f…等等.
12dd连删12行6s删6个字符后插入5t靠至右边第5个空格üdd,yy,cc,>>和,ce,c^,c3-,c%,cfx,>'m,}…等等.
命令扩展y'm存本行至"m行"内容d`m删至"m位置"cfx删至右边字符x再插入:引导行命令,在底线输入一条完整的行命令/或引导模式搜索,在底线输入匹配式pat或字符串str!
跟一个光标定位指令引导执行shell命令,在底线输入一条shell命令底线模或执行上述命令,然后返回命令模ü匹配模式中的特殊字符^首列左标志$尾列右标志\串尾右标志[abc]字符集:或a或b或c[^abc]字符补集:非a非b非c.
单个任意字符(\n除外)\去消右字符的特殊意义*与其左字符一起代表该字符0至任意多个组成的字串&在行命令的替换命令中代表与被选择字串相同的字串ü模式匹配(匹配表达式pat)示例\.
点\*星号整条注释\[.
*\]任意数组下标.
.
*非空整行^$空行[A-Z][A-Z]*1个至多个不间断的大写字母\由1个至多个大写字母组成的独立字符串模式匹配[+-]*[0-9][0-9]*正负整数·6·.
本行,即光标所在行3第3行.
+5本行下数第5行$末行$-6末行上数第6行3,12第3行至第12行/pat/本行下首个含pat的行pat本行上首个含pat的行/s/,/t/本行下的/s/行至/t/行g/pat/所有含pat的行v/pat/所有不含pat的行%全文范围指定行:1至首行(等效于1G):$至末行(等效于G):s/pat/str/本行内首个pat替换为str:s/pat/str/g本行内所有pat替换为str:s/pat/s1&s2/g本行内所有pat的前后分别添加s1和s2:pats//str/g本行前首个含pat行内的所有pat替换为str:%s/pat/str/gc全文中所有pat替换为str,但需逐一确认:g/pat/s/pat1/str/g全文中所有含pat行内的所有pat1替换为str:%s/^pat//删去全文中所有行首的pat:.
,.
+5s/^/str/本行至其下第5行,行首均前插str字符串替换:.
,$s/pat$/&str/本行至末行,行尾的pat均后续str:/pat/+1,$d从本行后首个含pat行的下一行起删至末行:'m,$t0"m行"至末行的内容复制于0行下,即文件首:1,'mm$第1行至"m行"的内容移至末行下,即文件尾:1,10l在屏幕下方列出1至10行(包括不可打印字符);未指明行,则列当前行:g/pat/-1p在屏幕下方印出全文中所有含pat行的前一行:0rfile读入文件file,插于0行下,即文件首;未指明行,则插于当前行下行编辑:'m,$wfile将"m行"至末行内容存入文件file:f[file]显示正在编辑的文件名;或将其改名为file:args显示进入vi时指定编辑的所有文件名:n编辑下一个文件,当编辑多个文件时用:rew返回编辑第一个文件,当编辑多个文件时用:efile或:vifile编辑名为file另一个文件:e#或^编辑先前编辑的文件:e!
重新从磁盘读入当前编辑的文件:tagtag依据文件tags,可跨文件、跨目录定位于目标tag的原定义行]tag依据文件tags,可跨文件、跨目录定位于光标后随目标tag的原定义行T返回先前使用:tag或]命令时编辑现场:w[file]存盘;也可另指定存入文件名file:wq[file]存盘并退出vi;也可另存入指定文件file文件切换:q或:q!
退出或强行退出vi,不存盘:!
pwd执行shell命令pwd,显示当前目录;击继续编辑:r!
hostname执行shell命令hostname,将其输出(主机名)插于当前行下:.
!
\ls*.
c执行shell命令ls*.
c;将该命令的输出替换文本的当前行!
'msort执行sort,对"m行"至本行文本按字母顺序重新排序sh命令:sh从vi转入shell状态,执行shell命令;用exit返回vi:setall显示vi的全部环境参数及它们的现行值:set[no]number设定要[不要]在屏幕左侧显示行号:set[no]ai设定新开行要[不要]继承前行的行首缩进:abVvoid*V定为一替代词,在插入模或底线模,输入V立即转换为void*:map^P"ppP定为一命令:将先前存于缓冲区"p中内容粘贴于本行下环境设置上例中^P是一不可打印字符;在定义时应打VP,用时则打P·7·$HOME/.
exrc文件示例(如未设定环境变量EXINIT,则vi自动按文件$HOME/.
exrc进行环境设置)"file:.
exrc注释行.
"号为行注释符üset用于设置环境参数setautoindent新开行继承前行的行首缩进平移量setshiftwidth=4设定一个平移量为4个空格settabstop=8设定一个制表符相当8个空格长ümap用于定义宏命令,宏命令在命令模中充当新命令使用map(mn'm'n),"m行"至本行右移一个平移量map^K"py'mK,将"m行"至本行的内容存入缓冲区"pmap^X"pd'mX,删去"m行"至本行存入缓冲区"pmap^P"pPP,将缓冲区"p中内容粘贴于本行上map^A"ppA,将缓冲区"p中内容粘贴于本行下mapv:e#^Mv,转向先前编辑的文件mapV:w^MvV,先保存本文件,再转向先前编辑文件map^N:w^M:n^MN,先保存本文件,再编辑下一个文件map*mno*/^[^hd0'mO/*^[^d0'njj*,在"m行"前和本行后加"/*"和"*/"各一行/*map^o/*^M*^M*/^[kA*,先自动加三行*再从第2行末进入插入模*/map_:s/.
.
*/&/^MI/*^[A*/^[_,若本行非空,则在其首尾分别加"/*"和"*/"map#:'m,.
s/^/#/^M#,"m行"至本行的行首加"#"map^_:'m,.
s^//^M/,"m行"至本行的行首加"//"map^\:'m,.
s/^.
//^M\,删去"m行"至本行行首的任意一个字符mapg:%s/g,全文进行替换,待续被搜索模式和替换字串mapS:'m,.
s/S,从"m行"至本行进行替换,待续被替换模式和替换串map^Omn'mO#ifdefMODIFY^[^d0'no#else//MODIFY^[^d0o#endif//MODIFY^[OO,在"m行"上加如下一行:#ifdefMODIFY再回到本行下加如下两行,最后上开行进入插入模#else//MODIFY#endif//MODIFYmapQmn:%s/*$//^M'nQ,删去全文中行尾的空格mapq:g/^{/-1p^Mq,显示全文中首列为{字符的前一行map^W:!
pwd;df.
^MW,显示当前工作目录并列出相关盘区使用情况map=:w^M:!
make^M=,先保存本文件,再执行make命令(不退出vi)map^R:1,$!
abc^M'mR,用abc对全文(C语言源程序)进行格式化map^L^{^M!
%abc^ML,用abc对包含本行的一个C函数进行格式化(abc是一自编的C语言源程序的格式化程序)üab用于定义替代词,在插入模或底线模字串搜索的输入过程中使用abTTtypedef输入TT,即转换为typedef,可继续插入abII#include输入II,即转换为#include,可继续插入abZZ{^M}^[Ovi初始化输入ZZ,变为:插入左花括号{,换行插入右花括号},退出插入模,旋即又上开行插入4个空格,可继续插入2003年10月1日清华大学申明辑·8·C程序的文件系统目录结构top其它有关文件目录incsrcobjlibbintstdocinclibgcc,C程序编程命令gcc命令的一般形式一般:gcc[-c][-Iincdir][src_file][obj_file][lib_file][-ooutput_file][option]编译:链接:gccC和C++编译器-Iincdir-I指定头文件搜索路径incdir,头文件(.
h文件)所在路径,如-I.
.
/inc-c完成编译,生成.
o文件src_file源程序文件名(.
c或.
C或.
cc或.
cpp或.
cxx文件)或预处理、汇编的输出文件名obj_file目标码文件名(编译生成的.
o文件)lib_file库文件名(.
a文件),库文件名的形式为libname.
a,lib和.
a为惯用的前后缀-ooutput_file指定输出文件名.
缺省:编译生成与源程序同名.
o文件,链接生成可执行文件a.
outoption其它选项gcc命令中常用的其它选项-v在标准输出上显示编译步骤-E完成预处理,源文件为.
c或.
C或.
cc或.
cpp或.
cxx文件,预处理结果写至标准输出-M或-MM预处理,输出与源文件同名的.
o文件所依赖的所有文件名(-MM排除系统头文件)-Dmacro[=defn]增加宏定义,相当于在源程序中加入一行#definemacro[defn]-Umacro取消源程序中已定义的一个宏macro-S完成汇编,源文件为.
c或.
C或.
cc或.
cpp或.
cxx文件或.
i文件,生成.
s文件-ansi支持ANSI标准的C程序-msupersparc采用适于SuperSparccpu的优化编译-O或-O2或-O3优化编译或进一步、再进一步优化编译.
力图减小可执行文件的大小并减少执行时间-Wunused编译警告,指出未使用的变量-Wuninitialized编译警告,指出函数中的自动变量未赋值-Wformat编译警告,指出scanf、printf等函数调用中有格式错误-Wreturn-type编译警告,指出函数返回值与函数类型不符或无返回值-Wall多种编译警告的组合-Werror把编译警告视为错误,出现任何一个警告即中止编译-g调试选项,最终生成的可执行文件在运行时可用调试工具进行调试-pg调试选项,最终生成的可执行文件在运行时将附带生成运行情况分析文件gmon.
out-Llibdir-L指定库搜索路径libdir,库文件所在目录,如-L.
.
/lib-lname-l指定"库名"name,如-lApp,App加惯用前后缀得实际库文件名,即libApp.
amangcc联机查询gcc的详细介绍·9·库ar,库的生成与维护命令ar-rvaFileoFile…在aFile(.
a文件)中添加或更新若干oFile(.
o文件)并报告ar-taFile[oFile…]列出aFile中全部或指定的oFilear-daFileoFile…从aFile中删去指定的oFile常用公用库的路径、库名-L/usr/lib一般系统库所在目录(默认路径)-L/usr/local/lib一般公用库安放目录(默认路径)-L/usr/openwin/libOpenwindow图形系统库所在目录-lm数学函数库,全名为libm.
a,在/usr/lib目录下-lX11X-window图形库,全名为libX11.
a,通常在/usr/openwin/lib目录下make,程序或文件的维护、更新或重建make命令make[-fmake_file][macro=defn][target]…-fmake_file指定make文件为make_file,缺省为makefile或Makefile(前者优先)macro=defn先将defn作为值赋予make文件中的宏macro,再执行target执行make文件中的目标target.
缺省为make文件中的第一个目标make文件中的宏macro=value定义宏macro的值为valuemacro1=$(macro:a=b)由宏macro中字串a易为字串b派生出另一宏macro1macro2=$(macro:a%b=c%d)由宏macro中字串a%b易为字串c%d派生出另一宏macro2,其中%代表除子串a、b和空格以外的任意字串SRC=$(wildcard*.
c)宏SRC由通配符*.
c构成(GNU版本的make支持)SRC:sh=echo*.
c宏SRC由shell命令echo*.
c构成(CCS版本的make支持)make文件中目标的依赖及其实现target:dependency目标及其依赖项commands实现本目标的命令组,命令数不限,行首需冠以,可续行.
c.
o:$(CC)$(CFLAGS)-c$>左移位、右移位小于、大于、小于或等于、大于或等于相等、不等、字符串与字串模式匹配、字符串与字串模式不匹配&按位与^按位异或|按位或&&逻辑与||逻辑或等于、自乘、自加、加1、减1条件表达式"`command`"==string命令command写至标准输出的信息等于字符串string$argv[1]=~*.
c命令行第一个参数与*.
c相匹配;!
~表示不相匹配-[e][d][f][r][w][x][o][z]$file文件$file:存在是目录是普通文件可读写执行属本人文件名为空!
($#argv)命令行参数个数为0csh的流程控制条件执行开关分支顺序循环if(expr)commandswitch(string)foreachvar(wordlist)条件分支caselabe:…if(expr)then…end…breaksw条件循环elseif(expr)then……while(expr)…default:…else…end…breaksw转移标号语句endifendswgotolabellabel:·13·人机交互基本方式echo-n"Inputanumber:"提示输入一个数,-n不换行,光标停在本提示后setvar=$!
_tmp用sed命令将$file内每行末的^M删去后存入_tmp\mv-f_tmp$file强行用_tmp复盖$fileend循环完breaksw分支完endsw开关语句结束exit退出,结束本命令noargs:标号语句noargsechoUsage:`basename$0`dos_file.
.
.
告示本命令的用法echo-n"DOSfiles:"提示输入若干待处理的DOS文件名setfiles=$2)then如果命令行参数个数为0或大于2,则echoUsage:`basename$0`str1\[str2\]告示本命令的用法else其它情况,即命令行参数个数为1或2,则foreachsrc(`echo*$1*`)foreach循环,逐个取含$1的文件名为原名srcsetobj=(`echo$src|sed-e"/\$1/s//$2/"`)将$src中$1替换为$2形成新名objecho-n"mv$src$obj[n]"问改名否(缺省是否)setans=$!
$target/$base.
tgz借助管道,对待打包文件打包-压缩,写至目的目录end循环体完exit0成功退出,令返回值为0例4.
gt,文件解压列表或复原(简化)用法:gtfile[file…][target]功用:将指定打包压缩的文件解压列表或在指定目录下解压复原#!
/bin/cshif!
($#argv)exit如果命令行参数个数为0,则退出if(-d$argv[$#argv])then如果最后一个参数是目录,表示要复原,则做settarget=$argv[$#argv]将最后一个参数记为target@flc=$#argv-1用flc记待解压文件数,等于命令行参数个数减1if($flc==0)exit;如果待解压文件数为0,则退出foreachfile($argv[-$flc])foreach循环,逐一取待解压文件名记为filegzip-cd$file|(chdir$target;tarxfv-)借助管道,对待解压文件解压-复原于目的目录end循环完else否则,只做解压列表foreachfile($argv)foreach循环,逐一取待解压文件名记为filegunzip-c$file|tartfv-|more借助管道,对待解压文件解压、分屏显示内中目录end循环完endif条件语句完·15·例5.
tcp,文件打包复制(简化)用法:tcpsource[[source…]target]功用:将指定的若干目录或文件复制到另一目录.
本命令借助管道,采用tar命令,一端打包,另一端复原.
特点:1.
剔除.
o和.
a文件;2.
不深入符号链接;3.
文件日期不变.
#!
/bin/cshif!
($#argv)exit如果命令行参数个数为0,退出if($#argv==1)then如果命令行参数个数为1,则settarget=$cwd目的目录target就是当前工作目录@flc=1用flc记待复制文件数,为1else否则,即命令行参数个数大于1if!
(-d$argv[$#argv])exit如果最后一个命令行参数不是目录名,则退出settarget=$argv[$#argv]目的目录target就是最后一个命令行参数@flc=$#argv-1用flc记待复制文件数,等于命令行参数个数减1endif条件语句完@n=1设循环变量n初值为1while($n<=$flc)while循环,若$n小于等于待复制文件数,做setdir=`dirname$argv[$n]`取一待复制文件名的目录名部分记为dirsetbase=`basename$argv[$n]`取该待复制文件名的文件名部分记为base(chdir$dir;tarcfFF-$base)|(chdir$target;tarxfvBp-)对该待复制文件打包通过管道传至目的目录复原@n++循环变量n增1end循环结束例6.
dcp,差异文件打包复制(简化)用法:dcpsrc_dirfile…功用:指定一源目录和当前目录下的若干文件名,将当前目录下指定文件同源目录下同名文件比较.
对发现有差异的文件,显示二文件的差别段落,并征询是否更新当前目录下的文件.
#!
/bin/cshif($#argv<2)exit如果命令行参数个数为小于2,退出if!
(-d$1)exit如果第一个命令行参数不是目录,退出foreachfile($argv[2-])foreach循环,第二个命令行参数起,逐一记为fileechocompare$file$1/$file…告示将比较文件$file和源目录$1下的同名文件cmp-s$file$1/$file用cmp命令比较$file和$1/$file,-s不报告任何信息.
if($status==1)then如果状态参数status值为1,表明二文件有差别,则diff$file$1/$file用diff命令显示二文件的相异段落echo-ntcp$1/$file.
'(y|q|[n])'问是否要用tcp更改文件$file(缺省为否)setans=$<从键盘要回答if($ans=~[yY]*)如果回答"y"或"Y",则tcp$1/$file.
用tcp更改当前目录下的文件$fileelseif($ans=~[qQ]*)then如果回答"q"或"Q",则exit退出,中止比较endif条件语句完endif条件语句完end循环完2003年10月1日清华大学申明编·16·
georgedatacenter怎么样?GeorgeDatacenter是一家2017年成立的美国商家,正规注册公司(REG: 10327625611),其实是oneman。现在有优惠,有几款特价VPS,基于Vmware。支持Paypal付款。GeorgeDatacenter目前推出的一款美国vps,2核/8GB内存/250GB NVMe空间/2TB流量/1Gbps端口/Vmware/洛杉矶/达拉...
今天有网友提到自己在Linux服务器中安装VNC桌面的时候安装都没有问题,但是在登录远程的时候居然有出现灰色界面,有三行代码提示"Accept clipboard from viewers,Send clipboard to viewers,Send primary selection to viewers"。即便我们重新登录也不行,这个到底如何解决呢?这里找几个可以解决的可能办法,我们多多尝试。...
星梦云怎么样?星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器 。官方网站:点击访问星梦云官网活动方案:1、成都电信年中活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50...
chmod用法为你推荐
汇通物流请大家千万不要使用汇通快递!!Baby被问婚变绯闻黄晓明婚礼上说baby碰他哪里最兴奋微信回应封杀钉钉微信发过来的钉钉链接打不开?bbs.99nets.com送点卷的冒险岛私服月神谭适合12岁男孩的网名,要非主流的,帮吗找找,谢啦www.qq530.com谁能给我一个听歌的网站?www.119mm.comwww.kb119.com 这个网站你们能打开不?789se.comhttp://gv789.com/index.php这个网站可信吗?是真的还是假的!www.diediao.com谁知道台湾的拼音怎么拼啊?有具体的对照表最好!www.diediao.com跪求鸭王2
fc2最新域名 看国外视频直播vps GGC 分销主机 edis 2017年万圣节 网站木马检测工具 1g内存 天翼云盘 国内域名 广州虚拟主机 浙江服务器 带宽测试 脚本大全 weblogic部署 nic 香港打折信息 qq空间排行榜 美国主机购买 代理服务器是什么 更多