From 6e203d10e12761be469d6003c14f1f0cd3b98144 Mon Sep 17 00:00:00 2001 From: DSOE1024 <9680100+DSOE1024@user.noreply.gitee.com> Date: Fri, 26 Sep 2025 05:09:34 +0000 Subject: [PATCH 1/3] =?UTF-8?q?add=2003=5F=E5=B8=B8=E8=A7=81=E9=97=AE?= =?UTF-8?q?=E9=A2=98/=E6=96=87=E4=BB=B6=E6=93=8D=E4=BD=9C=E5=B8=B8?= =?UTF-8?q?=E8=A7=81=E9=97=AE=E9=A2=98.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: DSOE1024 <9680100+DSOE1024@user.noreply.gitee.com> --- ...4\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" diff --git "a/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" new file mode 100644 index 0000000..59038c9 --- /dev/null +++ "b/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -0,0 +1 @@ +# 文件操作常见问题 \ No newline at end of file -- Gitee From b099ceceaafc0d03ff30948b122814fbee9524d1 Mon Sep 17 00:00:00 2001 From: DSOE1024 <9680100+DSOE1024@user.noreply.gitee.com> Date: Fri, 26 Sep 2025 06:04:40 +0000 Subject: [PATCH 2/3] =?UTF-8?q?update=2003=5F=E5=B8=B8=E8=A7=81=E9=97=AE?= =?UTF-8?q?=E9=A2=98/=E6=96=87=E4=BB=B6=E6=93=8D=E4=BD=9C=E5=B8=B8?= =?UTF-8?q?=E8=A7=81=E9=97=AE=E9=A2=98.md.=20=E6=9B=B4=E6=96=B0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=93=8D=E4=BD=9C=E5=B8=B8=E8=A7=81=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0=E5=A6=82=E4=BD=95=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=92=8C=E7=A1=AE=E8=AE=A4=E6=96=87=E4=BB=B6=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: DSOE1024 <9680100+DSOE1024@user.noreply.gitee.com> --- ...70\350\247\201\351\227\256\351\242\230.md" | 81 ++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git "a/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" index 59038c9..bfedde4 100644 --- "a/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" +++ "b/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -1 +1,80 @@ -# 文件操作常见问题 \ No newline at end of file +# 文件操作常见问题 + +该文档用于专门记录文件常用操作以及问题处理方式。 + +## 如何查看和确认文件格式 + +一般来说,文件通过其特殊的扩展名以及十六进制文件头标识(HEX)来区分数据格式,每种数据格式都需要用对应的编解码程序进行操作,因此日常操作可能会遇到未知后缀名或无法判断无后缀名文件格式的情况,无法找到对应的程序打开他们。 + +#### 使用file命令 + + +Linux的`file`命令专门用来识别文件类型,其原理是通过分析文件内容特征来判断类型。在遇到一些未知后缀名或者无后缀名的文件时,可尝试通过`file`命令辨识文件类型,并找到对应的处理方式。 + +可以通过如下命令,并查看输出的文件格式描述: +```bash +file unknown.xxx +``` + + +#### 手动查看文件头标识 + +文件头标识(HEX)就是用十六进制数字表示的一串特殊代码,位于文件的最开头,用来告诉电脑这个文件真正的格式和类型,在由于恶作剧或病毒导致的文件损坏或丢失后缀的场景,这个判断方式极为有效,可以帮助你找回其原来的后缀。 + +可以通过`xxd`命令显示前32个字节用于判断。 +```bash +xxd -l 32 unknown.xxx +``` + +比如一个文件可以看到开头十六进制代码(文件头标识)为`ffd8 ffe0`,可以判断其为jpg图片格式。 + +```bash +00000000: ffd8 ffe0 0010 4a46 4946 0001 0101 0048 ......JFIF.....H +00000010: 0048 0000 ffe1 0045 4578 6966 0000 4d4d .H.....Exif..MM +``` + +下面是一些常见文件格式以及其对应的文件头标识: + + +| 格式 | 后缀名 | 文件头标识 (HEX) | +| :--- | :--- | :--- | +| **图片格式** | | | +| JPEG / JFIF | `.jpg` / `.jpeg` | `FF D8 FF E0` 或 `FF D8 FF E1` | +| PNG | `.png` | `89 50 4E 47 0D 0A 1A 0A` | +| GIF | `.gif` | `47 49 46 38` (`GIF8`) | +| Windows Bitmap | `.bmp` | `42 4D` (`BM`) | +| TIFF | `.tiff` / `.tif` | `49 49 2A 00` (小端) 或 `4D 4D 00 2A` (大端) | +| WebP | `.webp` | `52 49 46 46 .... 57 45 42 50` | +| Photoshop | `.psd` | `38 42 50 53` (`8BPS`) | +| ICO | `.ico` | `00 00 01 00` | +| **文档格式** | | | +| PDF | `.pdf` | `25 50 44 46 2D` (`%PDF-`) | +| Microsoft Office 文件 (旧) | `.doc`, `.xls`, `.ppt` | `D0 CF 11 E0 A1 B1 1A E1` | +| Microsoft Word (新) | `.docx` | `50 4B 03 04` | +| Microsoft Excel (新) | `.xlsx` | `50 4B 03 04` | +| Microsoft PowerPoint (新) | `.pptx` | `50 4B 03 04` | +| **压缩与归档格式** | | | | +| ZIP Archive | `.zip` | `50 4B 03 04` | +| RAR Archive | `.rar` | `52 61 72 21 1A 07 00` (`Rar!...`) | +| 7-Zip Archive | `.7z` | `37 7A BC AF 27 1C` (`7z¼¯'`) | +| GZIP Archive | `.gz` | `1F 8B` | | +| TAR Archive | `.tar` | 无统一魔数,需要根据结构判断 | +| **音频格式** | | | | +| MP3 (有 ID3v2 标签) | `.mp3` | `49 44 33` (`ID3`) | +| MP3 (无标签,帧起始) | `.mp3` | `FF FB` 或 `FF F3` 或 `FF F2` | +| WAVE Audio | `.wav` | `52 49 46 46 .... 57 41 56 45` | +| FLAC Audio | `.flac` | `66 4C 61 43` (`fLaC`) | +| OGG Vorbis/Theora | `.ogg` / `.ogv` | `4F 67 67 53` (`OggS`) | +| **视频格式** | | | +| MPEG-4 (MP4) | `.mp4` | `00 00 00 18 66 74 79 70 69 73 6F 6D` 或 `00 00 00 20 66 74 79 70 69 73 6F 6D` 等 | +| AVI | `.avi` | `52 49 46 46 .... 41 56 49 20` | +| Matroska | `.mkv` / `.mka` | `1A 45 DF A3` | +| FLV (Flash Video) | `.flv` | `46 4C 56 01` (`FLV.`) | +| **可执行文件** | | | +| Linux ELF | 无后缀或 `.bin`, `.so` | `7F 45 4C 46` (`.ELF`) | +| Windows PE | `.exe`, `.dll`, `.sys` | `4D 5A` (`MZ`) | +| **其他格式** | | | +| UTF-8 with BOM | (文本文件) | `EF BB BF` | +| UTF-16 (Big Endian) | (文本文件) | `FE FF` | +| UTF-16 (Little Endian) | (文本文件) | `FF FE` | +| ISO 9660 (CD/DVD 镜像) | `.iso` | `43 44 30 30 31` (`CD001`) | -- Gitee From 9b12ce8340526d2924956a7d46e879c78ab8c22b Mon Sep 17 00:00:00 2001 From: DSOE1024 <9680100+DSOE1024@user.noreply.gitee.com> Date: Sat, 27 Sep 2025 07:45:55 +0000 Subject: [PATCH 3/3] =?UTF-8?q?update=2003=5F=E5=B8=B8=E8=A7=81=E9=97=AE?= =?UTF-8?q?=E9=A2=98/=E6=96=87=E4=BB=B6=E6=93=8D=E4=BD=9C=E5=B8=B8?= =?UTF-8?q?=E8=A7=81=E9=97=AE=E9=A2=98.md.=20=E8=A1=A5=E5=85=85=E5=85=B3?= =?UTF-8?q?=E4=BA=8E=E9=AD=94=E6=95=B0=E7=9A=84=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: DSOE1024 <9680100+DSOE1024@user.noreply.gitee.com> --- ...\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" index bfedde4..210463a 100644 --- "a/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" +++ "b/03_\345\270\270\350\247\201\351\227\256\351\242\230/\346\226\207\344\273\266\346\223\215\344\275\234\345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -4,7 +4,7 @@ ## 如何查看和确认文件格式 -一般来说,文件通过其特殊的扩展名以及十六进制文件头标识(HEX)来区分数据格式,每种数据格式都需要用对应的编解码程序进行操作,因此日常操作可能会遇到未知后缀名或无法判断无后缀名文件格式的情况,无法找到对应的程序打开他们。 +一般来说,文件通过其特殊的扩展名以及十六进制文件头标识(HEX)来区分数据格式,每种数据格式都需要用对应的编解码程序进行操作,因此日常操作可能会遇到未知后缀名或无法判断无后缀名文件格式的情况,无法找到对应的程序打开他们。注意,文件的“魔数”也就是指文件开头的十六进制文件头标识(HEX),常见的名称还有magic数。 #### 使用file命令 -- Gitee