




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Unix操作系统的入门与基础 Unix操作系统的入门与基础 与大家熟悉的Windows用户界面和使用习惯不同,Unix是常使用命令运行、极具灵活性的操作系统,目前的产品主要有IBM-AIX、SUN-Solaris、HP-UNIX等。初期接触Unix操作系统,下列的问题几乎是常遇的:由图形界面操作转到以命令行方式操作的不习惯性;在短期内掌握全部命令的困难性;针对同一操作有几个命令的难选择性;不同shell命令格式的易混淆性,等等。一些初学者可能会因此而丧失继续学习的信心。根据上述的实际情况,本文遵循“避繁就简、避滥就精,不求详尽、只求适用”的原则,以初学者上机的必经过程为思路,力求用层次分明的浚理和详略得当的阐释,解读该操作系统使用的基本须知内容,以期达到便捷入门和较快精进的目的。 (一)Unix操作系统概述 Unix操作系统是一种强大的多任务、多用户操作系统。早在上世纪六十年代未,AT&T Bell实验室的Ken Thompson、Dennis Ritchie及其他研究人员为了满足研究环境的需要,结合多路存取计算机系统(Multiplexed Information and Computing System)研究项目的诸多特点,开发出了Unix操作系统。至今,Unix本身固有的可移植性使它能够用于任何类型的计算机:微机、工作站、小型机、多处理机和大型机等。 Unix操作系统通常被分成三个主要部分:内核(Kernel)、Shell和文件系统。 内核是Unix操作系统的核心,直接控制着计算机的各种资源,能有效地管理硬件设备、内存空间和进程等,使得用户程序不受错综复杂的硬件事件细节的影响。 Shell是Unix内核与用户之间的接口,是Unix的命令解释器。目前常见的Shell有Bourne Shell(sh)、Korn Shell(ksh)、C Shell(csh)、Bourne-again Shell(bash),本文主要以csh和bash为例。 文件系统是指对存储在存储设备(如硬盘)中的文件所进行的组织管理,通常是按照目录层次的方式进行组织。每个目录可以包括多个子目录以及文件,系统以 / 为根目录。常见的目录有 /etc (常用于存放系统配置及管理文件)、/dev (常用于存放外围设备文件)、/usr (常用于存放与用户相关的文件)等。 (二)上机基本操作解说 简介Unix操作系统是作必要的知识铺垫,为避免一开始就进行枯燥论理和罗列繁复的Unix命令、参数让人感到畏惧与厌烦,接下来就先让我们上机操作吧! 初次使用Unix,最常见的操作不外乎创建新目录、创建新文件、进入指定的目录、显示目录内容、显示当前所处的路径、查看文件内容、拷贝文件、移动文件、删除文件、删除目录、查看系统帮助等,那我们就模拟这些必经过程来练习基本操作吧。 (1)首先让我们在当前目录下创建两个目录dir1,dir2: mkdir dir1 dir2 /输入命令后记得敲一下回车键:) (2)进入目录dir1中创建文件file1,file2: cd dir1 /进入目录dir1 touch file1 file2 /创建文件file1,file2 (3)再进入目录dir2中创建文件file3,file4: cd . /返回上一级目录 cd dir2 /进入目录dir2 touch file3 file4 /创建文件file3,file4 (4)查看目录dir2中所含的文件及子目录情况: ls /这时会看到屏幕显示出目录dir2中有2个文件file3和file4 (5)往文件file3中写入信息,并将其拷贝到目录dir1中: cal 5 2005 file3 /该句命令后文会有详细讲解,此处照样输入即可 cp file3 ./dir1 (6)回到目录dir1中,查看所含的文件及子目录情况: cd . cd dir1 ls /这时会看到屏幕显示出目录dir1中有3个文件file1、file2、file3 (7)再查看一下文件file3中内容,并将该文件删除: cat file3 /这时会看到屏幕显示2005年5月份的日历 rm file3 /删除文件file3 (8)将文件file1移动到目录dir2中,同时查看目录dir1、dir2所含文件及子目录情况: mv file1 ./dir2 ls /这时会看到屏幕显示出目录dir1中有1个文件file2 ls ./dir2 /这时会看到屏幕显示出目录dir2中有3个文件file1、file3、file4 (9)显示当前所处的路径,并删除目录dir1: pwd cd . rm r dir1 (10)显示ls命令的系统帮助: man ls 在进行第10步操作后,这时会觉得眼前一闪,除了有点类似“黑客帝国”的感觉之外,对于ls的解释是否啥也没看清楚啊?对了,因为我们还没有使用分屏显示信息,那使用如下的命令将会让你的眼前豁然明朗: man ls | more /对于| more的使用后文将会进行详细解释,这里只需知 /道使用空格键是往前翻看帮助文档即可 看到这里,想必大家对于Unix操作系统的使用会有一定的感性认识了,已基本会使用类似于Windows操作系统中建立文件夹、建立文件、查看文件内容、复制文件、剪切文件、删除文件、删除文件夹等操作了。可且慢,这时大概会有朋友问:“兄弟,偶还没登陆系统呢,怎么进行上面的操作啊?”这个问题提得好,下面就让我们从头开始作登陆系统的操作吧。 如果在本机上已安装了Unix操作系统,比如安装了SUN-Solaris,则只需启动系统,稍等片刻后会看到如图1的界面。 (图1) 我们这里主要是使用命令行方式来使用Solaris,因此点按住“Options”按钮,这时会出现选项菜单,如图2所示。 (图2) 将鼠标移动到“Command Line Login”项上后弹开。然后在出现如图3中所示的画面时,敲击回车键。 (图3) 这样,我们就能使用命令行来操纵操作系统了。这时会要求用户输入用户名及口令,默认情况下可使用用户名“root”、口令为空来进入系统。 如果用户是在本机上通过网络对远程装有Unix操作系统的主机进行操作,则可以使用telnet进行访问。假设该装有Unix操作系统主机的IP地址为198.4.30.25,用户使用的操作系统是WindowsXP,则可以进入“DOS命令提示符”状态,输入以下命令: telnet 198.4.30.25 login: /输入登录用户名 password: /输入登录口令 倘若用户使用的是Red Hat Linux系统,则可以在桌面上右击鼠标,在弹出的菜单中选择“新建终端”项,再在随后弹出的窗口中进行相同的操作。通常用户若是第一次登入某远程主机,还需要先进行注册操作,具体情况视该远程主机操作的说明而定。 要注意,在每次使用完毕要退出Unix系统之前,一定要进行注销,以防止他人通过你的账号进入系统,保证系统的完整性。输入命令“exit”即可完成注销过程。 (三)演进所涉知识预习 经过前面的上机操作,大家对于如何使用Unix系统应该有了一定的感性认识。为了下一步更深入的了解掌握Unix系统及使用的一些技巧,这里再对相关的应知内容做一补叙与准备。 一、关于Shell 上文中曾简要介绍过的Shell,不同Shell的命令格式会略有差异,现今最常使用的Shell是C Shell(csh)和Bourne-again Shell(bash)。Shell之间可以嵌套,即在C Shell环境中,输入命令: bash 就能进入Bourne-again Shell的使用环境。同理在Bourne-again Shell环境中,输入命令: csh 就能进入C Shell的使用环境。大家可依据自己的使用习惯来选择相应的Shell。 二、Unix命令格式 1、Unix命令提示符 在命令行操作环境下,Unix系统会显示一提示符,提示用户可以在此提示符后输入一行命令。不同的Shell有不同的缺省提示符,如B Shell、Bourne-again Shell的缺省提示符为$,C Shell的缺省提示符为%。但当以root用户登录时,系统提示符统一缺省为#。 2、基本命令格式 Unix命令的基本格式如下: Command option(s) argument(s) Unix命令由一个命令(command)和零到多个参数构成。Unix的命令区分大小写,且命令和参数之间、参数与参数之间都应用空格隔开。 三、Unix文件系统 1、Unix文件系统分类 Unix操作系统可由多个可以动态安装及拆卸的文件系统组成。Unix文件系统主要分为两大类:根文件系统和附加文件系统。根文件系统是Unix系统至少应含有的一个文件系统,它包含了构成操作系统的有关程序和目录,由“/”符号来表示。附加文件系统是除根文件系统以外的其它文件系统,它必须挂(mount)到根文件系统的某个目录下才能使用。本文中若无特别声明,则都是针对根文件系统来进行说明的。 2、Unix文件类型 在Unix中文件共分为四种: (1)普通文件(-):又分为文本文件、二进制文件、数据文件; (2)目录文件(d); (3)设备文件(l); (4)链接文件(b/c):又可分为块设备文件、字符设备文件。 普通文件中的文本文件主要包括ASCII文本文件、英文文本文件和一些可执行的脚本文件等;二进制文件主要是32位的可执行文件等;数据文件主要是系统中的应用程序运行时产生的文件。 目录文件是用来存放文件目录的。 设备文件代表着某种设备,一般放在/dev目录下。它分为块设备文件和字符设备文件,块设备文件以区块为输入输出单元,如磁盘;字符设备文件是以字符作为输入输出单元,如串口。 链接文件类似于Windows系统中的快捷方式,它指向链接文件所链接着的文件。 值得注意的是,与Windows系统不同,Unix系统中目录本身就是一个文件,另外文件类型与文件的后缀名无关。 不同类型的文件有着不同的文件类型标识(可使用“ls -l”命令来进行查看),它们使用下列符号来表示相应的文件类型: - 普通文件 d 目录文件 b 块设备文件 c 字符设备文件 l 链接文件 3、Unix目录结构 Unix系统采用树型的目录结构来组织文件,每一个目录可能包含了文件和其他的目录。该结构以根目录“/”为起点向下展开,每个目录可以有许多子目录,但每个目录都只能有一个父目录。 4、Unix文件名称 Unix文件名称的最大长度为256字符,其对字母大小写敏感,比如file1和File1是表示两个不同的文件。要说明的是,如果用“.”作为文件名的第一个字母,则表示此文件为隐含文件,如“.cshrc”文件(对于此文件,后文将有介绍)。 值得说明的是,当创建了一个目录或文件时所赋予它的名字并非它的全名。一个目录的全名就是它的完整路径名,而一个文件的全名应该是由根目录到该文件所在目录的这条路径上的所有目录名再加上此文件的名称组成,相互之间用“/”分隔。如有一文件resume处于目录/export/home/ray中,则该文件的全名应为:/export/home/ray/ resume。 此外,对于路径名还会有绝对路径和相对路径这样两个概念。绝对路径是指一个目录或文件的全路径名,即以根目录为起始的路径。相对路径则以用户当前工作目录为起始,它是一个相对于用户的工作目录的文件路径。由于从根目录到用户的主目录的绝对路径可能会比较复杂,在csh和bash中可以使用一种特殊字符“”来代表用户的主目录的绝对路径名。另外,“.”可用来表示当前工作目录,“.”可用来表示当前工作目录的父目录。Unix的轻巧“约取而实得”(上篇) 在经过上机操作实践以及掌握Unix系统相关的基础知识之后,可以说已跨进了迈向成功的门槛。接着要登堂入室,继续专进,就必须更加深入的了解Unix基本命令的功能、使用并掌握一些必备的技巧。这一轮学习会有一定难度,需要强烈的求知欲和进取心作为源动力,因为只有“不满足才是向上的车轮”;同时也需要注重学习方法,善用前人总结的“约取而实得”的经验,巧学精进,迎难攻解,从而达到再上台阶之成效。 一、文件系统的相关命令 佛教百喻经中有一则三重楼的喻里,说有一个财主,见到他的邻居盖房子,三层楼盖得很漂亮,他也要盖这样的三层楼房子。见工匠在做地基,他就说不要地基,要直接盖第三层楼,因为第三层最高最漂亮。我们都会觉得这个财主很可笑,但在学习知识的过程中,我们可别老想着第三层而忽视打好地基噢! 文件系统相关的命令是操作Unix系统的基础,在Unix操作系统的入门与基础一文中我们曾使用过其中的部分命令,下面就再来仔细学习这些命令的使用,继续打好今后盖“三层楼”的“地基”吧。 (一)目录管理 我们可以通过使用mkdir、rmdir与cd命令来创建、删除目录以及改变工作目录,并通过ls命令列表显示目录内容,以达到对目录的有效管理。 (1)mkdir命令的功能是创建目录,并且可同时创建多个目录,格式如下: mkdir -p directory-name(s)参数p代表在建立指定目录时,如果其父目录不存在,则一同创建。例 mkdir dir1 dir2 dir3 /在当前目录下建立目录dir1、dir2、dir3 mkdir dir1/dir4 /在当前目录下的dir1子目录中创建目录dir4mkdir p dir6/dir7 /在当前目录下,由于不存在dir6目录,则先自动创建目录dir6, /然后创建其子目录dir7 (2)rmdir命令的功能是删除目录,但其只能删除空目录(即目录中不包含文件),故此命令一般较少使用,在后文中会介绍一个更为常用的删除目录命令。rmdir命令的格式如下: rmdir directory-name(s) (3)在进行处理文件等的操作过程中难免需要在不同的目录下工作,这时cd命令就能派上用场了。cd命令的功能是改变当前的工作目录,它的命令格式如下: cd directory-namecd后面的目录可以是绝对路径,也可以是相对路径。如果cd后面不跟路径名,则是回到用户的主目录。如果大家对此处的一些概念不甚熟悉的话,请参见Unix操作系统的入门与基础文中的介绍,此处就不再赘述了。下面来看几个例子: cd dir1 /进入当前目录中的dir1子目录 cd . /进入上级目录,即把工作目录改变成当前目录的父目录 cd ./zcl /回到父目录,同时再进入zcl子目录中 (注:上述三个命令的路径都为相对路径) cd /home/anray /把工作目录改变成根目录中的home目录下的anray子目录(注:此处路径为绝对路径) 此外,使用pwd 命令可以查看当前的工作目录,它显示的是当前工作目录所处的绝对路径。 (4)ls命令的功能是列表显示指定目录中文件及子目录的信息(其实在Unix系统中目录本身也被视为一个文件,但是为了照顾习惯的思维,在叙述时仍然将其区分为文件与目录两类),缺省输出顺序为纵向按字符顺序排列。它常用的命令格式如下: ls -altFR directory-name参数a代表显示所有类型的文件,包括文件名以“.”为第一个字符的隐藏文件。参数t代表按文件最后修改时间的顺序依次排列文件,参数R将会列出指定目录下以及其所有子目录中的文件,使用参数F将会在列表中的每一个目录后面加上“/”,在每个可执行文件后面加上“*”。参数l代表长列表显示目录内容,即列出文件的类型、访问权限、拥有者、文件大小、修改时间及名称等详细信息。下面将介绍一下长列表显示中的信息的含义,“ls l”命令的使用如下图所示。在上图长列表显示文件信息的每一行中,第一列第1个字符表示文件的类型;第2-4个字符表示文件所有者对此文件的访问权限;第5-7个字符表示用户组对此文件的访问权限;第8-10个字符表示其他用户对此文件的访问权限;第二列文件的链接数第三列文件的所有者第四列文件的用户组名第五列文件所占的字节数第六至八列文件上一次的修改时间第九列文件名注:此表格中的一些概念在下文会有详细介绍,这里只需先了解一下即可 (二)文件管理 1、文件的创建、编辑与删除 Unix系统中可以使用touch命令来创建新文件,它的命令格式如下: touch filename(s)但要指出,touch命令最常用的功能并不是创建文件,而是改变指定文件(或目录)的最后访问时间和修改时间。它的命令格式如下:touch -am mmddhhmmyy filename(s)此命令中,若指定文件不存在,则创建之;若已存在,则将指定文件的访问时间和修改时间按参数的要求进行改变。参数a代表只改变访问时间,参数m代表只改变修改时间。参数mmddhhmmyy中每隔两位分别表示“月日时分年”,用户可利用此参数指定欲设置的时间,若不带此参数,则会自动使用系统当前的默认时间。例 在当前目录下创建新文件document: touch document 将刚创建的文件document的访问与修改时间改为2005年10月1日0时0分: touch -am 1001000005 document大家可不要小视touch命令的此项作用,在软件的实际开发中,有时它还会与企业的客户关系管理策略或企业经济效益密切关联。倘若你所在企业的开发团队协作精神好,工作效率高,或者是改进了相关技术与流程,使原与客户合同中约定的项目完成日期大大提前,为了屏蔽用户知情,避免节外生枝,该命令就派上大用场了。这事我知你知即可,彼此只能心照不宣噢! 文件创建好之后就需要对此文件的内容进行相应的编辑了,在Unix系统中最常使用的编辑工具是vi,在后文中会有专门的章节进行详细介绍,此处先行略过。 在使用Unix系统一段时间之后,大家可能会发现文件数量正在快速增加,而其中的一部分文件可能已经变得过时,或是没有了使用价值,这时就应该及时利用rm命令将此类文件删除了。rm命令的功能是删除文件或目录,它的命令格式如下: rm -i filename(s) 或 rm ri directory-name(s)使用参数i的目的是给大家一次“买后悔药”的机会。由于Unix系统中的文件一旦删除将极难恢复,因此在删除文件之前一定要慎重。而参数i的作用是在删除文件之前进行逐一询问提醒,是否确实要删除此文件。如果输入y则删除文件,若输入其他字符,文件则会被保留。使用了带参数r的rm命令可用来删除一个目录以及其所有子目录,此时不必受删除目录必须为空目录的条件限制,因此也就更具危险性,大家在使用前应当慎之又慎。例 rm doc1 doc2 doc3 / 直接删除文件doc1、doc2、doc3 rm i doc1 doc2 doc3 /在删除文件doc1、doc2、doc3时,每删除一个之前先作提示 rm -ri dir1 /删除目录dir1以及其中所含的所有文件与子目录,删除前先作提示 2、文件的查看 常用的查看文本文件的命令有cat、more、head、tail等,下面将逐一进行介绍。 (1)cat命令可以在屏幕上显示出文本文件的内容,它的命令格式如下: cat filename(s)不过cat最常见的用法是配合重定向符来清空文件以及将几个文件合并成为一个文件。重定向符的详细用法请参见本文第二章节的内容。例 cat /dev/null doc.txt /清空文件doc.txt,/dev/null代表空设备文件(记住使用即可) cat doc2.txt /将doc1.txt中的内容保存在doc2.txt的尾部 (2)使用cat命令查看文本文件时会有一个问题,就是它不会分屏显示文件,这样当文件的内容超出一屏时,除了最后一屏的内容之外,上面的内容都将是一闪而过。当然解决的办法Unix也替我们想好了,就是使用more命令来查看此类文件。more命令的格式如下: more filenamemore命令将会以分页的方式显示文本文件内容。当每次将文件内容显示在屏幕上时,如果内容超出一屏,则会在屏幕的左下部显示“ more”,并且在其后面显示百分比表示已显示部分占总内容的比例。此后按回车键则会下滚一行,按空格键则会下翻一屏,按“b”字母键可以返回上一屏,按“h”字母键可以获得关于更多功能的帮助;使用“/”加上字符串可以查找指定字符串的内容信息,找到后可以按“n”字母键继续搜索下一个符合要求的内容信息,按“q”字母键则可退出并返回Shell命令提示符状态。 (3)head & tail 命令 head与tail命令的格式如下: head -n filename(s) tail -n filename(s)head命令的功能是显示一个或多个文件开头n行的内容,tail命令的功能是显示一个或多个文件最后n行的内容。若没有指定参数n,则系统会默认显示10行内容。 (三)文件与目录的访问权限 1、文件访问权限简介在Unix系统中每个文件(或目录)都包含有一套权限,这些权限决定了谁能访问该文件以及如何访问该文件。通常文件有三种权限:权限普通文件的权限目录的权限r读取文件内容读取文件名称w向文件写入信息建立和删除文件,可以改变文件名等x执行文件使用该目录中的文件 在Unix系统中有三种不同的用户类型,分别是所有者(owner)、用户组成员(group)、其他用户(other)。所有者是指文件的创建者;用户组成员是指由若干个用户组成的组内成员;而除所有者、用户组成员之外的访问者,统称为其他用户。所有者除拥有相关的访问权限外,还有向另两类用户授权之权限。用户组中的成员在同组内可以共享信息,通常某一类或某一项目中的用户会被Unix系统管理员归为一个用户组,每个用户都被授予能访问同组成员文件的权限。其他用户在所有者的授权下可对文件有读、写或执行的权限。 上文中我们曾提到使用“ls l”命令来显示文件的访问权限。如图中所示: 以文件myfile1为例:所有者用户组其他用户权限rw-r-r-含义可读、可写、不可执行可读、不可写、不可执行可读、不可写、不可执行 2、文件访问权限的设置 使用chmod命令可以修改文件的访问权限,chmod命令的格式分为两种: 格式1:chmod symbolic_mode file(s) 格式2:chmod absolute_mode file(s)(1)格式1:符号模式(symbolic_mode)的命令格式如下: chmod who op permission(s) file(s)参数who表示用户类型,它的内容为以下一项或多项:u文件所有者g用户组o其他用户a所有用户参数op表示操作:+表示要增加permission指定的权限-表示要取消permission指定的权限=设置为permission指定的权限,并取消原设置权限参数permission为权限类型,它的内容为以下一项或多项:r表示可读w表示可写x表示可执行例 以上图为例,要为myfile1的所有者增加执行权限,用户组增加写权限与执行权限,取消其他用户的读权限,使用命令如下: chmod u+x,g+wx,o-r myfile1 /为不同用户类型设置权限时用“,”分隔(2)格式2:绝对模式(absolute_mode)的命令格式如下: chmod xyz file(s)参数x、y、z分别代表0-7的数字,用来表示所有者、用户组、其他用户对该文件的访问权限。x、y、z所代表的0-7数字的含义如下:Valuepermission7r w x6r w -5r x4r - -3- w x2- w -1- - x0- - -例 用绝对模式来完成符号模式中的例子: chmod 770 myfile1 从对比中大家应该感受到,符号模式会更加直观一些,而绝对模式的数字含义较难记忆,因此设置文件权限时推荐使用符号模式。 (四)文件与目录的移动复制 在Window系统中,我们最熟悉的操作应该莫过于“Ctrl + C”、“Ctrl + V”、“Ctrl + X”了,因为它为我们节省了大量的时间,带来了极大的便利。而在Unix系统中同样为我们准备了cp、mv命令,利用它们可以实现剪刀加糨糊的操作了:) 1、移动或重命名文件(或目录) 利用mv命令可以将一个文件(或目录)从一个目录移到另一个目录中,也可以用于重命名一个文件(或目录)。mv命令的格式如下: mv -i source-file target-file 或 mv -i source-directory target-directory当target-file为文件名时,则相当于文件重命名,target-directory同理。参数i代表在将文件移动到指定目录中时,若已存在同名文件,则将询问是否覆盖已存在的文件,输入y则覆盖,输入其他字符则中止移动,保留原文件。例 mv beans nuts /将文件beans重命名为nuts mv file1 file2 /tmp /将文件 file1和file2移动到目录/tmp中 mv dir1 /export/home/anray / 将目录dir1包括其所有文件与子目录都移动到目 / 录/export/home/anray下 2、复制文件(或目录) 利用cp命令可以将一个文件(或目录)从一个目录复制到另一个目录中,命令格式如下: cp -i source-file(s) destination-directory 或 cp ri source-directory(s) destination-directory参数i代表在将文件复制到指定目录中时,若已存在同名文件,则将询问是否覆盖已存在的文件,输入y则覆盖,输入其他字符则中止复制,保留原文件。当复制文件到指定目录,或许会期望赋予此复制的文件不同于源文件的文件名,则只需将新文件名放在目标目录名之后,用“/”隔开即可。当需要将一个目录连同它的所有子目录一起复制到目标目录中时,可使用参数r。例 cp beans apple /将文件beans复制到同目录下并改文件名为apple cp beans apple dir1 /同时复制两个文件beans与apple到当前目录下的子目录dir1中 cp apple dir2/orange /将文件apple复制到当前目录下的子目录dir2中,并改名为orange cp -r dir1 dir2 /将目录dir1中的所有文件以及其所有子目录复制到目录dir2中 (五)其它常用命令 1、man命令man命令用于查看帮助信息,常用的命令格式有: man name 或 man k keyword例 man /查看man的使用方法 man ls /查看ls命令的帮助信息在查看帮助信息过程中,按回车键则会下滚一行,按空格键则会下翻一屏,按“b”字母键可以返回上一屏,使用“/”加上字符串可以查找指定字符串的内容信息,找到后可以按“n”字母键继续搜索下一个符合要求的内容信息,按“q”字母键则可退出并返回Shell命令提示符状态。 2、clear命令 clear命令的功能是清理屏幕,每次操作Unix系统时间长了,屏幕上的信息难免显得有些凌乱,这时clear一下是不是觉得眼前一下子“清静”了许多:) 3、date命令 date命令的功能是显示系统时间,并可修改系统时间。date命令的格式如下: date mmddhhmmyydate命令后若无参数,则会显示系统当前的默认时间。若要修改系统时间,则输入参数的顺序依次为“月日时分年”。如要将当前系统时间修改为2005年10月1日0时0分,则可使用如下命令: date 10010000054、cal命令cal命令的功能是显示日历。例1 要查看2005年的全年日历: cal 2005例2 要查看2005年5月份的日历: cal 5 2005 二、特殊字符的使用 先说一个事例:一次有位朋友问我有没有办法把某英语辅导软件中加密的数据搞到手,我想也没想,立刻翻箱倒柜去找出各种解密工具。大半个小时后,正在我毫无头绪之际,这位朋友跑来说自己已搞掂了这个软件的使用授权。问他,说只是给软件作者打了个电话。由此想到Unix中的一些特殊字符,往往平时操作中不曾想到去用它,而是墨守成规地进行自己所熟悉的步骤,实际上是在用那些老笨的方法。如能想到并熟知Unix中特殊字符的功能及使用技巧,就会像我这位聪明的朋友一样取得事半功倍的效果。 (一)通配符的使用 文件名是命令中最常见的参数,大家可能经常会碰到这样的情况,就是仅知道文件名的一部分,或者是想同时引用多个具有相同扩展名或以相同字符串开头的文件。Shell中提供了一套被称作通配符的符号,它们能搜索、匹配并产生一个文件名列表,通配符包括“*”、“?”、“”。用户执行以包含通配符的文件名为参数的命令之后,Shell会自动去搜索匹配文件并返回所发现的一个文件名列表,然后Shell就会用这些文件名作为命令的参数了。星号“*”用于指代以特定字符串开始或结束的文件名,问号“?”代表文件名称中的单一字符,即“*”可替代文件名中任意长度的字符串,而“?”只能替代一个字符。方括号“” 的作用是使用户确定所需搜索的有效字符集,任何在“”里的字符都将被匹配。此外,在“”中可使用“-”来指定一个字符集范围,这样就不必手动的一个个列出来了。请看下面的例子: 假设当前目录下有8个文件doc1,doc2,doc3,docA,docB,docC,docD,document,分别对其进行如下操作: ls doc* /显示出doc1,doc2,doc3,docA,docB,docC,docD,document ls doc? / 显示出doc1,doc2,doc3,docA,docB,docC,docD ls doc13AD / 显示出doc1,doc3,docA,docD ls docA-C / 显示出docA,docB,docC ls doc1-8 / 显示出doc1,doc2,doc3 (二)命令分隔符“;”的使用 有时某些用户可能想在一行中运行多个命令,那么可以在这一行中输入多个命令,命令间用“;”相隔,如: mkdir tmp; cp file1 tmp/file2; ls -l tmpUnix会顺序执行以上三条命令,要注意的是在命令间使用分隔符“;”,只代表命令执行的先后顺序。 (三)重定向符的使用 用户欲执行一个命令,当然是要先输入此命令,系统默认的标准输入设备是键盘,而执行命令后的结果通常显示在系统默认的标准输出设备显示器上。但是,Unix系统具有重定向功能,即将标准输出重定向则可将命令的处理结果存入指定的文件,而非显示在屏幕上;将标准输入重定向则可把指定的数据文件作为输入源,而非从键盘输入数据。重定向符如下:重定向输出到一个文件或设备,如文件不存在则创建该文件,如文件已存在则覆盖该文件重定向输出到一个文件或设备,并将输出信息追加到已存在文件的尾部例如: cal 5 2005 doc1.txt /将2005年5月份的日历保存在文件doc1.txt中 cal 6 2005 doc1.txt /将2005年6月份的日历保存在文件doc1.txt尾部 /此时文件doc1.txt中保存了5、6两个月的日历 cat doc2.txt /将doc1.txt作为输入源,把其中的内容保存在doc2.txt中 (四)管道符“|”的使用 有时可能会需要将一个命令的标准输出发送给另一个命令使用,而非发送到一个目标文件,这时就需要使用Unix提供的管道符“|”在这两个命令间架起一条连接管道。管道符“|”的作用就是从“|”左边的命令接受输出数据并发送给“|”右边的命令作为输入数据。如:ls -l /etc | more 管道符“|”的功能非常强大且很有用,利用它可以实现一些复杂的操作。在下一节关于信息查找命令部分,我们将会看到它的一些应用。 (五)其它特殊字符 美元符“$”是一个特殊操作符,当其置于变量名前面时,变量名会被变量值所代替。因此通常都是通过在变量名前加上“$”来引用该变量的值,“$”也常被称为变量取值符。 Unix中可以使用三种引号符: (1)单引号( ):功能是让系统原样输出单引号中所含的内容。 (2)双引号(“ ”):双引号中的字符串若含有通配符,则系统会先进行通配后再输出;若含有变量取值符“$”,则系统会先进行变量取值后再输出。 (3)反引号( ):反引号中所含的内容必须是一个命令,这样它会先执行此命令,然后把命令执行的结果返回输出。 对于上述几个特殊字符,在下文关于Shell脚本编程部分大家会看到具体的应用例子。此外,常见的特殊字符还有“.”代表用户所在的当前目录,“.”代表用户所在的当前目录的父目录,“”代表用户登陆系统的主目录。Unix的轻巧“约取而实得”(中篇) 三、与查找比较相关的命令 使用Windows系统的用户可能都有这样的经历,在网上看到可悠长品赏的电影,down;看到匠心独运的电子书,down;看到妙织锦绣的文章,down;看到衔华佩实的资料,down。但时间一长,想再回顾一下星战前传3:西斯的反击中奥比旺和阿纳金在熔岩横流的穆斯塔法星上展开光剑对决的精彩片段,或者是重温一下李开复先生给中国学生第四封信中所提出在大学校园应当掌握的“七项学习”,可能自己都记不清当时是放在哪个目录里了。幸好,Windows为我们提供了“搜索”功能,再加上现今Google、百度相继推出的Google 桌面搜索、百度硬盘搜索,才使得这些文件幸免于藏身深宫大院之中,茕茕孑立、形影相吊的命运。那么在Unix系统中的文件又是怎样的命运呢?且看以下的命令功能:(一)利用find命令查找文件 find命令的功能是在指定目录及其子目录下查找符合条件的文件,命令格式如下: find path expression参数path指欲开始查找的起始目录,find会遍寻此目录以及其子目录,并且此参数可以有多个目录名称,只要在目录与目录之间用空格分开即可。参数expression指明了诸如基于文件名、文件类型、文件所有者、最后一次修改时间等的查找规则,find命令将遵循此查找规则来查询指定目录以及子目录中的文件。 常用的查找规则如下:-name filename指定要寻找的文件或目录名称-print将搜索到的符合条件结果以包含路径名的方式输出-type x以文件类型作为寻找条件,常用的文件类型x如下:d - 目录文件, f - 普通文件, b - 块设备文件, c - 字符设备文件, l - 链接文件-user user寻找用户user所拥有的文件,user可为用户名或uid号-atime n寻找n天之前曾被访问过的文件-mtime n寻找n天之前曾被修改过的文件-exec command ;用寻找到的文件作为执行command的对象,中保存执行command时所需的参数,注意必须以 ; 为结束 下面来看一些具体的查找实例: 例1 在目录/home中查找名为javac的文件,并要显示出完整的路径名: find /home name javac -print 例2 在当前目录下查找以doc开头,7天之前曾被修改过的文件: find . name “doc*” -mtime 7 例3 在目录/home中查找名为anray的目录,并显示出完整的路径: find /home name anray type d -print 例4 在目录/home中查找用户zcl所拥有的普通文件,并将其删除: find /home type f user zcl -exec rm ; (二)使用grep命令查找字符串 使用grep命令在文本文件中查找指定的字符串,并将所有出现该字符串的行打印显示出来。grep命令的格式如下: grep -iv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江黑河市下半年事业单位招聘工作人员238人备考考试题库附答案解析
- 2025江西南昌市安义县工投商业管理有限公司第三批招聘2人备考考试题库附答案解析
- 2026咸阳彬县煤炭有限责任公司校园招聘(60人)备考考试题库附答案解析
- 工厂安全培训检查表课件
- 2025福建东南标准认证中心有限公司、福建东南质量技术培训中心有限公选聘2人备考考试题库附答案解析
- 2025四川省算云科技有限责任公司招聘2人备考考试题库附答案解析
- 2025年河北衡水市市直机关公开遴选公务员91人备考考试题库附答案解析
- 哲学:解码与创新
- 2025江西萍乡市安农投资有限公司招聘3人备考考试题库附答案解析
- 2025下半年浙江丽水市直事业单位招(选)聘27人备考考试题库附答案解析
- 设备安装安全保障措施
- 医疗器械经营质量管理制度及工作程序-完整版
- 人工智能训练师(高级)职业技能鉴定参考题(附答案)
- 行政事业单位固定资产培训
- T-SXPFS 0005-2024 山西省转型贷款企业方案编制手册(试行)
- 百果园加盟合同协议书
- 2025届上海市虹口区初三一模英语试卷(含答案和音频)
- 二年级下册查字典练习题
- X线检查技术各部位X线摄影检查技术上肢讲解
- 微电网经济性评估模型-洞察分析
- 半自动压痕模切机器安全操作规程
评论
0/150
提交评论