Relative Content

LINUX MANUAL PAGES

category

「file(1)」-

确定文件类型
命令语法格式
file [-bcdEhiklLNnprsvzZ0] [–apple] [–extension] [–mime-encoding] [–mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] [-P name=value] file …
file -C [-m magicfiles]
file [–help]
命令描述
本手册页介绍了5.29版的file命令。
file测试每个参数以尝试对其进行分类。按顺序执行三组测试:文件系统测试、魔数测试、语言测试。第一个成功的测试导致打印文件类型。
打印的类型通常包含一个单词:

text(该文件只包含打印字符和一些常用控制字符,并且可以安全地在ASCII终端上读取);
executable(该文件包含编译程序的结果,某些UNIX内核或其他内容可以理解的形式;
data意味着其他任何东西(数据通常是“二进制”或不可打印)。例外是已知包含二进制数据的众所周知的文件格式(核心文件,tar档案)。

将本地定义添加到/etc/magic时,请确保保留这些关键字。用户依赖于知道在目录中的所有可读文件都打印了“text”一词。不要像伯克利那样做,并将“shell commands text”更改为“shell script”。
文件系统测试:基于检查stat(2)系统调用的返回。程序检查文件是否为空,或者它是否是某种特殊文件。如果在系统头文件<sys/stat.h>中定义了文件类型,则凭直觉判断适合于当前运行的系统的任何已知文件类型(在那些实现套接字、符号链接、命名管道(FIFO)的系统上)。
魔数测试:用于检查具有特定固定格式的数据的文件。这个规范的例子是二进制可执行文件(编译程序)a.out文件,其格式在标准include目录中的<elf.h>,<a.out.h>、<exec.h>中定义。这些文件有一个“魔数”存储在文件开头附近的特定位置,用于告诉UNIX操作系统该文件是二进制可执行文件,以及其中的几种类型。“魔数”的概念已通过扩展应用于数据文件。在文件的小固定偏移处具有一些不变标识符,可以用这种方式来描述任何文件。标识这些文件的信息从/etc/magic和编译的魔术文件/usr/share/misc/magic.mgc中获取,或如果编译的文件不存在,则从目录/usr/share/misc/magic中的文件中读取。此外,如果存在$HOME/.magic.mgc或$HOME/.magic,它将优先于系统魔术文件使用。
语言测试:[……]

READ MORE

「findutils」

在GNU/Linux下,编译安装Findutils包
如果要手动编译的话,可以参看LFS/6.53. Findutils-4.6.0: http://www.linuxfromscratch.org/lfs/view/7.10/chapter06/findutils.html
在maxOS下,编译安装Findutils包
./configure –prefix=/gnu –localstatedir=/gnu/var/lib/locate
make
make install
安装的命令列表
Findutils,包含了一系列用于查找文件的程序。这些程序可以递归搜索目录树并创建、维护、搜索数据库(通常比递归查找更快,但数据库要记得更新)。
code Was formerly used to produce locate databases; it is the ancestor of frcode
find 在指定的目录树中搜索满足条件的文件。
locate Searches through a database of file names and reports the names that contain a given string or match a given pattern
oldfind Older version of find, using a different algorithm
updatedb Updates the locate database; it scans the entire file system (including other file systems that are currently mounted, unless told not to) and puts every file name it finds into the database
xargs 从标准输入中读取数据,然后构建命令来执行。
参考文献

LFS/6.53. Findutils-4.6.0[……]

READ MORE

「code(u)」-

以前用于生成locate数据库;它是frcode的祖先
命令描述
该命令由updatedb调用,用于生成locate数据库。
目前系统中已经不存在该命令。
参考文献

GNU/findutils/4.2.4 Old Database Format
LFS/6.53. Findutils-4.6.0
GNU/findutils/4.2.1 LOCATE02 Database Format
GNU/findutils/4.3 Newline Handling

更新日志

08/06/2018 创建文章[……]

READ MORE

「find(1)」- 在目录结构中查找文件

常用命令
通过正则表达式,来匹配文件名:

find . -regextype posix-egrep \
-regex ‘\./[a-f0-9\-]{36}\.jpg’ # 命令 find 匹配相对路径,所以以 ./ 开始

在当前目录下,找到行数大于 2 的文件:

find . -maxdepth 1 -type f \
-exec sh -c ‘test $( wc -l {} | cut -f1 -d” ” ) -gt “2”‘ \; -print

在特定名称的目录内,进行文件查找,并排除某些文件:

find . -maxdepth 1 -type f \
-exec sh -c ‘test $( wc -l {} | cut -f1 -d” ” ) -gt “2”‘ \; -print

或(or)操作:

find /media/d/ -type f -size +50M ! \( -name “*deb” -o -name “*vmdk” \)

删除目录:

find ~ -path ‘*/__pycache__/*’ -delete # 先,清空在目录内的文件
find ~ -type d -name ‘__pycache__’ -empty -delete # 再,删除当前目录;

语法格式

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point…] [expression]

命令描述
本手册页记录了 find 的 GNU 版本。GNU find 根据优先级规则(参见 OPERATORS 部分),从左到右依次评估给定的表达式,搜索以每个给定起始点为根的目录树,直到结果已知(and 操作左侧为 false,或者 or 操作左侧为 true),此时 find 会移动到下一个文件名。如果没有指定起始点,`.’ 假设;
如果在安全性很重要的环境中使用 find(例如,如果使用它来搜索其他用户可写的目录),应该阅读 findutils 文档的“Security Considerations”一章,该文章称为“Finding Files”并附带 findutils。该文档还包含比本手册页更多的细节和讨论,因此可能会发现它是一个更有用的信息来源;
命令结构简述
选项-H、-L、-P 控制符号链接的处理;
后面紧[……]

READ MORE

「locate(1)」-

根据名字来查找文件
命令语法格式
locate [OPTION]… PATTERN…
命令描述
命令locate读取由updatedb(8)创建的一个或多个数据库,并将与至少匹配一个PATTERN的文件名写入标准输出,每行一个。
如果未指定–regex,则PATTERN可以包含通配符。如果任何“PATTERN”中不包含通配符,则等同于指定了“*PATTERN*”一样。
默认情况下,命令locate不会检查数据库中找到的文件是否仍然存在(但如果使用updatedb(8)的“–require-visibility no”构建数据库,则确实需要所有父目录是存在的)。
命令locate永远不会输出在最近更新相关数据库之后创建的文件,因为这些文件还没有索引到数据库。
命令支持的选项及含义
-c, –count 在标准输出上,仅输出匹配条目的数量,而不是输出文件名。
-d, –database DBPATH 用DBPATH替换默认数据库。参数DBPATH是一个以冒号(:)分隔的数据库文件名列表。如果指定了多个–database选项,则生成的路径是单独路径的串联。
空数据库文件名由缺省数据库替换。如果数据库文件名为”-“表示标准输入。请注意,只能从标准输入读取一次数据库。
-e, –existing 仅打印执行locate时存在的文件的条目。
-L, –follow 检查文件是否存在时(即指定了–existing选项),对符号链接指向的文件进行查找。这会导致从输出中省略损坏的符号链接。
这是默认的行为。选项–nofollow与此相反。
-P, –nofollow, -H 检查文件是否存在时(即指定了–existing选项),只是检查符号链接是否存在,而不是符号链接指向的文件是否存在。因此符号链接损坏,也会像其他文件一样打印出来。
这与–follow相反。
-l, –limit, -n LIMIT 找到LIMIT条目后成功退出。 如果指定了–count选项,则结果计数也是限于LIMIT条。
-0, –null 使用NUL字符分隔输出中的条目,而不是每个条目在单独的行上。此选项旨在与GNU的xargs(1)的–null选项进行互操作。
-S, –statistics 将有关每个读取的数据库的统计信息写入标准输出,而不是搜索文件并成功退出。
-q, –quiet 不要输出有关读取和处理数据库时遇到的错误消息。
控制匹配行为
-A, –all 仅打印与所有PATTERN匹配的条目,而不是仅要求其中一个匹配。
-r, –regexp REGEXP 搜索是使用基本正则表达[……]

READ MORE

「oldfind(1)」-

较旧版本的find,使用不同的算法
命令语法格式
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point…] [expression]
命令描述
较旧版本的find,使用不同的算法。
软件包findutils源代码中包含两个不同的find实现:

较旧的实现,以递归方式向下查找文件系统;
较新的实现,使用“fts”。“fts”是一种非递归的文件查找;

两者都正常安装。编译时,如果将–without-fts选项传递给configure,则将安装递归实现的“find”命令,并将基于fts的实现安装为“ftsfind”。否则,将基于“fts”的实现安装为“find”,并将递归实现安装为“oldfind”。具体情况视发行版而定。
具体的使用方法参考find(1)手册。
参考文献

GNU/find/7.3 fts
LFS/6.53. Findutils-4.6.0

更新日志

08/06/2018 创建文章[……]

READ MORE

「updatedb(8)」-

更新用于mlocate命令的数据库
命令语法格式
updatedb [OPTION]…
命令描述
命令updatedb创建或更新locate(1)使用的数据库。如果数据库已存在,则重复使用其数据,以避免重新读取未更改的目录。
命令updatedb通常由cron(8)每天运行,来更新默认数据库。比如,在Debian中/etc/cron.daily的mlocate脚本,由cron(8)每天运行一次来更新数据库。
命令支持的选项及含义
-o, –output FILE 将数据库写入FILE文件,而不是使用默认数据库。
-l, –require-visibility FLAG 将生成的数据库中的“在报告之前需要文件可见性”标志设置为FLAG。
如果FLAG为“0”或“no”,或者数据库文件可被“other”读取,或者它不归mlocate所有,则即使运行locate(1)的用户无法读取必要的目录,该用户也会通过locate(1)输出数据库条目来找出数据库条目描述的文件。
如果FLAG为“1”或“yes”(默认值),则locate(1)会在将每个条目的父目录报告给调用用户之前,会检查它们的权限。为了使文件的存在真正地对其他用户隐藏,将数据库组设置为“mlocate”,数据库权限禁止用户使用除locate(1)之外的其他方法读取数据库文件,通过给mlocate设置SGID权限。
请注意,仅当数据库由”mlocate“组拥有,且“other”不可读时,才会检查可见性标志。
覆盖配置文件
变量PRUNE_BIND_MOUNTS,PRUNEFS,PRUNENAMES和PRUNEPATHS会被一些选项修改,在手册updatedb.conf(5)中有详细记录。
-f, –add-prunefs FS 将以空格分隔的列表FS中的条目添加到PRUNEFS中。
-n, –add-prunenames NAMES 将以空格分隔的列表NAMES中的条目添加到PRUNENAMES中。
-e, –add-prunepaths PATHS 将以空格分隔的列表PATHS中的条目添加到PRUNEPATHS中。
-U, –database-root PATH 扫描以PATH为根目录的文件系统子树,并将结果保存到数据库中。默认情况下扫描整个文件系统。
命令locate(1)以绝对路径名输出条目,不包含符号链接,不管PATH的形式如何。
–prune-bind-mounts FLAG 设置PRUNE_BIND_MOUNTS为FLAG,覆盖配置文件。
–prunefs FS 设置PRUNEFS为FS,覆盖配置文件。
–prunenames[……]

READ MORE

「xargs(1)」-

从标准输入中构建并执行命令
命令语法格式
xargs [options] [command [initial-arguments]]
命令描述
本手册页记录了GNU版本的xargs命令。命令xargs从标准输入中读取项目,由空白或换行符分隔(空白可以使用双引号、单引号、反斜杠保护),并执行initial-arguments后跟从标准输入中读取的项的command一次或多次(命令默认为/bin/echo)。标准输入上的空行将被忽略。
构建命令的命令行,直到达到系统定义的限制(除非使用-n和-L选项)。将根据需要多次调用指定的命令,以用完所有输入项。通常,命令的调用次数将少于输入中的项目。这通常会带来显着的性能优势。有些命令也可以并行执行;请参阅-P选项。
因为Unix文件名可以包含空白和换行符,所以这种默认行为通常是有问题的;包含空白、换行符的文件名会被xargs错误处理。在这些情况下,最好使用-0选项,以防止此类问题。使用此选项时,您需要确保为xargs生成输入的程序也使用NUL字符作为分隔符。例如,如果该程序是GNU的find命令,则其-print0选项会生成NUL分隔的项目列表。
如果命令command的任何调用以状态255退出,则xargs将立即停止,而不再读取任何进一步的输入。发生这种情况时会在标准错误上发出一个错误消息。
命令支持的选项及含义
-0, –null 来自标准输入的项之间是由空字符(NUL)终止的,而不是空白字符,并且引号、反斜杠不是特殊的(每个字符都按字面意思)。禁用文件字符串的结尾,该字符串与任何其他参数一样。
当输入项中可能包含空格、引号、反斜杠时,该选项很有用。GNU的find命令的-print0选项生成适合此模式的由空字符(NUL)分隔输入项目。
-a file, –arg-file=file 从文件中读取项目,而不是标准输入。如果使用此选项,则在运行命令时,标准输入保持不变。 否则,标准输入重定向自/dev/null中。
–delimiter=delim, -d delim 输入项目由指定的字符delim终止。指定的分隔符delim可以是单个字符;C风格的字符转义符,例如“\n”;八进制或十六进制转义码。printf命令可以理解八进制和十六进制转义码。不支持多字节的字符。处理输入时,引号、反斜杠并不特殊;输入中的每个字符都是字面意思。选项-d禁用任何文件结束字符串,该字符串与任何其他参数一样。当输入由简单的换行分隔的项组成时,您可以使用此选项,尽管你在程序设计中应该尽可能的使用–null选项。
-E eof-str 将文件结尾(EOF)字符串设置为eof-str。如果文件结尾(EOF)字符串作为输入行出现,则忽略输入的其余部分[……]

READ MORE

「fping」-

软件包名
fping,https://fping.org
功能描述
它是用于向网络主机发送 ICMP Echo Request 数据包的程序,类似于ping命令,但是在ping多太主机时更好执行。
命令列表
fping 向网络主机发送 ICMP ECHO_REQUEST 数据包
参考文献
fping/What is fping?[……]

READ MORE

「fping(8)」-

功能简述
向网络主机发送 ICMP ECHO_REQUEST 数据包
常用命令
显示在特定地址范围内主机的存活情况:

# fping -g 172.31.253.100 172.31.253.103
172.31.253.100 is alive
172.31.253.101 is alive
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.103
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.103
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.103
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.103
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.102
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.102
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.102
ICMP Host Unreachable from 172.31.253.100 for ICMP Echo sent to 172.31.253.102
172.31.253.102 is unreachable
172.31.253.103 is unreachable

为两台主机分别生成20个PING包,单台主机收到数据包的间隔为50毫秒,每隔1毫秒发送一个PING包,并报告每个PING包的RTT值:

# fping –quiet –vcount=20 –interval=1 –period=50 127.0.0.1 127.0.0.2
127.0.0.1 : 0.03 0.04 0.07 0.07 0.08 0.04 0.03 0.06 0.03 0.04 0.03 0.03 0.05 0.10 0.06 0.04 0.07 0.05 0.08 0.04
127.0.0.2 : 0.05 0.04 0.02 0.07 0.08 0.02 0.01 0.05 0.02 0.02 0.02 0.03 0.09[……]

READ MORE

「glibc」

包含的可执行程序
catchsegv Can be used to create a stack trace when a program terminates with a segmentation fault
gencat Generates message catalogues
getconf Displays the system configuration values for file system specific variables
getent Gets entries from an administrative database
iconv Performs character set conversion
iconvconfig Creates fastloading iconv module configuration files
ldconfig Configures the dynamic linker runtime bindings
ldd Reports which shared libraries are required by each given program or shared library
lddlibc4 Assists ldd with object files
locale Prints various information about the current locale
localedef Compiles locale specifications
makedb Creates a simple database from textual input
mtrace Reads and interprets a memory trace file and displays a summary in human-readable format
nscd A daemon that provides a cache for the most common name service requests
pldd Lists dynamic shared objects used by running processes
rpcgen Generates C code to implement the Remote Procedure Call (RPC) protocol
sln A statically linked ln program
sotruss Traces shared library procedure calls of a specified co[……]

READ MORE

「nil」- getent

查看在主机中全部组:

getent group

参考文献
git – Get the commit hash for a tag – Stack Overflow[……]

READ MORE

「ldd(1)」-

打印共享对象依赖
命令语法格式
ldd [option]… file…
命令描述
命令ldd打印命令行上指定的每个程序或共享对象所需的共享对象(共享库)。它的使用和输出的一个例子如下:

# ldd /bin/ls
linux-vdso.so.1 (0x00007ffcc3563000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
/lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)

在通常情况下,ldd调用标准动态链接器(请参阅ld.so(8)),并将LD_TRACE_LOADED_OBJECTS环境变量设置为“1”。这会导致动态链接器检查程序的动态依赖关系,然后查找(根据ld.so(8)规则)并加载满足这些依赖关系的对象。 对于每个依赖项,ldd显示匹配对象的位置以及加载它的(十六进制)地址。 (linux-vdso和ld-linux共享依赖项是特殊的;请参阅vdso(7)和ld.so(8))
Security
请注意,在某些情况下(例如,程序指定除ld-linux.so之外的ELF解释器),某些版本的ldd可能会尝试通过尝试直接执行程序来获取依赖关系信息(这可能会导致执行“在程序的ELF解释器中定义”的任何代码,也许是程序本身的执行)。 因此,您不应该对不受信任的可执行文件使用ldd,因为这可能导致执行任意代码。 处理不受信任的可执行文件时更安全的替代方法是:objdump -p /path/to/program | grep NEEDED
命令支持的选项及含义
-u, –unused 打印未使用的直接依赖项。(自glibc 2.3.4。)
-d, –data[……]

READ MORE

「sln(8)」-

创建符号链接
命令语法格式
sln source dest
sln filelist
命令描述
程序sln创建符号链接。与ln(1)程序不同,它是静态链接的。 这意味着如果由于某种原因动态链接器不起作用,则可以使用sln来创建动态库的符号链接。
命令行有两种形式:

在第一种形式中,它创建dest,作为source的新符号链接。
在第二种形式中,参数filelist是一个以空格分隔的路径名对的列表,其效果就像对文件的每一行执行一次sln一样,并以两个路径名作为参数。

程序sln不支持命令行选项。
相关手册
ln(1), ld.so(8), ldconfig(8)
参考文献

man 8 sln, Version 6.0+20161126-1

更新日志

09/01/2018 创建文章[……]

READ MORE

「grep」-

Grep,该软件包包含了一些用于搜索文件的程序。
安装
从发行版的源中安装

# Kali GNU/Linux Rolling
apt-get install grep

使用源码编译安装 参考LFS/Grep-2.25: http://www.linuxfromscratch.org/lfs/view/7.10-systemd/chapter06/grep.html
安装的可执行程序
egrep 打印与ERE(扩展正则表达式)匹配的行。 SHELL脚本,对grep的简单包装。
fgrep 打印与固定字符串列表匹配的行。 SHELL脚本,对grep的简单包装。
grep 打印与BRE(基础正则表达式)匹配的行。
参考文献
LFS/Grep-2.25 apt-cache show grep
翻译进度
已完成:egreg fgrep rgrep 待完善:grep[……]

READ MORE

「egrep(1)」-

功能简述
打印匹配指定模式的行
常用命令
语法格式
命令描述
变体程序 egrep、fgrep、rgrep 分别等同于使用 -E,-F,-r 选项的 grep(1) 命令。
不推荐使用这些变体,但提供这些变体是为了向后兼容。
具体的使用方法参考 grep(1) 手册。
命令选项
附加说明
参考文献
man 1 grep, Version 2.27-2[……]

READ MORE

「fgrep(1)」-

功能简述
打印匹配指定模式的行
常用命令
语法格式
命令描述
变体程序 egrep、fgrep、rgrep 分别等同于使用 -E,-F,-r 选项的 grep(1) 命令。
不推荐使用这些变体,但提供这些变体是为了向后兼容。
具体的使用方法参考 grep(1) 手册。
命令选项
附加说明
参考文献
man 1 grep, Version 2.27-2[……]

READ MORE

「grep(1)」- 打印与指定模式匹配的行

常用命令
高亮特定字符串,但不过滤:

grep –color -E “^|somestring” “/path/to/file”

根据内容,来查找文件(查找是否包含某个字符串的文件)

# 查找包含字符串的文件
grep –files-with-matches “somestring” “/path/to/file”

# 查找不包含字符串的文件
grep –files-without-match “somestring” “/path/to/file”

打印匹配内容,而非整行内容:

# 如下命令仅能输出我们的搜索内容,但是意义不大
grep –only-matching “somestring” “/path/to/file”

# 打印匹配正则表达式的部分,这里使用 -P, –perl-regexp 选项
# 该命令能够输出 \w+ 的
grep –only-matching -P ‘(?<=foo)\w+(?=bar)’ “/path/to/file” # 这里使用正则 Lookaround 特性

打印首个匹配的内容,而非每个匹配行:

grep –max-count 1 “somestring” “/path/to/file”

# 通常,如下用法才有意义
grep –max-count 1 -P ‘(?<=strLeft)somestring(?=strRight)’ “/path/to/file”

语法格式

grep [OPTIONS] PATTERN [FILE…]

grep [OPTIONS] [-e PATTERN]… [-f FILE]… [FILE…]

命令描述
命名grep在输入文件FILE中搜索包含与给定PATTERN匹配的行。如果未指定文件,或者给出文件“-”,则grep从标准输入读取数据进行搜索。默认情况下,命令grep会打印匹配的行。
变体程序egrep、fgrep、rgrep分别等同于使用了-E,-F,-r选项的grep(1)命令。
命令选项
匹配选择
-E, –extended-regexp 将PATTERN解释为扩展正则表达式(ERE,见下文)。
-G, –basic-regexp 将PATTERN解释为基本正则表达式(BRE,见下文)。这是默认值。
-F, –fixed-strings 将PATTERN解释为固定字符串列表(而不是正则表达式),由换行符分隔,其中任何一个都要匹配。
-P, –perl-regexp 将PATTERN解释为Perl兼容的正则表达式(PCRE)。这是高[……]

READ MORE

「rgrep(1)」-

功能简述
打印匹配指定模式的行
常用命令
语法格式
命令描述
变体程序 egrep、fgrep、rgrep 分别等同于使用 -E,-F,-r 选项的 grep(1) 命令。
不推荐使用这些变体,但提供这些变体是为了向后兼容。
具体的使用方法参考 grep(1) 手册。
命令选项
附加说明
参考文献
man 1 grep, Version 2.27-2[……]

READ MORE

「gzip」

gunzip Decompresses gzipped files
gzexe Creates self-decompressing executable files
gzip Compresses the given files using Lempel-Ziv (LZ77) coding
uncompress Decompresses compressed files
zcat Decompresses the given gzipped files to standard output
zcmp Runs cmp on gzipped files
zdiff Runs diff on gzipped files
zegrep Runs egrep on gzipped files
zfgrep Runs fgrep on gzipped files
zforce Forces a .gz extension on all given files that are gzipped files, so that gzip will not compress them again; this can be useful when file names were truncated during a file transfer
zgrep Runs grep on gzipped files
zless Runs less on gzipped files
zmore Runs more on gzipped files
znew Re-compresses files from compress format to gzip format—.Z to .gz
参考文献[……]

READ MORE

「gunzip(1)」-

解压gzip文件
命令描述
参考gzip(1)手册。
参考文献

man 1 gzip, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「gzexe(1)」-

压缩可执行文件
命令语法格式
gzexe name …
命令描述
命令gzexe允许在适当的位置中压缩可执行文件。在运行时,它们会自动解压缩并执行(性能损失)。
例如,如果执行gzexe /usr/bin/gdb命令,将创建以下两个文件:

-rwxr-xr-x 1 root root 1026675 Jun 7 13:53 /usr/bin/gdb
-rwxr-xr-x 1 root root 2304524 May 30 13:02 /usr/bin/gdb~

其中,“/usr/bin/gdb~”是原始文件,“/usr/bin/gdb”是自解压缩的可执行文件。一旦确定“/usr/bin/gdb”可以正常工作,就可以删除“/usr/bin/gdb~”文件。
在磁盘空间非常小的系统上,此命令最有用。
命令支持的选项及含义
-d 解压给定的可执行文件,而不是压缩它们。
注意事项
如果压缩的可执行文件是Shell脚本,那可能会造成一些安全漏洞。特别是,压缩的可执行文件依赖于PATH环境变量来查找gzip和一些标准程序(basename,chmod,ln,mkdir,mktemp,rm,sleep,tail)。
在压缩的可执行文件时,命令gzexe尝试保留原始文件的属性。但在某些情况下,可能必须使用chmod或chown手动修复这些属性。
相关手册
gzip(1), znew(1), zmore(1), zcmp(1), zforce(1)
参考文献

man 1 gzexe, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「gzip(1)」-

压缩或扩展文件
命令语法格式
gzip [ -acdfhklLnNrtvV19 ] [–rsyncable] [-S suffix] [ name … ]
gunzip [ -acfhklLnNrtvV ] [-S suffix] [ name … ]
zcat [ -fhLV ] [ name … ]
命令描述
命令gzip使用Lempel-Ziv编码(LZ77)减小了命名文件的大小。只要有可能,每个文件都替换为扩展名为.gz的文件,同时保留原有的所有权模式、访问时间、修改时间。(对于VMS,默认扩展名为-gz;对于MSDOS,OS/2 FAT,Windows NT FAT和Atari,默认扩展名为z)如果未指定文件,或者文件名为“-”,则将对标准输入压缩,然后写入标准输出。命令gzip只会尝试压缩常规文件。特别是,它将忽略符号链接。
如果压缩文件名对于其文件系统来说太长,gzip会截断它。Gzip尝试仅截断文件名中超过3个字符的“部分”(“部分”由点分隔。)。如果名称仅由小部分组成,则最长的部分将被截断。例如,如果文件名限制为14个字符,则gzip.msdos.exe将压缩为gzi.msd.exe.gz。在没有文件名长度限制的系统上,名称不会被截断。
默认情况下,gzip将原始文件名和时间戳保留在压缩文件中。使用-N选项解压缩文件时使用这些。当压缩文件名被截断或文件传输后未保留时间戳时,这很有用。
可以使用gzip -d或gunzip或zcat将压缩文件恢复为原始格式。如果保存在压缩文件中的原始名称不适合其文件系统,则会从原始名称构造一个新名称以使其合法。
gunzip在其命令行中获取文件列表,并替换名称以.gz,-gz,.z,-z,_z(忽略大小写)结尾的每个文件,并以没有原始扩展名的未压缩文件的正确幻数开头。gunzip还将特殊扩展名.tgz和.taz分别识别为.tar.gz和.tar.Z的缩写。压缩时,gzip会在必要时使用.tgz扩展名,而不是截断扩展名为.tar的文件。
gunzip目前可以解压缩由gzip,zip,compress,compress -H,pack创建的文件。输入格式的检测是自动的。使用前两种格式时,gunzip会检查32位CRC。对于pack和gunzip进行检查未压缩的长度。标准压缩格式的设计不允许进行一致性检查。然而,gunzip有时能够检测到错误的.Z文件。如果在解压缩.Z文件时出错,请不要认为.Z文件是正确的,因为标准的uncompress不会警告错误。这通常意味着标准的uncompress不检查其输入,并直接生成垃圾输出。SCO compress -H格式(lzh压缩方法)不包括CRC,但也允许一些一致性检查。
z[……]

READ MORE

「uncompress(1)」-

解压gzip文件
命令描述
参考gzip(1)手册。
在Debian中,该命令的手册内容与gzip完全相同。
参考文献

man 1 gzip, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「zcat(1)」-

解压gzip文件并将数据写入标准输出
命令描述
参考gzip(1)手册。
参考文献

man 1 gzip, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「zcmp(1)」-

比较压缩文件
命令描述
参考zdiff(1)手册。
参考文献

man 1 zdiff, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「zdiff(1)」-

比较压缩文件
命令语法格式
zcmp [ cmp_options ] file1 [ file2 ]
zdiff [ diff_options ] file1 [ file2 ]
命令描述
命令zcmp和zdiff用于对使用gzip压缩的文件调用cmp或diff命令。
指定的所有选项都直接传递给cmp或diff命令。
如果仅指定了file1,则将其与file1.gz的未压缩内容进行比较。如果指定了两个文件,则将其内容(必要时解压)提供给cmp或diff命令。输入文件未被修改。
注意事项
在cmp或diff程序返回的消息中,可能指向了例如“-”形式的文件名,而不是命令行指定的文件名。
退出状态
保留cmp或diff的退出状态。
相关手册
cmp(1), diff(1), zmore(1), zgrep(1), znew(1), zforce(1), gzip(1), gzexe(1)
参考文献

man 1 zdiff, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「zegrep(1)」-

为正则表达式搜索可能的压缩文件
命令描述
参考zgrep(1)命令。
参考文献

man 1 zgrep, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「zfgrep(1)」-

为正则表达式搜索可能的压缩文件
命令描述
参考zgrep(1)命令。
参考文献

man 1 zgrep, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE

「zforce(1)」-

对所有的gzip文件使用”.gz“扩展名
命令语法格式
zforce [ name … ]
命令描述
命令zforce强制在所有gzip文件上使用.gz扩展名,这样gzip就不会压缩它们两次。这对于在文件传输后截断名称的文件非常有用。
在对文件名具有14个字符限制的系统上,原始名称将被截断,以便为.gz后缀名腾出空间。 例如,12345678901234重命名为12345678901.gz。文件名如foo.tgz保持不变。
相关手册
gzip(1), znew(1), zmore(1), zgrep(1), zdiff(1), gzexe(1)
参考文献

man 1 zforce, Version 1.6-5+b1

更新日志

08/13/2018 创建文章[……]

READ MORE