❶ 如何判断压缩文件的文件类型
单个未知类型文件1、下面这个压缩文件是从网上下载的,右键,解压到当前文件夹。2、解压后,只有一个文件名,没扩展名(隐藏扩展名的勾已去掉了),没图标,根本不知道是什么文件类型。3、这时该怎么办呢,不急,当然有办法,从网上下载“FileAnalysis”,这是个文件类型分析软件,无须安装,直接启动“FileAnalysis.exe”。4、打开程序窗口后,点击“打开文件”按钮。5、文件选择窗口,选择不知类型的文件“file”,点“打开”。6、加载文件后,点“分析”按钮,其实不点也行,只要加载文件后,马上会自动进行分析。分析有三项,可能性,文件类型,扩展名。经过分析,可能是7-zip类型,扩展名是7z,可能性为100%。7、看来是7z压缩文件,于是将file后缀名添加zip(添加为7z也一样),这类压缩文件zip,7z,rar,7-zip都是可以关联打开的,修改后,图标马上就变为压缩图标了。8、在file.zip上双击,这个文件就打开了,也看到里面的文件了。我用的是WinRAR压缩软件打开的。多个未知类型文件1、不止出现上面的情况,还出现了多个未知类型的文件,如下图,几个文件名字都一样,而且不知扩展名,这该怎么办呢?先不管它是什么文件类型,先把它们解压出来,全部选择后,右键,解压到指定文件夹。2、解压时,出现确认文件替换窗口,因为它们都同名,而一个文件夹中,不能有同名的文件,所以,第一个解压后,第二个就会提示确认文件替换窗口,当然不能替换,点“重命名”。3、在原来名字后,加个2即可,为了更直观,加一下划线, 再加2,其它的依此类推_3,_4,_5,_6……。解压后如下第3图。4、然后再用FileAnalysis.exe来分析,从第一个起,进行分析,这回不是100%了,而是83.3%,文件类型为RAR,扩展名也为RAR。其它类型为RBT,16.7%,这个类型,我也没见过。5、从第1个到第9个,都分析一下,都是这样的结果,看来只能以RAR类型来定,83.3%的可能性,应该不会错。提示:下面还有个DownloadRequiredReading.txt文件,这个是说明文件,而且已显示了扩展名“.txt”,所以排除。6、是不是分析出了结果,就可以打开它们了,直接添加“.rar”扩展名就可以了,根据我的经验,肯定不行,我在下载时,提示提分卷压缩文件。要如何辨别是分卷压缩文件呢,告诉大家方法,先把扩展名改为.rar,然后一个一个打开,看看 里面文件是否有箭头,如果有箭头,则表示为分卷压缩,向右的箭头表示为“未完待续”,向左的箭头表示“续接”。看来是被分割的压缩文件,分割的压缩文件要如何解压呢?肯定不能一个一个去解压,必须先给它们添加一个分卷压缩后缀“.partX”,再加“.rar”。即"文件名.partX.rar"。注释:“文件名”要一样,part表示分卷,part后面的“X”表示序号,从1开始,9个文件,也就是.part1 – .part9,rar表示为压缩文件。7、全部改好名后,选择第一个,右键,用WinRAR解压到当前文件夹,WinRAR软件会自动把这9个文件依次解压,集成一个文件或文件夹。解压成功后,我检查了一下它们的大小,9个压缩文件大小为90MB左右,解压出的文件夹为110MB左右,大小很正常,检查里面的文件,打开也正常,没有出现错误。
❷ linux必须学会的60个命令:文件处理1
Linux系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的裤悔名字、内容、存放地址及其它一些管理信息,如文件的用户、文戚纯姿件的大小等。文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。Linux文件系统具有良好的结构,系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。 file 1.作用file通过探测文件内容判断文件类型,使用权限是所有用户。 2.格式file [options]文件名3.[options]主要参数-v:在标准输出后显示版本信息,并且退出。 -z:探测压缩过的文件类型。 -L:允许符合连接。 -f name:从文件namefile中读取要分析的文件名列表。 4.简单说明使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件,还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。 5.应用实例如果我们看到一个没有后缀的文件grap,可以使用下面命令: $ file grap grap:English text 此时系统显示这是一个英文文本文件。需要说明的是,file命令不能探测包括图形、音频、视频等多媒体文件类型。 mkdir 1.作用mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。 2.格式mkdir [options]目录名3.[options]主要参数-m,--mode=模式:设定权限<模式>,与chmod类似。 -p,--parents:需要时创建上层目录;如果目录早已存在,则不当作错误。 -v,--verbose:每次创建新目录都显示信息。 --version:显示版本信息后离开。 4.应用实例在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”。假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令:$ mkdir-m 777 tsk grep 1.作用grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2.格式grep [options] 3.主要参数[options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无高绝匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: :忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $:匹配正则表达式的结束行。 <:从匹配正则表达式的行开始。 >:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求。 [ – ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。 。:所有的单个字符。 *:有字符,长度可以为0。 正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户可以使用通配符“*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。4.应用实例查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有时IP地址会超过2000个。如果要查看nnn.nnn网络地址,但是却忘了第二部分中的其余部分,只知到有两个句点,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]{3 }.[0-0{3}。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。 $grep '[0-9 ]{3 }.[0-0{3}' ipfile 补充说明,grep家族还包括fgrep和egrep。fgrep是fix grep,允许查找字符串而不是一个模式;egrep是扩展grep,支持基本及扩展的正则表达式,但不支持q模式范围的应用及与之相对应的一些更加规范的模式。 dd 1.作用dd命令用来复制文件,并根据参数将数据转换和格式化。 2.格式dd [options] 3.[opitions]主要参数bs=字节:强迫ibs=<字节>及obs=<字节>。 cbs=字节:每次转换指定的<字节>。 conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。 count=块数目:只复制指定<块数目>的输入数据。 ibs=字节:每次读取指定的<字节>。 if=文件:读取<文件>内容,而非标准输入的数据。 obs=字节:每次写入指定的<字节>。 of=文件:将数据写入<文件>,而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定<块数目>的输出数据。 skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。 4.应用实例 dd命令常常用来制作Linux启动盘。先找一个可引导内核,令它的根设备指向正确的根分区,然后使用dd命令将其写入软盘: $ rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0 上面代码说明,使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,请把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。 find 1.作用find命令的作用是在目录中搜索文件,它的使用权限是所有用户。2.格式find [path][options][expression] path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。 3.主要参数[options]参数: -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。 -maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数,如果level是0的话表示仅在当前目录中查找。 -mindepth levels:表示至少查找到开始目录的第level层子目录。 -mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。 -version:打印版本。 [expression]是匹配表达式,是find命令接受的表达式,find命令的所有操作都是针对表达式的。它的参数非常多,这里只介绍一些常用的参数。 —name:支持统配符*和?。 -atime n:搜索在过去n天读取过的文件。 -ctime n:搜索在过去n天修改过的文件。 -group grpoupname:搜索所有组为grpoupname的文件。 -user用户名:搜索所有文件属主为用户名(ID或名称)的文件。 -size n:搜索文件大小是n个block的文件。 -print:输出搜索结果,并且打印。 4.应用技巧find命令查找文件的几种方法: (1)根据文件名查找例如,我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令: find /-name lilo.conf find命令后的“/”表示搜索整个硬盘。 (2)快速查找文件根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内,此时可以使用下面命令: find /etc-name smb.conf 这样,使用“快速查找文件”方式可以缩短时间。 (3)根据部分文件名查找方法有时我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令: find /-name '*abvd*' 输入这个命令以后,Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来。 (4)使用混合查找方式查找文件 find命令可以使用混合查找的方法,例如,我们想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件,则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。 find /etc -size +500000c -and -mtime +1 mv 1.作用mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。 2.格式mv[options]源文件或目录目标文件或目录3.[options]主要参数-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。 4.应用实例(1)将/usr/cbu中的所有文件移到当前目录(用“.”表示)中: $ mv /usr/cbu/ * . (2)将文件cjh.txt重命名为wjz.txt: $ mv cjh.txt wjz.txtls 1.作用ls命令用于显示目录内容,类似DOS下的dir命令,它的使用权限是所有用户。 2.格式ls [options][filename] 3.options主要参数-a,--all:不隐藏任何以“.”字符开始的项目。 -A,--almost-all:列出除了“.”及“..”以外的任何项目。-b,--escape:以八进制溢出序列表示不可打印的字符。 --block-size=大小:块以指定<大小>的字节为单位。-B,--ignore-backups:不列出任何以~字符结束的项目。 -f:不进行排序,-aU参数生效,-lst参数失效。 -F,--classify:加上文件类型的指示符号(*/=@|其中一个)。 -g:like-l, but do not list owner。 -G,--no-group:inhibit display of group information。 -i,--inode:列出每个文件的inode号。 -I,--ignore=样式:不印出任何符合Shell万用字符<样式>的项目。 -k:即--block-size=1K。 -l:使用较长格式列出信息。 -L,--dereference:当显示符号链接的文件信息时,显示符号链接所指示的对象,而并非符号链接本身的信息。 -m:所有项目以逗号分隔,并填满整行行宽。 -n,--numeric-uid-gid:类似-l,但列出UID及GID号。 -N,--literal:列出未经处理的项目名称,例如不特别处理控制字符。 -p,--file-type:加上文件类型的指示符号(/=@|其中一个)。 -Q,--quote-name:将项目名称括上双引号。 -r,--reverse:依相反次序排列。 -R,--recursive:同时列出所有子目录层。 -s,--size:以块大小为序。 diff 1.作用diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户。
❸ Linux系统怎样识别文件类型
我现在用了linux那么久,它给我的感觉是其实也是有扩展名的,如有些是.sh的文件,这些是脚步文件等还有linux中的文件是有属性的,估计你在运行一个文件时,shell会先调用某些命令来查看这个文件的属性,然后在以相应的程序将其打开ps:我是菜鸟,你的这个问题问的比较的高深,我不知道怎么说清楚ps2:linux中有一个命令,是可以查看文件属性的,好像是file。不知道对不对,但肯定有这么一个命令的,以前我用shell编程时用过这个命令,来判断文件的属性
❹ java 判断文件类型
简单实现如下:import java.io.*;/*通常用在从客户到服务端传送的判断先用getName()获得文件的名字,这个市File的自带方法。然后那名字给一个String对象,用下面的方法得到文件的扩展名。*/public class Rename{public String getTypeName(String s){ String s1=s.substring(s.indexOf(".")+1,s.length()); if(s1.indexOf(".")>=0){ s=s1; Rename sf=new Rename(); s=sf.getTypeName(s); } return s.substring(s.indexOf("."),s.length()); }}
❺ input file,javascript, jquery判断文件类型,在input中设置accept属性只是好看,求两种代码,方便大家
下面是我用jquery写的选中后立马判断选中的文件的类型,不是的话提示,然后清除,对应的可以自己改成纯js形式:
//文件上传文件选择后事件$(document).ready(function(){$("input[id^='fileToUpload']").each(//这里是用了each因为是多文件上传,input的id都是fileToUpload开头function(){$("#"+$(this).attr("id")+"").live('change',function(){varfileName=$(this).val();if(fileName!=null&&fileName!=""){//lastIndexOf如果没有搜索到则返回为-1if(fileName.lastIndexOf(".")!=-1){varfileType=(fileName.substring(fileName.lastIndexOf(".")+1,fileName.length)).toLowerCase();varsuppotFile=newArray();suppotFile[0]="jpg";suppotFile[1]="gif";suppotFile[2]="bmp";suppotFile[3]="png";suppotFile[4]="jpeg";for(vari=0;i<suppotFile.length;i++){if(suppotFile[i]==fileType){if(fileName.length>100){alert("文件名长度不能超过100字符");if(!window.addEventListener){document.getElementById(fileName[j]).outerHTML+='';//IE清除inputfile}else{document.getElementById(fileName[j]).value="";//FF清除inputfile}returnfalse;}returntrue;}else{continue;}}alert("文件类型不合法,只支持jpg、gif、png、jpeg类型!");if(!window.addEventListener){document.getElementById(fileName[j]).outerHTML+='';//IE}else{document.getElementById(fileName[j]).value="";//FF}returnfalse;}else{alert("文件类型不合法,只支持jpg、gif、png、jpeg类型!");if(!window.addEventListener){document.getElementById(fileName[j]).outerHTML+='';//IE}else{document.getElementById(fileName[j]).value="";//FF}returnfalse;}}});});});
❻ linux file命令
1. file 是检测文件类复型的制命令。2. 文件类型就文件组织的方式,通常不同的文件类型执行不同的标准。例如我们熟知的:txt , doc , xls , pdf …3. file 命令的简单用法就是:file 文件名,例如:file data.txtdata.txt: ASCII text就告诉我们,data.txt 是一个text (即txt) 类型的文件。txt 文件所采用的编码是ascii编码体系。所以 text 是文件类型;ASCII是编码体系。又如:file my.pdfmy.pdf: PDF document, version 1.5“PDF document“ 告诉我们 , my.pdf 是pdf类型的文件。版本执行的标准是:1.5 像ascii , version 1.5 这些都是与文件类型密切相关的信息。如果需要更详细的信息,可以加参数:如:file -i data.txt 使用man file 看详细用法。
❼ C语言如何判断文件类型
c语言文件类型指针是通过file*fp;这种形式进行定义的。关于file结构在vc6中有如下定义:#ifndef _file_definedstruct _iobuf {char *_ptr; //文件输入的下一个位置int _cnt; //当前缓冲区的相对位置char *_base; //指基础位置(即是文件的起始位置) int _flag; //文件标志int _file; //文件描述符idint _charbuf; //检查缓冲区状况,如果无缓冲区则不读取int _bufsiz; //文件缓冲区大小char *_tmpfname; //临时文件名 };typedef struct _iobuf file;#define _file_defined#endifc程序用不同的file结构管理每个文件。程序员可以使用文件,但是不需要知道file结构的细节。实际上,file结构是间接地操作系统的文件控制块(fcb)来实现对文件的操作的,如下图: 上面图中的_file实际上是一个描述符,作为进入打开文件表索引的整数。文件是存放在物理磁盘上的,包括文件控制块(fcb)和数据块。文件控制块通常包括文件权限、日期(创建、读取、修改)、拥有者、文件大小、数据块信息。数据块用来存储实际的内容。当打开一个文件时,程序会将物理磁盘上的文件数据块读入到内存,然后通过文件指针的移动读取内存中的文件数据。相关函数:file*fopen(char*file,char*open_mode);//打开文件,读文件到内存,返回文件信息结构指针intfread(chars,intsize,intnum,file*fp);//按字节读取文件内容到s中intfwrite(chars,intsize,intnum,file*fp);//按字节将s地址中的数据写到文件中char*fgets(char*s,intmax_size,file*fp);//读一行数据到缓冲区s中int fseek(file*fp,longoffset,intwhence);//移动文件指针到指定位置voidrewind(file*fp);//回到文件头longftell(file*fp);//得到当前文件偏移位置fclose(fp);//关闭文件,刷新缓存到物理磁盘上
❽ 文件的类型是根据什么来识别的
文件的类型是根据文件的扩展名进行识别的。每一种文件格式通常会有一种或回多种扩答展名可以用来识别,但也可能没有扩展名。扩展名可以帮助应用程序识别的文件格式和文件类型。因此,文件的类型是根据文件扩展名来识别的。
(8)file判断文件类型扩展阅读:
扩展名的特点及作用:
扩展名方式的一个特点是,更改文件扩展名会导致系统误判文件格式。用扩展名识别文件格式的方式最先在数字设备公司的CP/M操作系统被采用。而后又被DOS和Windows操作系统采用。扩展名是指文件名中,最后一个点(.)号后的字母序列。
在早期的FAT文件系统中,扩展名限制只能是三个字符,因此尽管绝大多数的操作系统已不再有此限制,许多文件格式至今仍然采用三个字符作扩展名。因为没有一个正式的扩展名命名标准,所以,有些文件格式可能会采用相同的扩展名,出现这样的情况就会使操作系统错误地识别文件格式,同时也给用户造成困惑。