第三章Shell命令3.1文件管理cat使用权限:所有使用者使用方式:cat[-AbeEnstTuv][--help][--version]fileName说明:把文本文件串连接后传到基本输出(显示器或加fileName到另一个文本文件)参数:-n或--number由1开始对所有输出的行数编号-b或--number-nonblank和-n相似,只不过对于空白行不编号-s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行-v或--show-nonprinting举例:cat-ntextfile1textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里cat-btextfile1textfile2textfile3把textfile1和textfile2的档案内容加上行号(空白行不加)之后将内容附加到textfile3里。cp(copy)使用权限:所有使用者。功能说明:复制文件或目录。举例:#cpa.txtb.txtcut使用权限:所有使用者用法:cut-cnum1-num2filename说明:显示每行从开头算起num1到num2的文字。举例:#catexampletest2thisistest1#cut-c0-6example##print开头算起前6个字符test2thisigrep功能:查找文件中符合条件的字符串。命令语法:grep[参数][文件名]举例:1、grep“test”d*查看d开头文件中包含“test”的行。2、grep‘[a-z]\{5\}’aa先是至少包含5个小写字符的行。find所有权限功能说明:查找文件或目录。语法:find[目录][参数]-ls假设find指令的回传值为True,就将文件或目录名称列出到标准输出。-true将find指令的回传值皆设为True。-name文件名查找符合指定的名称的文件或目录。-exec或ok命令或脚本对查询结果转给其他命令操作。如:ls-type文件类型补充说明:find指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。举例:1、查找当前用户主目录下的所有文件:下面两种方法都可以使用$find$HOME-print$find~-print2、为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;$find/-typef-size0-execls-l{}\;3、查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;$find/var/logs-typef-mtime+7-okrm{}\;4、为了查找系统中所有属于root组的文件;$find.-grouproot-execls-l{}\;-rw-r--r--1rootroot59510月3101:09./fie15、想要在当前目录及子目录中查找所有的‘*.txt’文件,可以用:$find.-name*.txt-print6、想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用:$find.-name[A-Z]*-print7、想要在/etc目录中查找文件名以host开头的文件,可以用:$find/etc-namehost*-print8、想要查找$HOME目录中的文件,可以用:$find~-name*-print或find.-print9、要想让系统高负荷运行,就从根目录开始查找所有的文件。$find/-name*-println(link)功能说明:连接文件或目录。语法:ln[参数][源文件或目录...][目的目录]参数:-d或-F或--directory建立目录的硬连接。-f或--force强行建立文件或目录的连接,不论文件或目录是否存在。-i或--interactive覆盖既有文件之前先询问用户。-n或--no-dereference把符号连接的目的目录视为一般文件。-s或--symbolic对源文件建立符号连接,而非硬连接。说明1将某个文件链接到一个文件上ln-ffile1file2如果file2不存在,那么会创建该文件名。如果file2已经存在了,那么这个文件会被替换为指向file1的一个链接。然后file1和file2文件名会指向同一个文件。对其中任何一个的更改都会出现在另一个中。如果一个文件名被rm命令删除,那么该文件并没有完全被删除,因为它仍然以其它的名字存在。2为了将文件链接为另一个目录中的相同名字,请输入:lnindexdir1这会将index链接到新的名称,dir1/index。注意:在示例1中的file2是一个文件的名称;在示例2中的dir1是一个已经存在的目录。3为了将几个文件链接为另一个目录中的名称,请输入:lnfile2dir2/file3/home/dir1这会将file2链接到新的名称/home/dir1/file2;将dir2/file3链接到新的名称/home/dir1/file3。locate功能说明:查找文件。比find快,需要一个数据库。语法:locate[-d数据库文件][--help][--version][范本样式...]补充说明:locate指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件的文件或目录。参数:-n最多显示n个输出举例#locate–n3“*.conf”寻找符合条件的前3个文件file功能:查询文件类型举例:file/boot/*查询指定目录下所有文件类型。mv功能说明:移动或更名现有的文件或目录。语法:mv[参数][源文件或目录][目标文件或目录]补充说明:mv可移动文件或目录,或是更改文件或目录的名称。参数:-f或--force若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。-i或--interactive覆盖前先行询问用户。-u或--update在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。--help显示帮助。rm(remove)功能说明:删除文件或目录。语法:rm[-dfirv][--help][--version][文件或目录...]补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数-r,否则预设仅会删除文件。参数:-d或--directory直接把欲删除的目录的硬连接数据删成0,删除该目录。-f或--force强制删除文件或目录。-i或--interactive删除既有文件或目录之前先询问用户。-r或-R或--recursive递归处理,将指定目录下的所有文件及子目录一并处理。-v或--verbose显示指令执行过程。--help在线帮助。--version显示版本信息。which功能说明:查找文件。语法:which[文件...]补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。参数:-n文件名长度指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。-p文件名长度与-n参数相同,但此处的文件名长度包括了文件的路径。3.2系统管理adduser功能说明:新增用户帐号。语法:adduser补充说明:在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd指令建立新用户,如此可方便管理员建立用户帐号。在RedHatLinux中,adduser指令则是useradd指令的符号连接,两者实际上是同一个指令。useradd功能说明:建立用户帐号。语法:useradd[参数和参数值]用户名称补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。参数:-d登入目录指定用户登入时的启始目录。-e有效期限指定帐号的有效期限。-f缓冲天数指定在密码过期后多少天即关闭该帐号。-g群组指定用户所属的群组。-r:建立一个系统的帐号,这个帐号的UID会有限制(/etc/login.defs)-uuid指定用户ID。userdel功能说明:删除用户帐号。语法:userdel[-r][用户帐号]补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。参数:-f删除用户登入目录以及目录中所有文件。usermod功能说明:修改用户帐号。语法:usermod[参数和参数值][用户帐号]补充说明:usermod可用来修改用户帐号的各项设定。参数:-d登入目录修改用户登入时的目录。-f缓冲天数修改在密码过期后多少天即关闭该帐号。-g群组修改用户所属的群组。-l帐号名称修改用户帐号名称。-L锁定用户密码,使密码无效。-sshell修改用户登入后所使用的shell。-uuid修改用户ID。-U解除密码锁定。logname功能说明:显示用户名称。语法:logname[--help][--version]补充说明:执行logname指令,它会显示目前用户的名称。参数:--help在线帮助。--vesion显示版本信息。logout功能说明:退出系统。语法:logout补充说明:logout指令让用户退出系统,其功能和login指令相互对应。shutdown功能说明:系统关机指令。语法:shutdown[-efFhknr][-t秒数][时间][警告信息]补充说明:shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。参数:-h将系统立即关机。-k只是送出信息给所有用户,但不会实际关机。[时间]设置多久时间后执行shutdown指令。[警告信息]要传送给所有登入用户的信息。cal功能:显示日历信息。举例:1、cal2001显示2001年年历。date功能:显示和设置系统日期和时间。bc可以计算简单的表达式。可以编辑一个文件执行,也可以进入bc模式得到结果。w功能说明:显示目前登入系统的用户信息。语法:w[-fhlsuV][用户名称]补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。参数:-f开启或关闭显示用户从何处登入系统。-h不显示各栏位的标题信息列。-l使用详细格式列表,此为预设值。-s使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。-u忽略执行程序的名称,以及该程序耗费CPU时间的信息。-V显示版本信息。who功能说明:显示目前登入系统的用户信息。语法:who[-help][--version][ami][记录文件]补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。参数:略:whois功能说明:查找并显示用户信息。语法:whois[帐号名称]补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到NetworkSolutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。