




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux的基本操作Linux拥有功能强大的命令,这些命令可以满足系统管理与用户应用的需要,熟练地掌握这些命令的使用方式可以极大地提高用户的工作效率,本章介绍了Linux的基本命令、Linux的用户和权限管理、vi编辑器的使用、以及shell编程的相关知识及Linux应用软件的安装方法。本章属于Linux的应用基础,读者应当熟练掌握本章各个知识点,为学习后续章节的Linux网络应用打下坚实的基础。Linux系统是大小写敏感(case-sensitive)的。学习目标:掌握基本命令熟悉用户管理掌握权限管理掌握shell编程掌握系统脚本1虚拟控制台Linux是一个真正的多用户操作系统,它可以接受多个用户同时登录。而且Linux还提供了虚拟控制台的访问方式,允许一个用户进行多次登录,即允许用户在同一时间从控制台进行多次登录。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。虚拟控制台还有一个用途就是当一个程序出错锁住输入时可以切换到其他虚拟控制台登录后杀掉这个出错的进程。虚拟控制台的选择可以通过按下【Alt】键和某一个功能键来实现,通常使用【F1】-【F6】。一个新安装的Linux系统默认允许用户使用【Alt+F1】到【Alt+F6】键来访问前六个虚拟控制台。控制台运行后,显示的用户登录界面如下所示。此处显示了所用Linux的发布版本,代号以及核心版本、机器类型等信息。不同版本的登录界面与此类似。Red Hat Enterprise Linux Server release 5 (Tikanga)Kernel 2.6.18-8.e15xen on an i686Localhost login:用户登录后,出现系统提示符,表示系统处于接受命令状态,这时用户可以输入Linux能够识别的命令,命令的一般格式如下:命令 可选项 参数其中,可选项决定命令的执行方式,可以省略,也可以为多个可选项的组合;而参数则是为命令的执行提供相关信息,当然很多命令不需要参数。需要注意的是Linux命令、可选项、参数全部区分大小写。输入命令以回车结束,系统将分析用户输入的命令,如果不正确将给出相应出错信息。如命令正确则执行相应的功能。命令运行时,一般会在用户终端屏幕上输出信息。如果输出的内容较多,一个屏幕显示不完,则系统自动将原有的内容上翻;如过翻屏太快,用户可以使用【Ctrl+S】键暂停输出,按【Ctrl+Q】键恢复输出。命令执行完成后,系统返回到系统提示符下,用户可以继续输入其他命令。2基本命令 基本命令是使用Linux的基础,熟练掌握可以提高用户的工作效率。下面将以实例的形式讲述这些命令的用法。2.1 文件管理命令1.文件及目录列表ls是英文单词list的简写,其功能为列出目录的内容。该命令类似于DOS下的dir命令。dir命令在Linux也可以使用,但功能不如ls强大。对于每个目录,该命令将列出其中所有的子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。比如显示/usr目录下的所有文件的详细信息,命令及结果如下所示。rootredhat5 # ls -l /usr总计 252drwxr-xr-x2 root root 65536 01-23 10:12 bindrwxr-xr-x 121 root root 12288 01-23 00:48 includedrwxr-xr-x 2root root 16384 01-23 10:12 sbindrwxr-xr-x 4 root root 4096 01-23 00:40 srcrootredhat5 # 2.显示当前路径pwd命令为英文单词print working directry的缩写,其功能为显示当前完整路径名。在Linux层次目录结构中,要想知道当前所处的目录,可以用pwd命令,用法如下所示。rootredhat5 bin# pwd/usr/bin3.改变当前路径cd命令是英文单词change directory的缩写,功能与Dos下的cd命令类似,即将当前目录改变为参数所指定的目录。若没有指定参数,则回到用户的主目录。为了切换到指定目录,用户必须拥有对指定目录的执行和读权限。该命令可以使用通配符。命令用法如下所示。chxdredhat5 bin$ cd /rootbash: cd: /root: 权限不够chxdredhat5 bin$ cd /home/chxdchxdredhat5 $ pwd/home/chxd4.创建目录mkdir命令是英文单词make directory的缩写,命令格式为mkdir dirname 。功能为创建由参数dirname命名的目录。要求创建目录的用户在当前目录中(dirname的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。该命令的用法见下所示,该例演示了嵌套地创建了一个多层目录。rootredhat5 #mkdir p /home/chxd/mydir/subdir5.删除目录rmdir命令是英文单词remove directroy的缩写,该命令的功能为从一个目录中删除一个或多个子目录项。使用该命令必须注意:一个目录被删除之前必须是空的。删除某目录时也必须对其父目录具有写权限。chxdredhat5 $ mkdir datachxdredhat5 $ lsdatachxdredhat5 $ rmdir datachxdredhat5 $ lschxdredhat5 $ rmdir /rootrmdir: /root: 权限不够chxdredhat5 $ 6.查看文件内容查看文件内容的命令较多,可以根据显示要求的不同选用不同的命令。(1)cat命令cat命令为英文单词catenate的缩写,其主要用来连接两个或多个文件,形成新的文件并显示该文件。该命令依次读取其后所列文件的内容并将其输出到标准输出设备上,所以可以用来显示文件的内容。其显示文件内容时用法如下所示。chxdredhat5 $ cat hellohello my friend!how are you?chxdredhat5 $ (2)more命令该命令可以一次显示一屏文本,显示满屏之后,停下来,并在终端底部打印出- - More- - ,系统还将同时给出已显示文本占全部文本的百分比,用户可以按空格键显示其余内容。(3)less命令该命令与more命令的功能基本相同,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后地翻阅文件,而more命令只能向后翻阅文件。(4)head命令只显示文件或标准输入的前几行内容。tail命令和head命令的功能相对应。把指定文件的指定显示范围内的内容显示在标准输出上。例:chxdredhat5 $ head -line=1 hellohello my friend!chxdredhat5 $ head -line=2 hellohello my friend!how are you?7.文件复制命令cp命令为英文单词copy的缩写,与Dos下的copy命令类似,功能为将某个文件或目录拷贝到另一文件或目录中。该命令的用法如下所示。rootredhat5 chxd# lshellorootredhat5 chxd# cp /root/install.log install.log.bakrootredhat5 chxd# lshello install.log.bakrootredhat5 chxd#8.删除文件rm命令为英文单词remove的缩写,该命令的功能为删除一个目录中的一个或多个文件,它也可以将某个目录及其下的所有文件及子目录全部删除。对于链接文件,只是删除了链接,原有文件均保持不变。其中r选项表示递归删除,在删除一个非空目录时使用;-f选项为强制删除,即在删除文件时,系统不给出确认提示,直接删除。其用法如下所示。chxdredhat5 $ lsdata data1 install.log.bakchxdredhat5 $ rm -r datachxdredhat5 $ lsdata1 install.log.bakchxdredhat5 $ 9.改变文件使用权限Linux文件系统是Linux系统的核心模块。通过使用文件系统,用户可以很好地管理各项文件及目录资源。文件或目录的访问权限分为只读、只写和可执行三种。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限。用户也可根据需要把访问权限设置为需要的任何组合。有三种不同类型的用户可对文件或目录进行访问:文件所有者、同组用户、其他用户。(1)查看文件属性查看文件属性,可以使用前面讲到的ls l 命令,利用该命令可以得到当前目录下每一个文件属性的详细信息。如下所示。chxdredhat5 $ ls l-rw- 1 root root 829 2008-11-02 anaconda-ks.cfg-rwxrwxrwx 1 root root 1101 2008-12-10 block-rw-r-r- 1 root root 38892 2008-11-02 install.log对于命令ls的显示,从左到右分为7栏,其含义分别为:文件权限字符、文件的硬连接数、文件的拥有者、文件的组拥有者、文件的长度、文件最后一次修改日期、文件名称。最左边一栏即为文件权限,共10个字符可分为4个部分,如图1所示。图1 文件权限示意图其中(1)部分表示文件的性质,占1个字符,常见的有以下几种:l - 一般文件l d目录文件l l符号链接文件l b块设备文件l c字符型设备文件通常使用该字符来辨别文件的类型。第(2)部分表示文件的拥有者对该文件的操作权限。第(3)部分表示文件的组拥有者对该文件的操作权限。第(4)部分表示所有其他用户对该文件的操作权限。权限通常有r、w、x 三种,各个含义如下:l r 表示读权限,对于一般文件,用户拥有读权限,表示可以读出文件的内容、可以复制该文件等。对于目录而言,用户可以查看该目录的内容,比如使用ls命令列表该目录所包含的文件。l w 表示写权限,对一般文件,表示拥有此权限的用户可以修改该文件的内容。对于目录,则表示用户可以在该目录下建立新的文件或子目录,可以删除、移动、重命名该目录所包含的文件或子目录等。l x 表示执行权限,具有执行权限的文件一般是一个可执行文件,用户据此可以判断一个文件是否可以执行。用户如果拥有某个文件的执行权,用户就可以随时执行该文件。执行文件通常方式为:./带路径的文件名,如下所示。chxdredhat5 $ ./addcmd ok!chxdredhat5 $(2)改变文件的访问权限的命令为chmod,是英文单词change mode的缩写,用于改变文件或目录的访问权限,是一条非常重要的系统命令。权限设置通常有文字设定法和数字设定法。文字设定法:包含字母和操作符表达式,格式如下:chmod 这里u(user)表示文件的拥有者,g(group)代表组拥有者,o(other)代表其他用户,a(all)代表全体用户;|表示多选一,即a、u、g、o按需选一个,+表示增加权限,-表示去掉权限,=表示设定权限,同时取消原来的权限;权限字符串为-、r、w、x中的一个或多个组合。例如:为当前目录下文件install.pl的组拥有者增加xw权限:chmod g+wx install.pl为install.pl文件的拥有者除去w权限chmod u-w install.pl设定文件install.pl的其他用户只有r权限chmod o=r install.pl数字设定法:是与文字设定法功能等价的设定方法,只不过比文字设定法更加简便。该方法使用数字表示权限。命令格式为:chmod 八进制权限字符串的表示方式如表1所示表1权限对照表Ugo文字权限串rwxr-xr-二进制权限111101100八进制权限 7 5 4根据表1的表示,很容易得到权限的八进制字符串,首先根据文字权限串得到二进制权限字符串,方法是文字权限串中不为-的用1表示,为-的用0表示。然后将相应的二进制转换为对应的八进制数值即可。例如为当前目录下文件install.pl设定权限,文件拥有者rwx权限,组拥有者r权限,其他用户只有x权限,则命令为: #chmod 741 install.pl(3)更改文件的所有权chown命令为英文单词change owner的缩写,用来更改某个文件或目录的属主和属组。例如,root用户把自己的一个文件拷贝给用户zha,为了让用户zha能够存取这个文件,root用户应该把这个文件的属主设为zha,这样,便于用户zha存取这个文件。chgrp命令也可以实现该功能。命令格式为:chown 10.建立文件链接在Linux下,一个文件可以同时归属于多个不同的目录,相应的操作称为链接,可以使用ln 命令建立链接。(1)硬链接例如,如图2(a)所示所示的目录结构,输入如下命令ln /x/y /z其结构将变为如图2(b)所示所示。(a) (b)图2目录结构示意图这时,使用ls /x 或使用 ls /z 都可以看到文件 y。如果在任何一个目录下对文件y进行修改,在另一个目录中都能看到文件y已经被修改。即有ln链接的文件,在存储介质上只有一个,只不过在不同的目录下都登记而已。当用户需要在文件系统中完全删除一个拥有链接的文件时,必须删除其所有链接。对于本例,需要执行rm /x/y 与rm /z/y 。(2)符号链接符号链接是为了简化操作而设置的,类似与Windows操作系统下的“快捷方式”。有时,在某个目录下对另一个目录中的文件或子目录经常进行操作,如图3所示。这时为了简化操作,可以建立符号链接。假设当前目录为x,经常使用/z/l/k/a 文件,为了避免转换当前目录或者使用长的绝对路径造成的麻烦,可以在当前目录x下,建立文件/z/x/k/a的符号链接。建立符号链接方式如: ln s 针对该例,命令如下即可:ln s /z/l/k/a /x/c 此时目录结构如图4所示。图3某个树形目录示意图图4符号链接示意图11.mount与umount命令格式:mount -参数 设备名称 挂载点 常用的参数有: l -r 将文件系统安装为只读。 l -v 详细显示安装信息。 l -w 将文件系统安装为可写,为命令默认设置。l -t指定设备的文件系统类型,常见的有:ext3 linux目前常用的文件系统 vfat windows98常用的fat32 nfs 网络文件系统 iso9660 CD-ROM光盘标准文件系统ntfs windows NT/2000/XP的文件系统 auto 自动检测文件系统 l -o指定挂载文件系统时的选项,有些也可写到在/etc/fstab中。常用的有: defaults 使用所有选项的默认值(auto、nouser、rw、suid) exec/noexec 允许/不允许执行二进制代码 user /nouser 允许/不允许一般用户挂载codepage=XXX 代码页iocharset=XXX 字符集 ro 以只读方式挂载 rw 以读写方式挂载 需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。下面看几个例子:【例1】挂载windows下文件系统为FAT32的D盘,一般而言在Linux下这个分区对应/dev/hda5,根据具体的分区情况会有不同,这里就以hda5来举例说明: # mkdir /mnt/hda5 /创建hda5的目录作为挂载点,该目录名读者可自行确定。# mount -t vfat /dev/hda5 /mnt/hda5一般而言,Linux会自动探测分区的文件系统,即 t vfat 可以省略。即:# mount /dev/hda5 /mnt/hda5 这样就可以进入/mnt/hda5目录去访问分区中的资源了。【例2】挂载磁盘,并能正确显示中文。# mount o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5 如果这样设置以后还有问题,则要尝试UTF-8编码,即如下所示:# mount o iocharset=utf8 /dev/hda5 /mnt/hda5 有时候mount上分区后显示不了中文,或者文件名显示成问号或乱码,显示问号表明系统中没有可识别的中文字体,需要先安装中文字体。显示为乱码一般是mount默认使用的文件系统编码和文件系统中文件的实际编码不一致造成的。实现正常显示中文文件,mount时需要用到 -o 参数里的codepage和iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312。【例3】mount分区,并且普通用户可写,解决方式如下:# mount o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5 【例4】挂载U盘和mp3。如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1,可以使用命令: # mkdir /mnt/u # mount /dev/sda1 /mnt/u【例5】直接使用iso文件。# mkdir /mnt/iso # mount o loop linux.iso /mnt/iso当然,挂载以后挂载点/mnt/iso也是只读的。 mount的这一选项使得Linux下有免费虚拟光驱的说法。【例6】开机自动挂载分区每次挂载都要输入那么长的命令比较繁琐,只要将分区信息写到/etc/fstab文件中即可实现系统启动的自动挂载,例如在文件/etc/fstab中添加如下的行即可实现/dev/hda5的自动挂载: /dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0 上面举例讲述了文件mount命令;当设备不再使用时,可以使用umount命令卸载。umount命令的用法如下: umount -参数 挂载点例如对命令 mount -t vfat /dev/hda5 /mnt/hda5 挂载的设备进行卸载,命令如下:#umount /mnt/hda5 或者 #umount -l /mnt/hda52.2 进程管理命令程序是存储在磁盘上包含可执行机器指令和数据的静态实体,而进程是动态实体,是程序在系统上的一次执行过程。进程都有其自己的特点和属性。其中内核给每个进程分配一个唯一的ID,称为进程ID,即PID。控制进程的命令中多数需要用户指定PID。1.Linux进程类型(1)交互进程由一个shell启动的进程,交互进程既可以在前台运行,也可以在后台运行。(2)批处理进程这种进程和终端没有联系,是一序列进程的组合执行过程。(3)守护进程是系统启动时自动启动的进程,是一种后台运行并独立于所有终端控制之外的进程,主要包括系统管理以及网络服务之类的进程,其中一些需要周期性地运行来完成特定的任务(例如crond),而其余的则连续地运行,等待处理系统中发生的某些特定的事件。一部分在引导系统时启动,这种情况下的守护进程通常在系统启动脚本的执行期间被启动,这些脚本一般存放在/etc/rc.d中。一部分使用守护进程启动,通常守护进程查询存放在/var/spool/cron目录中的一组文件,这些文件规定了需要周期性执行的任务。此外还有一些需要在规定的日期执行的进程,一般情况下可以使用at命令启动这些进程。2.启动Linux进程(1)前台启动这是手工启动进程的最常用的方式。一般地,比如用户键入一个命令“lsa”,这样就已经启动了一个进程,而且是一个前台进程。必须等待该命令返回后才能输入下一个命令。(2)后台启动直接从后台手工启动一个进程,可以使用户继续在终端上操作而无须等待该进程完成。对于较为耗时的进程,并且用户也不着急看到处理结果的时候常常使用。但是后台运行信息仍然会在终端显示,用户可以将显示重定向到某个文件中。后台启动用法为: & ,例如make dep/tmp/dep.txt & ,作用就是在后台检查依赖关系,并将结果输出到/tmp/dep.txt 文件中。(3)定时启动Linux具有定时执行某些程序的功能,命令为at,格式为:at ;这里可以使用标准时间格式,例如需要在当天11:15将文件/root/install.log以电子邮件的方式发送给用户chxd;方法如下所示:rootredhat5 # at 11:15at cat /root/install.log|mail -s install.log chxdat job 1 at 2008-01-26 11:15rootredhat5 #如果没有其他需要在11:15执行的命令了,按+d结束即可。at命令还有以下几个参数,at l 查看系统内准备定时执行的作业。at r 删除正待执行的一项作业。(4)周期执行at命令只能执行一次,如果需要周期性地重复执行一些命令,需要使用cron服务。实际上,cron命令在系统启动时由一个shell脚本自动运行,进入后台。cron服务每分钟被唤醒一次,搜索/var/spool/cron目录,寻找以/etc/passwd 文件中的用户名命名的crontab文件,查看当前时间是否有命令需要运行,如没有,则继续转入睡眠状态。命令执行结果将以mail形式发送给crontab的所有者或者指定的用户。可以看到cron不需要用户干预,用户只需修改crontab中的命令序列即可。crontab命令用于安装、删除或者显示用户的cron服务,每个用户都可以拥有自己的crontab文件。crontab的常用选项意义如下:l Crontab u 设置某个用户的cron服务。l crontab l 列出某个用户cron服务的详细内容。l crontab r 删除某个用户的cron服务。l crontab e 编辑某个用户的cron服务命令。crontab文件每行包含六个域,其中前五个域指定命令执行的时间,最后一个域是要执行的命令。每个域之间用空格或制表符分隔。格式如下:minute hour day-of-month month-of-year day-of-week commands其中每一项说明如表2所示。表2 crontab 格式说明表项编号项名称描述1minute分钟(0-59)2hour小时(0-23)3day-of-month一个月的第几天(1-31)4month-of-year一年中的第几个月(1-12)5day-of-week每周的星期几(0-6)6commands需要执行的命令所有项目都不能为空,还有几个特殊意义的符号:“*”代表所有取值范围内的数字;“/”相当与“每”的意思,“*/10”表示每10个单位;“-”表示从某个数字开始到某个数字截至;“,”为分开的几个离散数字,即这些数字代表的时间都要执行。下面举例说明:【例 7】某系统管理员需每天做一定的重复工作,如下列要求,试编制一个解决方案:(1)在下午4 :50删除/abc目录下的全部子目录和全部文件;(2)每逢星期一下午5:50将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz;(3)在下午5:55将IDE接口的CD-ROM卸载(假设:CD-ROM的设备名为hdc);第一步:输入crontab -u root e命令后,系统提示root用户目前没有crontab文件,将新建立一个crontab文件,并立即打开编辑器;rootredhat5 # crontab -u root -eno crontab for root - using an empty one第二步:在编辑器中分三行输入如下内容,然后在命令状态下输入“:U1wq”退出。50 16 * * * rm -r /abc/*50 17 * * 1 tar zcvf backup.tar.gz /data55 17 * * * umount /dev/hdc第三步系统提示crontab已经安装成功,这时可以查看相应的crontab文件。显示如下:rootredhat5 # ls /var/spool/cronrootrootredhat5 # cat /var/spool/cron/root 50 16 * * * rm -r /abc/*50 17 * *1 tar zcvf backup.tar.gz /data55 17 * * * umount /dev/hdc如果需要删除某个用户的cron服务,使用crontab r 即可,比如删除root的cron服务,方法如下所示,可以看到/var/spool/cron root文件已经被删除。rootredhat5 # crontab -u root -rrootredhat5 # ls /var/spool/cronrootredhat5 # (5)ps命令ps命令是英文单词process state的所写,是功能强大的进程查看命令。可以看到瞬间正在运行的进程的详细信息。ps命令与可选项配合,可以实现很多功能,ps的参数非常多, 在此仅列出几个常用的参数并大略介绍一下其含义:l -a 列出所有的进程l -w 显示加宽可以显示较多的信息l -aux 显示所有包含其他使用者的进程信息,x表示显示没有控制终端的进程。aux 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 其中部分含义如下:USER: 进程的拥有者PID: 进程ID %CPU: 进程占用的CPU百分比 %MEM: 占用的内存百分比VSZ: 占用的虚拟内存大小RSS: 占用的常驻内存大小TTY: 终端的编号STAT: 该进程的状态: START: 进程开始时间 TIME: 执行的时间 COMMAND:该进程对应的命令。 关于该命令现举例如下。rootredhat5 # ps PID TTY TIME CMD4947 pts/2 00:00:00 login.krb54998 pts/2 00:00:00 bash5047 pts/2 00:00:00 psrootlocalhost a# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 2044 660 ? Ss 14:50 0:00 init 5root 2 0.0 0.0 0 0 ? S 14:50 0:00 migration/0root 3 0.0 0.0 0 0 ? SN 14:50 0:00 ksoftirqd/0root 4 0.0 0.0 0 0 ? S 14:50 0:00 watchdog/0root 5 0.0 0.0 0 0 ? S 14:50 0:00 migration/1(6)top命令top命令与ps命令的作用基本相同,显示系统与当前进程的状态信息,但是top是一个动态显示的过程。其实top提供了对系统处理器使用情况的实时监视。命令的输出如图5所示。图5 top运行界面(7)kill命令kill命令用来终止一个进程,该命令通过向进程发送特定的信号来结束进程。如果没有指定信息,默认为TREM信号。其中编号为9的KILL信号,几乎可以杀死所有的进程。kill的命令的格式如下:kill -s 信号 -a 进程号kill l 信号例如:杀死进程号为1234的进程rootredhat5 # kill 9 1234显示信号列表:执行kill l 命令,结果如图6所示。图6 信号标号对应关系(8)w命令该命令主要用于查看系统中当前用户情况,其可以比较准确地显示用户的当前信息。显示的信息包含了使用者ID、终端机、上线时间、呆滞时间、CPU使用量、动作等等。此外who命令也具有类似功能。rootredhat5 # w17:34:02 up 2days, 7:32, 2 user, load averaage: 0.00, 0.01, 0.01USER TTY FROM LOFIN IDLE JCPU PCPU WHATroot :0 - Mon 8pm ? 0.00s 0.21s /usr/bin/bashb pts/1 Sun 9am 31.00s 1.85s 0.03s /sr/sbin/sshd2.3 备份与压缩命令1tar命令tar为tape archive的英文缩写,是Linux下最常用的文件打包工具,可以将若干文件或目录打包成一个文件,既有利于文件管理,也方便压缩和文件的网络传输。tar的命令格式如下:tar 主选项+辅选项 文件或目录列表使用tar命令时主选项一次只能使用一个,辅选项可以根据需要选择。tar的主选项与辅选项分别如表3和表4所示。表3 tar的主选项含义表主选项含义描述-c创建新的档案文件。如果用户想备份一个目录或一些文件,就使用这个选项-r把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中-t列出档案文件的内容,查看已经备份了哪些文件-u更新文件,就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后-x从档案文件中释放文件表4 tar的部分辅选项含义表辅选项含义描述-b该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)-f使用档案文件或设备,这个选项通常是必选的-k保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖-m在还原文件时,把所有文件的修改时间设定为现在-M创建多卷的档案文件,以便在多个磁盘中存放-v详细报告tar处理的文件信息。如无此选项,tar不报告文件信息-z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩该命令的用法举例:(1)将当前目录下tmp1目录与/home/zhang目录下的所有文件,已及当前目录下的文件abc一起归档到mydata.tar。命令如下:rootredhat5 # tar cf mydata.tar tmp1 /home/zhang abc其中主选项c表示创建新备份,f表示将将备份保存到文件mydata.tar中,后面的tmp1 /home/zhang abc 为需要备份的文件与目录列表。(2)将当前目录下tmp1目录与/home/zhang目录下的所有文件,以及当前目录下的abc文件归档并压缩到mydata.tar.gz。并显示执行过程,命令如下:rootredhat5 # tar cvzf mydata.tar.gz tmp1 /home/zhang abc2.压缩命令gzipgzip是Linux 系统中一个最常用的文件压缩与解压命令,gzip的语法为:gzip 选项 压缩或解压的文件名gzip各选项的含义如表5 所示。表5 gzip部分选项含义表辅选项含义描述-c将输出写到标准输出上,并保留原有文件-d将压缩文件解压-l对每个压缩文件,显示压缩文件的大小、未压缩文件的大小、 压缩比与未压缩文件的名字-r递归式地查找指定目录并压缩其中的所有文件或者解压缩-v对每一个压缩和解压的文件,显示文件名和压缩比-t测试,检查压缩文件是否完整-num用指定的数字num调整压缩的速度,-1或-fast表示最快压缩方法(低压缩比),-9或-best表示最慢压缩方法(高压缩比)。系统缺省值为6。例如一个目录/home下有文件mm.txt、sort.txt、xx.c。(1)把/home目录下的每个文件压缩成.gz文件。方法如下:rootredhat5 # cd /homerootredhat5 home# gzip *rootredhat5 home# ls m.txt.gz sort.txt.gz xx.c.gz(2)把上例中每个压缩的文件解压并列出详细的信息,则对应的解压命令为:rootredhat5 home# gzip -dv *mm.txt.gz 43.1%-replaced with mm.txtsort.txt.gz 43.1%-replaced with sort.txtxx.c.gz 43.1%-replaced with xx.crootredhat5 home# lsmm.txt sort.txt xx.c(3)详细显示(1)中每个压缩的文件的信息,并不解压。rootredhat5 home# gzip -l *compressed uncompr. ratio uncompressed_name277 445 43.1% mm.txt278 445 43.1% sort.txt277 445 43.1% rootredhat5 # lsmm.txt.gz sort.txt.gz xx.c.gz(4)压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为“.tar.gz”rootredhat5 # gzip usr.tarrootredhat5 # lsusr.tar.gzgzip默认将原文件压缩为 *.gz 文件,并删除原文件。与gzip相对的解压程序是gunzip,相当于gzip d 。 tar中使用-z这个参数来调用gzip。下面来举例说明一下:# tar -czf all.tar.gz *.jpg这条命令是将当前目录下所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz# tar -xzf all.tar.gz这条命令是将上面产生的包解开。2.4 其他命令1.su命令su的作用是将当前用户变更为其它用户帐号,一般需要键入该用户的密码,而超级用户变更到其他用户不需要密码。其命令格式如下:su OPTION. - USER ARGS.USER:表示欲使用的用户账号,ARGS为传入新的Shell的参数。OPTION主要有:(1)-l , -login:加了这个参数之后,就似乎是重新登录为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该用户为主,并且工作目录也会改变。假如没有指定用户,缺省情况是root。即-l选项使该用户的shell设置为当前shell。(2)-m,-p ,-preserve-environment:执行su时不改变环境参数。(3)-c command:变更用户账号为USER,并执行指令(command)后再变回原来使用者。例如:变更账号为超级用户,并在执行df命令后还原为原帐号。命令如下: su -c df root (4)切换用户后,如果用户希望回到原来的用户,可以使用exit命令。(5)su 命令;以下面的例子来说明su 与su的不同之处。当前用户为chxd,当前目录为/home/chxd,使用su root命令之后,切换到root用户,但当前目录仍为/home/chxd;而使用su - root,则当前目录变为/root。2.磁盘分区工具fdiskLinux给各种IDE设备都分配了一个由hd前缀组成的文件;而对于各种SCSI 设备,则分配了一个由sd前缀组成的文件。对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。fdisk为Linux的一个功能比较强大的磁盘分区工具,用它可以划分磁盘分区。fdisk的常用个格式为:fdisk 选项 常用的选项有:l 列出制定磁盘的分区表 v 详细显示指令的执行过程。显示磁盘分区表:rootredhat5 # fdisk -l /dev/sdaDisk /dev/sda: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 1044 8281507+ 8e Linux LVM磁盘分区模式:在shell提示符下,以root身份执行fdisk /dev/sda 命令进入磁盘分区模式,这时可用的部分命令含义如表6所示。表6 fdisk 部分命令含义命令含义描述A绑定一个分区为启动分区D删除一个分区L打印linux支持的分区类型M打印fdisk帮助信息N增加一个分区P打印该磁盘的分区信息Q不保存,退出T改变分区的类型号码W保存结果并退出例如使用fdisk /dev/sda 出现的第一个界面如下:rootredhat5 # fdisk /dev/sdaThe number of cylinders for this disk is set to 1044.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)Command (m for help):(2)用户通过提示键入 “m”,可以显示 fdisk 程序中各个命令的说明,如果对表6不能记着的话,这是一个很好的帮助,显示如下:Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known par
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园生活老师职责培训大纲
- 2026届北京市人民大附属中学化学九上期末学业水平测试试题含解析
- 浙江省杭州市萧山区厢片五校2026届九年级化学第一学期期中质量检测模拟试题含解析
- 2025电工技师考试题库及参考答案
- 2025年风力发电运维值班员(技师)职业技能鉴定考试题库(含答案)
- 2026届陕西省安康紫阳县联考化学九年级第一学期期中学业质量监测模拟试题含解析
- 2026届天津市和平区二十中学化学九年级第一学期期中检测试题含解析
- 花卉的秘密课件-2024-2025学年湘美版(2024)初中美术七年级下册
- 2026届海南省临高县美台中学化学九上期中调研试题含解析
- 2026届广东省揭阳揭西县联考九上化学期中考试试题含解析
- 静脉输液风险评估
- 水力发电厂生产安全性评价
- 教科版科学二年级上册 全册整套课件
- 小学道德与法治学科教师专业素质考试试题及答案
- 全国质量奖现场汇报材料(生产过程及结果)课件
- 政策评价-卫生政策分析课件
- 短歌行(优质课一等奖).课件
- 北师大版小学数学五年级上册第一单元《练习一》同步练习带答案
- 球墨铸铁管规格尺寸理论重量表
- 饮食习惯与健康
- 华为人力资源管理纲要2.0
评论
0/150
提交评论