tar命令和排除目录或文件

一般直接用tar命令打包很简单,直接使用 tar -zcvf test.tar.gz test 即可。

在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1、2个目录或文件。

这时候我们在用tar命令打包的时候,增加参数 --exclude 就能达到目的。


例如:

我们以tomcat 为例,打包的时候我们要排除 tomcat/logs 目录,命令如下:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat

如果要排除多个目录,增加 --exclude 即可,如下命令排除logs和libs两个目录及文件xiaoshan.txt:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat


这里要说一下注意事项:

大家都知道Linux在使用tab键的时候会对目录名称自动补全,这很方便,大家也比较常用。

如我们输入 tomcat/lo 的时候按tab键,命令行会自动生成 tomcat/logs/ ,对于目录,最后会多一个 “/”

这里大家要注意的时候,在我们使用tar 的--exclude 命令排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去。

错误写法:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs/ --exclude=tomcat/libs/ tomcat

正确写法:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs tomcat



tar 命令
  用途
  处理归档。
  语法
  tar { -c | -r | -t | -u | -x } [ -b Blocks ] [ -B ] [ -d ] [ -F ] [ -h ] [ -i ] [ -L InputList ] [ -l ] [ -m ] [ -N Blocks ][ -o ] [ -p ] [ -s ] [ -v ] [ -w ] [ -Number ] [ -f Archive ] [ -S Blocksb | -S Feet | -S Feet @density ] [ File | Directory | -C Directory ] ...
  描述
  注意:由于在 tar 命令中对头块空间的限制,当恢复到某些系统时,大于 65,535 的用户号(UID)和组标识号(GID)将毁坏。大小约束只影响所有权和许可权而不对数据造成损害。所有权的毁坏发生在下列系统中:
  * 不使用 uname 和 gname 字段来检查所有权的系统。
  * 与归档系统没有相同的用户和组标识的系统。
  注:
  1. ustar 头格式允许文件大到 8 GB。因此,tar 命令支持归档最大 8 GB 的文件。
  2. tar 不保留任何稀疏分配的文件的稀疏属性。任何在恢复前原是稀疏的文件,将按文件大小在文件系统内分配其所有空间。
  tar 命令通过将文件写入归档存储介质或将文件从介质中取回,来处理归档。由 tar 命令使用的文件通过 File 参数来表示。如果 File 参数引用一个目录,则引用该目录并递归引用该目录下全部的文件和目录。
  tar 命令在缺省设备(通常是磁带)上寻找归档,除非使用 -f Archive 标志指定另一个设备。当为美国磁带归档程序(USTAR)格式指定大于 100 个字符的路径名称时,请记住路径名称是由一个前缀缓冲区、一个 /(斜杠)和一个名称缓冲区组成的。
  前缀缓冲区最大可以有 155 字节,而名称缓冲区最大可以容纳 100 字节。如果路径名称不能用斜杠分割为这两部分,则它不能被归档。这个限制是考虑到 tar 归档头的结构,而且必须为了符合标准和向下兼容而维护该限制。另外,硬链接或符号链接(“链接名称”)的目标长度不能超出 100 字节。
  当写到归档时,tar 命令使用一个临时文件(/tmp/tar* 文件),并在内存中维护一个包含多链接文件的表。如果 tar 命令不能创建临时文件,或者没有足够的可用内存来放置链接表,您会接收到错误消息。
  tar 命令有两组标志:必需标志和可选标志。必需标志控制 tar 命令的操作,包括 -c、-r、-t、-u 和 -x 标志。要执行 tar 命令至少要选择一个必需标志。选择了必需标志后,您可以选择一个可选标志,但它们对控制 tar 命令都不是必要的。
  注:
  1. 当存储设备是一个普通文件或一个块特殊文件时,-u 和 -r 标志可退格。然而,原始磁带设备不支持退格。因此当存储设备是原始磁带时,-u 和 -r 标志进行倒带、打开磁带并再次读取磁带。
  2. 在块磁带上记录的长度是一块,但它们通常比在原始磁带上的密度的一半还少。因此,尽管按块记录原始磁带必须被读取两遍,但磁带运动总量比从块式磁带读取一遍单块记录还少。
  3. 流式磁带设备的结构不支持在磁带最后增加信息。因此,当存储设备是流式磁带时,-u 和 -r 标志不是有效的选项。试图使用这些标志将导致下列错误消息:
  tar: 更新和替换选项对流式磁带机无效。
  4. 磁带错误无法恢复。
  5. 可以通过更改缺省块大小改善 tar 命令在 IBM 9348 磁带机 12 型上的性能。要更改块大小,请在命令行输入下列命令:
  chdev -1 <device_name> -a block_size=32k
  要了解更多关于使用磁带设备的信息,请参阅 rmt 特殊文件。
  标志
  tar 命令的标志有两组,必需的和可选的。必须提供至少一个必需标志来控制 tar 命令。
  必需标志
  -c 创建新的归档,并将由一个或多个 File 参数所指定的文件写入归档的开头。
  -r 将由一个或多个 File 参数所指定的文件写入归档的最后。这个标志不是对任何磁带设备都有效,因为有些设备不支持在磁带的最后添加信息。
  -t 按照文件在归档中的顺序列出文件。文件可能会多次列出。
  -u 只有当文件不在归档中,或写入归档后被修改过,才将这些文件(由一个或多个 File 参数所指定)写入归档的最后。-u 标志不是对任何磁带设备都有效,因为有些磁带设备不支持在磁带的最后添加信息。
  -x 从归档中抽取一个或多个 File 参数指定的文件。如果 File 参数是指一个目录, tar 命令递归地从归档中抽取那个目录。如果您未指定 File 参数,tar 命令从归档中抽取所有的文件。如果归档中包含同一文件的多个副本,最后抽取的副本覆盖所有以前抽取的副本。如果被抽取的文件在系统中不存在,则创建该文件。如果您有适当的许可权,tar 命令用与磁带上的相同所有者和组标识恢复所有文件和目录。如果您没有适当的许可权,将以您的所有者标识和组标识恢复文件和目录。只能请求文件最后出现的版本。
  可选标志
  -B 输入分块和输出分块强制为每个记录 20 块。使用这个选项,tar 命令可在那些可能未维护分块的通信信道间执行。
  -b Blocks 指定每个记录的 512 字节块数量。缺省值和最大值都是 20,这是对磁带记录适当的数目。由于记录间隙大小的原因,用大的分块因子写的磁带可以比每个记录只有一块的磁带保存更多的数据。
  当读取磁带时,块大小自动确定(-x 或 -t 功能标志)。归档被 -u 和 -r 功能更新时,使用现有的记录大小。只有当使用 -c 标志创建新的归档时,tar 命令才使用 Blocks 参数指定的值写入归档。
  当用 -f 标志输出到普通文件时,您可以使用与磁盘块大小相匹配的分块因子来节省磁盘空间(例如,对于 2048 字节的磁盘块,使用 -b4 标志)。
  -C Directory 使 tar 命令向由 Directory 变量指定的目录执行 chdir 子例程。使用 -C 标志允许归档不用相近公共父目录来关联的多个目录,使用简短的相对路径名称。例如,要从 /usr/include 和 /etc 目录中归档文件,可以使用下列命令:
  tar c -C /usr/include File1 File2 -C /etc File3 File4
  -C Directory 标志必须在所有其它标志后出现,也可以在给定的文件名列表中出现。
  -d 为块文件、特殊字符文件以及先进先出(FIFO)管道进程创建单独条目。通常,tar 命令不会归档这些特殊文件。当使用 -d 标志写入归档时,tar 命令使归档可以用 -x 标志恢复空目录、特殊文件以及先进先出(FIFO)管道进程。
  注:
  虽然任何人可以归档特殊文件,但只有拥有 root 用户权限的用户可以从归档中抽取特殊文件。
  -F 在归档前检查文件类型。源代码控制系统(SCCS),修订控制系统(RCS),名为 core、errs 和 a.out 的文件,以及以 .o(点 o)结束的文件不归档。
  -f Archive 使用 Archive 变量表示要读或写的归档。当未指定这个标志,tar 命令使用一个针对特定系统的缺省文件名(格式为 /dev/rmt0)。如果指定的 Archive 变量是 -(减号),tar 命令写入标准输出或从标准输入中读取。如果写入标准输出,您必须使用 -c 标志。
  -h 强制 tar 命令监视符号链接,就好像它们是常规文件或目录。通常,tar 命令不监视符号链接。
  -i 忽略头校验和的错误。tar 命令在归档中写入一个文件头,它包含每个文件的校验和。如果未指定这个标志,系统通过重新计算校验和来验证头块的内容,并在发生不匹配时,停止并报目录校验和错误。如果指定这个标志,tar 命令将记录错误,然后向前扫描直到查找到一个有效的头块。这就允许从多卷归档的后面的卷中恢复文件,而不需读取前面的卷。
  -L InputList :-L 选项的 Inputlist 参数应该总是一个文件名称,该名称列出需要归档的文件和目录。
  同样地,InputList 参数可以是一个保存某文件名称的变量,该文件列出要归档的文件和目录。
  这个选项帮助将列在 InputList 参数中的文件和目录写入归档。 InputList 参数中的目录不被递归。对于包含于 InputList 参数中的目录,tar 命令只将目录写入归档,而不将目录中的文件和子目录写入归档。
  如果额外的文件和目录在命令行中跟在 InputList 参数后,InputList 参数的内容归档在这些文件和目录之后。这些额外的文件或目录按它们的缺省行为归档,即将它们递归地归档。
  -l 对于每个带有链接数大于 1 的文件,而其相应的链接却未归档,写错误消息到标准输出。例如,如果 file1 和 file2 是用硬链接链接在一起,而只有 file1 存放在归档中,则 -l 标志将发出错误消息。如果未指定 -l 标志,将不显示错误消息。
  -m 使用抽取时间作为修改时间。缺省是保留文件的修改时间。
  -N Blocks 当 tar 命令处理流式磁带归档时,允许它使用很大的块的簇。然而请注意,在输入时,如果用这个标志创建了非常长的块大小, tar 命令将不能自动确定磁带的块大小。没有 -N Blocks 标志时,tar 命令可以自动确定的最大块大小为 20 块。
  -o 提供与旧版本(非 AIX)tar 命令的向下兼容。当使用这个标志进行读取时,被抽取的文件使用运行程序的用户的用户标识和组标识(UID 和 GID),而不是归档中的用户标识和组标识。这是对于普通用户的缺省行为。
  -p 恢复字段到它们的原始方式,忽略现有的用户权限屏蔽位(umask)。 setuid、setgid 和 tacky 位许可权也恢复给拥有 root 用户权限的用户。这个标志恢复文件到其原始方式,但不恢复目录到其原始方式。
  -s 如果 tar 命令未能使用 -s 标志成功尝试链接(常规链接)两个文件,请试着创建符号链接。
  -SBlocksb, -S Feet, -S Feet @density 指定每卷中的 512KB 块的数目(第一种格式),不依赖于磁带分块因子。您也可以使用第二种格式,用英尺来指定磁带大小,在这种情况下,tar 命令假定一个缺省的 Density 变量。第三种格式允许您指定磁带长度和密度。英尺被保守地假定为 11 英寸长。这个标志让您更容易处理多卷磁带归档,这时 tar 命令必须能够确定每卷能放入多少块。
  注:
  1. 磁带机在密度能力上有差异。Density 变量计算系统在磁带上可放入的数据量。
  2. 如果使用 1/4 英寸磁带设备,在指定 Feet 变量的值时,一定要考虑磁带设备上的磁道数目。例如,可以使用 -S Feet @density 标志来指定一个有 600 英尺磁带和 8000 字节/英寸密度的 4 磁道、1/4 英寸磁带机,如下:
  -S 2400 @8000
  这里,600 英尺乘以 4 磁道等于 2400 英尺。
  -v 在处理每个文件时,列出它们的名称。使用 -t 标志,-v 给出磁带条目的更多信息,包括文件大小、上次修改的时间、用户标识(UID)、组标识(GID)和许可权。
  -w 显示要进行的操作,跟着是文件名,然后等候用户确认。如果回答是肯定的,则执行操作。如果回答不是肯定的,则忽略文件。
  -Number 使用 /dev/rmtNumber 文件,而不是缺省值。例如,-2 标志和 -f/dev/rmt2 文件是相同的。
  退出状态
  该命令返回下列退出值:
  0 成功完成。
  >0 有错误发生。
  示例
  1. 要将 file1 和 file2 文件写到缺省磁带机上新的归档中,请输入:
  tar -c file1 file2
  2. 要从 /dev/rmt2 磁带设备上的归档文件中抽取 /tmp 目录里的全部文件,并以抽取时间作为修改时间,请输入:
  tar -xm -f/dev/rmt2 /tmp
  3. 要新建一个包含 file1 文件的归档文件,并传递归档文件到 dd 命令,使之被写到 /dev/rmt1 设备,请输入:
  tar -cvf - file1 | dd of=/dev/rmt1 conv=sync
  4. 要显示当前目录上 out.tar 磁盘归档文件中各文件的名称,请输入:
  tar -vtf out.tar
  5. 要扩展压缩了的 tar 归档文件,fil.tar.z, 传递文件到 tar 命令,并从扩展了的 tar 归档文件中抽取全部文件,请输入:
  zcat fil.tar.Z | tar -xvf -
  6. 要使用简短相对路径名称归档 /usr/include 和 /usr/bin 文件的内容,请输入:
  cd /usr
  tar -cvf/dev/rmt0 -C./include . -C ../bin .
  注:
  当用相对路径名称指定 -C 标志的多个实例,用户必须考虑到先前的 -C 标志请求。
  7. 要在使用 -S 标志时归档到一个 8 毫米设备,请输入:
  tar -cvf /dev/rmt0 -S 4800000b /usr
  注:
  当归档到 8 毫米设备, 不推荐用 -S Feet 和 -S Feet @density 标志,因为 8 毫米设备在写入磁带时不使用密度概念。
  8. 要归档所有 C 文件的一个列表(这些文件通过 -L 选项的 InputList 参数被列在文件中),请输入:
  tar -cvf fl.tar -L fl_list
  这里,fl_list 是一个文件,它包含一个所有 .c 文件的列表。这可以通过以下命令获得:
  ls *.c > fl_list
  9. 要使用 -L 选项设置变量来归档所有 C 文件的一个列表,请输入:
  ls *.c > fl_list
  fl=fl_list
  tar -cvf var.tar -L $fl
  文件
  /dev/rmt0 指定缺省磁带设备。
  /bin/tar 指定 tar 命令的符号链接。
  /usr/bin/tar 包含 tar 命令。
  /tmp/tar* 指定临时文件。
  =====================
  tar 是linux下的一种打包程序,也可以说是一种压缩格式。
  linux下的压缩格式有.gz、.tar.gz、tgz、bz2、.Z、.tar等,tar是其中的一种。
  在说linux的压缩文件之前呢,首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另它的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。
  Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:
  tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:
  # tar -cf all.tar *.jpg
  这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
  # tar -rf all.tar *.gif
  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
  # tar -uf all.tar logo.gif
  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
  # tar -tf all.tar
  这条命令是列出all.tar包中所有文件,-t是列出文件的意思
  # tar -xf all.tar
  这条命令是解出all.tar包中所有文件,-x是解开的意思
  以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。
  1) tar调用gzip
  gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:
  # tar -czf all.tar.gz *.jpg
  这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz
  # tar -xzf all.tar.gz
  这条命令是将上面产生的包解开。
  2) tar调用bzip2
  bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下:
  # tar -cjf all.tar.bz2 *.jpg
  这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
  # tar -xjf all.tar.bz2
  这条命令是将上面产生的包解开。
  3)tar调用compress
  compress也是一个压缩程序,但是好象使用compress的人不如gzip和 bzip2的人多。.Z结尾的文件就是bzip2压缩的结果。与compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:
  # tar -cZf all.tar.Z *.jpg
  这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z
  # tar -xZf all.tar.Z
  这条命令是将上面产生的包解开
  有了上面的知识,你应该可以解开多种压缩文件了,下面对于tar系列的压缩文件作一个小结:
  1)对于.tar结尾的文件
  tar -xf all.tar
  2)对于.gz结尾的文件
  gzip -d all.gz
  gunzip all.gz
  3)对于.tgz或.tar.gz结尾的文件
  tar -xzf all.tar.gz
  tar -xzf all.tgz
  4)对于.bz2结尾的文件
  bzip2 -d all.bz2
  bunzip2 all.bz2
  5)对于tar.bz2结尾的文件
  tar -xjf all.tar.bz2
  6)对于.Z结尾的文件
  uncompress all.Z
  7)对于.tar.Z结尾的文件
  tar -xZf all.tar.z
  另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:
  1)对于.zip
  linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
  # zip all.zip *.jpg
  这条命令是将所有.jpg的文件压缩成一个zip包
  # unzip all.zip
  这条命令是将all.zip中的所有文件解压出来
  2)对于.rar
  要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux
  不是免费的;然后安装:
  # tar -xzpvf rarlinux-3.2.0.tar.gz
  # cd rar
  # make
  这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
  # rar a all *.jpg
  这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。
  # unrar e all.rar
  这条命令是将all.rar中的所有文件解压出来
  到此为至,我们已经介绍过linux下的tar、gzip、gunzip、bzip2、 bunzip2、compress、uncompress、 zip、unzip、rar、unrar等程式,你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar这10种压缩文件进行解压了,以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦恼了。而且以上方法对于Unix也基本有效。
  总结一下,在linux下 一些压缩和解压的常用命令:
  压缩
  tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
  tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
  tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
  tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
  rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
  zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
  解压
  tar –xvf file.tar //解压 tar包
  tar -xzvf file.tar.gz //解压tar.gz
  tar -xjvf file.tar.bz2 //解压 tar.bz2
  tar –xZvf file.tar.Z //解压tar.Z
  unrar e file.rar //解压rar
  unzip file.zip //解压zip

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这本书是James Kirkland做系统维护工作的结晶.本文档是英文版,很值得仔细研读。 本书详细介绍了Linux系统故障的诊断与排除技巧,是作者长期实践经验的结晶。全书共分15章:第1章介绍系统引导、启动和关闭问题,这是所有Linux用户都会碰到的基本问题;第2章介绍系统运行中可能出现的错误;第3章、第4章介绍性能与性能相关的工具;第5章至第7章介绍主要存储硬件及其故障诊断;第8章介绍Linux进程及其故障诊断;第9章讲解了系统备份与恢复中如何诊断常见问题的知识;第10章至第15章介绍了Linux系统其他方面的故障诊断与排除技巧,包括打印问题、安全问题、网络问题、登录问题等。   本书适用于Linux系统管理员及高级用户,对Linux系统感兴趣的用户也可将此书作为参考书。 第1章 系统引导、启动和关闭问题 1 1.1 引导加载程序 2 1.1.1 GRUB 2 1.1.2 LILO 10 1.1.3 当GRUB或者LILO不工作时进行引导 13 1.2 init进程和/etc/inittab文件 14 1.2.1 以多用户模式启动 17 1.2.2 init错误 19 1.3 rc脚本 20 1.3.1 确认模式 24 1.3.2 rc脚本中的启动问题 25 1.4 解决root文件系统的问题 27 1.4.1 从第二个硬盘引导 28 1.4.2 从援救CD引导 28 1.4.3 使用Knoppix CD重置丢失的root密码 30 1.4.4 使用Knoppix CD重新安装GRUB 30 1.4.5 从援救软盘引导 32 1.5 小结 32 1.6 附注 32 第2章 系统挂起和严重错误 33 2.1 操作系统挂起 34 2.1.1 诊断可中断挂起故障 34 2.1.2 诊断不可中断挂起故障 42 2.2 操作系统严重错误 44 2.2.1 诊断操作系统严重错误 44 2.2.2 诊断oops导致的严重错误 47 2.3 硬件机器检查 49 2.4 小结 50 第3章 性能工具 52 3.1 top 53 3.1.1 添加和移除字段 53 3.1.2 解释输出 55 3.1.3 保存自定义 56 3.1.4 批处理模式 57 3.2 sar 58 3.2.1 sar数据收集器 58 3.2.2 CPU统计数据 59 3.2.3 磁盘I/O统计数据 62 3.2.4 网络统计数据 63 3.3 vmstat 65 3.4 iostat 67 3.5 free 69 3.6 小结 69 3.7 尾注 69 第4章 性能 70 4.1 在可能的最低层开始故障诊断 70 4.1.1 使用raw命令将原始设备绑定到块设备 71 4.1.2 原始设备性能 72 4.1.3 使用dd命令确定连续I/O速度 73 4.1.4 使用sar和iostat测量磁盘性能 74 4.1.5 理解测试性能时I/O块大小的重要性 75 4.1.6 时间的重要性 76 4.1.7 确定块大小 77 4.1.8 队列的重要性 78 4.1.9 磁盘的多线程(进程)I/O 79 4.1.10 使用条带化lvol减少磁盘I/O紧张 80 4.1.11 条带化lvol与单磁盘性能的比较 82 4.1.12 多路径I/O 83 4.2 文件系统 86 4.2.1 将日志记录到单独磁盘 86 4.2.2 确定文件系统请求的I/O大小 88 4.2.3 用小块I/O传输加载文件系统 88 4.2.4 利用文件系统的关键优势 91 4.2.5 Linux和Windows性能以及调整扇区对齐 92 4.2.6 使用bonnie++进行调整性能和基准测试 93 4.2.7 评估应用程序的CPU利用率问题 95 4.2.8 使用Oracle statspak 98 4.2.9 分配共享内存时“设备上无剩余空间”错误的故障诊断 101 4.2.10 其他性能工具 102 4.3 小结 103 第5章 针对PCMCIA和USB通过SAN添加新存储 104 5.1 配置 105 5.2 内核模块 106 5.3 通过PCI添加LUN 112 5.4 通过PCMCIA/USB添加存储 119 5.5 小结 122 第6章 磁盘分区与文件系统 123 6.1 背景 123 6.1.1 IDE和SCSI 124 6.1.2 位计算 124 6.2 分区表/主引导记录:定位 126 6.3 分区表/主引导记录:CHS寻址 127 6.3.1 定义主分区 128 6.3.2 确定能否创建附加分区 130 6.4 分区表/主引导记录:逻辑分区/扩展分区 132 6.5 分区表/主引导记录:逻辑块寻址(LBA) 135 6.6 分区表/主引导记录:引导加载器 137 6.6.1 在使用过的驱动器上审查字节 139 6.6.2 BIOS初始化引导加载器 141 6.7 分区表/主引导记录:备份 141 6.7.1 分区恢复过程 142 6.7.2 演示故障 143 6.7.3 挂载分区 144 6.7.4 在ext文件系统中恢复超级块和信息结点表 146 6.8 更多案例 150 6.9 小结 153 第7章 设备故障与置换 154 7.1 支持的设备 154 7.2 到哪里寻找错误 156 7.3 确定故障设备 158 7.4 故障设备的置换 165 7.5 小结 170 第8章 Linux进程:结构、挂起与核心转储 171 8.1 进程结构和生命周期 171 8.1.1 进程/任务概述 171 8.1.2 进程关系 172 8.1.3 Linux进程创建 172 8.1.4 Linux进程创建的示例 173 8.1.5 进程创建小结 174 8.1.6 Linux进程终止 174 8.2 Linux线程 174 8.3 确定进程挂起 180 8.4 进程核心 186 8.4.1 信号 187 8.4.2 限制 189 8.4.3 核心文件 191 8.5 小结 192 第9章 备份与恢复 194 9.1 备份介质 194 9.1.1 磁带 195 9.1.2 光盘存储 202 9.1.3 硬盘存储 202 9.2 备份范围 203 9.3 基本备份和恢复命令 204 9.3.1 tar 204 9.3.2 cpio 206 9.3.3 dump和恢复 208 9.3.4 dd 209 9.3.5 mkisofs 209 9.3.6 rsync命令 209 9.4 裸机恢复 210 9.5 确定磁带的内容 210 9.6 怎样辨别磁带的问题出自硬件还是软件 211 9.7 小结 213 第10章 cron与at 214 10.1 cron 215 10.1.1 cron守护程序 220 10.1.2 kcron 222 10.2 anacron 224 10.3 at 225 10.4 诊断cron 227 10.5 小结 233 第11章 打印与打印机 234 11.1 什么是假脱机程序 234 11.1.1 使用假脱机程序命令 235 11.1.2 假脱机程序“管道工程” 237 11.1.3 术语定义 240 11.2 打印机类型 242 11.3 连接类型 243 11.3.1 本地串行打印 244 11.3.2 本地USB打印 246 11.3.3 本地并行打印 249 11.3.4 远程打印 249 11.3.5 原始网络套接字打印 253 11.4 页面描述语言 255 11.5 通用打印诊断 256 11.5.1 映射假脱机环境 256 11.5.2 断点 257 11.6 小结 257 第12章 系统安全 258 12.1 什么是系统安全 258 12.1.1 主机安全与网络安全的比较 258 12.1.2 什么是安全漏洞 259 12.1.3 主机安全漏洞分类 259 12.1.4 安全漏洞和暴露类型 261 12.1.5 增强主机安全的一般步骤 262 12.2 预防 262 12.2.1 SSH加密 262 12.2.2 诊断典型SSH问题 266 12.2.3 连接和登录失败 266 12.2.4 使用netfilter/iptables强化系统 271 12.2.5 什么是NAT 273 12.2.6 MANGLE表 273 12.2.7 使用iptables进行配置 273 12.2.8 iptables命令示例 277 12.2.9 保存配置 277 12.2.10 终止、验证状态和启动iptables 278 12.2.11 问题诊断示例 279 12.2.12 打补丁 283 12.2.13 遭受入侵后的恢复 284 12.3 小结 284 第13章 网络问题 285 13.1 OSI和TCP/IP层简介 285 13.2 诊断网络层问题 286 13.2.1 TCP/IP物理网络访问层的诊断 286 13.2.2 诊断网络层问题(OSI第三层、TCP/IP第二层) 297 13.2.3 诊断传输层(TCP和UDP)问题 314 13.2.4 诊断应用程序级的问题:TCP/IP模型的最后一层 329 13.3 小结 329 第14章 登录问题 330 14.1 /etc/password,/etc/shadow和密码时效 331 14.1.1 /etc/password和/etc/shadow 331 14.1.2 chage、passwd和usermod 332 14.1.3 /etc/passwd和/etc/shadow损坏 337 14.1.4 pwck 337 14.2 Linux配置造成的登录失败 338 14.2.1 /etc/securetty 338 14.2.2 /etc/nologin 339 14.3 PAM 339 14.3.1 功能 340 14.3.2 优先级 340 14.3.3 模块名 341 14.3.4 参数 341 14.3.5 /etc/pam.d 341 14.3.6 /etc/pam.conf 342 14.3.7 /lib/security 342 14.3.8 Linux-PAM资源 343 14.3.9 诊断PAM故障 343 14.3.10 验证模块 345 14.3.11 PAM中的漏洞 346 14.4 shell问题 347 14.5 密码问题 348 14.6 小结 350 14.7 尾注 350 第15章 X Windows问题 351 15.1 X背景 351 15.2 X组件 352 15.2.1 X Server组件 352 15.2.2 X客户端组件 360 15.3 X显示管理器 361 15.4 X桌面管理器(环境) 362 15.5 X故障诊断案例 363 15.6 小结 365 15.7 尾注 366
CMDebug 是 Take Command IDE 和批处理调试器组件的独立版本。 CMDebug 适用于开发人员创建批处理文件以在 CMD(Windows 默认命令处理器)或 TCC-RT(TCC 的免费运行时版本)中运行。 CMDebug 允许您使用集成的图形化IDE编写和调试批处理脚本。 CMDebug 包括选项卡式编辑窗口以及具有单个步骤,断点,语法着色,工具提示,书签以及选项卡式变量和监视窗口的复杂调试器。 Windows 批处理文件编程从未如此简单或更强大! 您可以使用 CMDebug 开发与 CMD 兼容的批处理文件(.BAT 或 .CMD)或与 TCC-RT 兼容的脚本(.BTM)。如果选择“ TCC 语法”选项,则 CMDebug 支持完整的 TCC-RT 命令集。如果选择“ CMD 语法”选项,则 CMDebug 将禁用仅TCC的内部命令,变量和函数。一些内部 CMD/TCC 命令的行为也将稍有不同,或修改其显示输出以更紧密地匹配 CMD 的行为。 通过将 CMDebug 与 TCC-RT 结合使用,可以使用 TCC 命令语言创建(和加密)脚本,然后使用免费的 TCC-RT 运行时将它们分发到无限数量的目标计算机上。 CMD 编程调试命令增强版 JP Software CMDebug 25 中文版CMD 编程调试命令增强版 JP Software CMDebug 25 中文版 CMDebug 汉化版功能 使用集成的图形化 IDE 创建和调试批处理脚本。 IDE 包括选项卡式编辑窗口和具有单个步进,断点,语法着色,工具提示,书签,选项卡式变量和监视窗口的复杂调试器。 Windows 批处理文件编程从未如此简单或更强大! TCC-RT 脚本语言是 Windows CMD shell 的巨大超集,具有 245 多个内部命令,400 多个内部函数和 300 多个系统变量。几乎所有的CMD命令命令(例如 DIR,COPY,DEL,START 等)都通过数百个其他选项得到了增强。 TCC 添加了 200 多个新命令。 TCC-RT 通常可以在一两行中完成,这需要数十个 CMD 命令(如果 CMD 完全可以做到) 。 脚本语言包括一整套扩展的流控制结构,包括 IF-Then-Else,DO 和 FOR 循环,SWITCH,子例程,批处理库等。 使用 TCC-RT 语法时,大多数交互式命令(例如 COPY,DEL,DIR,MOVE,REN,START 等)都有命令对话框,可让您选择文件名和选项并在执行之前查看命令行。最强大的 Windows 命令处理器也是最容易使用的! 监视系统的硬件和软件事件,并在触发事件时执行命令。您可以监视目录更改,剪贴板,事件日志,以太网和 WiFi 连接,服务,进程以及 USB 和 Firewire 连接。 环境变量替换得到了极大的增强,包括嵌套变量,延迟扩展,间接变量,多维数组变量以及对注册表中系统,用户和易失变量的直接访问。 按日期,时间,大小,所有者和扩展通配符或正则表达式选择或排除文件,以在文件管理中提供极大的灵活性。 为大多数文件处理命令(即COPY,DEL,DIR,MOVE等)指定多个文件名,或者指定包含文件名参数的文件名。 (COPY 甚至支持多个目标以及多个来源。) 有多种类型的 I/O 重定向,包括重定向和管道传输到 STDERR,“处理中”管道,“ here-document”和“ here-string”重定向以及 Tee 和 Y 管道配件。 将击键发送到任何应用程序(控制台或 GUI) 。 TCC-RT 包含用于 ZIP,7ZIP,TAR,JAR,GZIP 和 BZIP 文件的内部压缩和提取命令。 您可以在所有命令处理器文件处理命令(COPY,DEL,MOVE 等)中访问 FTP,TFTP 和 HTTP(包括 SSL 和 SSH)目录文件。 包括对 Perl,Lua,REXX,PowerShell,Python,Tcl/tk 和任何 Windows Active Scripting 语言的内部支持。您甚至可以在批处理脚本中组合多种语言。 以及成千上万的详细信息-请参阅我们的在线帮助。 CMDebug 中文版与 Microsoft Windows 7,Server 2008R2,Windows 8,Server 2012,Windows 10,Server 2016 和 Server 2019 的任何版本兼容。CMDebug 提供 32 位和 64 位版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值