作用:通过探测文件内容来判断文件类型。
用法:file 选项文件名
主要选项如下。
命令 | 描述 |
---|---|
| 不输出文件名(简要模式)。 |
| 检查时打印输出幻数文件的解析结果。常与-m 一起使 用,用来在安装幻数文件之前调试它。 |
| 从在参数表前的命名文件中读出将要检查的 文件名(每行一个文件)。要有命名文件,或者 至少有一个文件名参数;如果要检查标准输入,使用-作为文件参数。 | |
| 指定包含幻数的文件列表。可以是单个文件, 也可以是用冒号分隔的多个文件。 |
| 每检查完一个文件就强制刷新标准输出。仅在检查 一组文件时才有效。一般在将文件类型输出到管道时才使用此选项。 |
| 打印程序版本并退出。 |
| 试图查看压缩文件内部信息。 |
| 直接显示符号链接所指向的文件的类型 |
| 使用-s 选项时 file 命令也将去读文件列表中的块 特殊文件和字符特殊文件。一般用 于从原始磁盘分区中获 得文件系统类型,此文件为块特殊文件。 |
如果我们看到一个没有扩展名的文件 TRACK11,可以使用下面的命令:
$ file TRACK11
track11: MP2, 112 kBits, 44.1 kHz, Stereo
此时系统显示这是一个立体声文件。
file 命令可以知道某个文件究竟是二进制(ELF 用法)的可执行文件,还是 Shell脚本文件,或者是其他用法的文件。file 能识别的文件类型有目录、Shell 脚本、英文文本、二进制可执行文件、C 语言源文件、文本文件、DOS 的可执行文件。file 命令能探测包括图形、音频、视频等在内的多媒体文件类型
命令 | 描述 |
---|---|
| 追加输出。 |
| 运行命令而不是交互式 Shell。 |
| 返回子进程的退出代码。 |
| 每次 write(写)后运行 flush(冲刷)。 |
| 即使输出文件是链接也依然使用。 |
| 安静模式。 |
| 将时间数据输出到标准错误(或文件)。 |
| 输出版本信息并退出。 |
| 显示此帮助并退出。 |
<font color=blue>说明 许多系统管理员都知道保留一个包含各种任务、配置改变等活动日志的重要性。 对一些组织而言,保留“我做了这件事”或“约翰做了那件事”的简单日志就已足够; 但另一些组织则需要记录所有改变。对终端输出进行复制粘贴可能非常乏味,我们使 用一个叫作script的鲜为人知的程序来解决这个问题,它是大多数Linux产品util-linux 软件包的一部分。script 记录会话的一切内容,包括输入的内容和看到的内容,它甚 至记录颜色。因此,如果命令提示符或程序输出中包含颜色,script 将记录它。</font>
(1)使用 script。 简单执行以下命令:
$ script
在默认情况下,它向当前目录的 typescript 文件中写入内容,然后输入的一切内容都被记 录到那个文件中。要向另一个文件中记录日志,只需使用 script/path/to/file 命令。完成记录后, 输入 exit 退出。这个命令将关闭 script 会话并保存文件。可以使用 cat 或其他任何程序来检查 日志文件。使用 script 的缺点在于,它记录所有特殊的字符,因此输入的文件中将充满控制字 符和 ANSI 转义序列。可以在 script 中使用一个非常简单的 Shell 来解决这个问题:
$ SHELL=/bin/sh PS1="$ " script
使用 script 时,不要使用交互式程序或处理窗口的程序,如 vior top,它们会破坏会话的输 出结果。另外,日志文件会记录使用的任何命令行程序和完成一项任务所采取的步骤。如果需 要在脚本中编辑一个文件,可以考虑退出 script 会话,然后用 script -a(它在旧会话后添加新会 话)对文件进行编辑后再重新启动会话。
(2)script -a filename1 -t 2>filename2。
退出命令为 exit。
若要查看记录结果,使用 cat filename 即可,filename1 和 filename2 可以是同一个文件。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。