Relative Content

LINUX MANUAL PAGES

category

「mkfifo(1)」-

创建FIFO(创建命名管道)
命令语法格式
mkfifo [OPTION]… NAME…
命令描述
FIFO是一种特殊的文件类型,允许独立的进程进行通信。一个进程打开FIFO文件进行写入,另一个进程进行读取,之后数据可以像通常的匿名管道一样在Shell或其他地方流动。
命令支持的选项及含义
需要提供给长选项的参数也必须提供给相应的短选项。
-m, –mode=MODE 将创建的FIFO的模式位设置为MODE,MODE的格式与chmod的格式是相同的,并且权限的出发点为’a=rw’(允许每个人读写)。MODE应该只指定文件权限位。参阅文件权限。
-Z, –context[=CTX] 如果没有指定的上下文CTX,请根据目标文件的系统默认类型调整SELinux安全上下文,类似于restorecon命令。
具有指定的特定上下文CTX的长选项将仅为新创建的文件设置上下文。使用指定的上下文,但如果同时禁用SELinux和SMACK,则会发出警告。
–help 显示帮助并退出。
–version 显示版本信息。
退出状态
退出状态为零表示成功,非零值表示失败。
相关手册
mkfifo(3)
查看在线手册:http://www.gnu.org/software/coreutils/mkfifo
查看info手册:info ‘(coreutils) mkfifo invocation’
参考文献

man 1 mkfifo, version GNU coreutils 8.28

更新日志

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

READ MORE

「mknod(1)」-

创建字符或者块特殊文件
命令语法格式
mknod [OPTION]… NAME TYPE [MAJOR MINOR]
命令描述
命令mknod使用指定的名称name创建FIFO、字符特殊文件、块特殊文件。
与上面的“特殊文件类型”不同,“特殊文件”是一个术语,在Unix上具有技术含义:可以生成或接收数据的东西。通常它对应于物理硬件,例如打印机、磁盘。这些文件通常在系统配置时创建。mknod命令用于创建此类型的文件。这种设备可以一次读取一个字符,或一次读取一个“块”(多个字符),因此我们说有“块特殊文件”和“字符特殊文件”。
命令行中参数NAME后面的参数TYPE指定了要创建的文件的类型:

“p”:用于创建FIFO文件;
“b”:用于块特殊文件;
“c”:用于字符特殊文件;

在创建块特殊文件和字符特殊文件时,必须在文件类型TYPE之后给出主设备号MAJOR和次设备号MINOR。如果主次设备编号以’0x’或’0X’开始,则被解释为十六进制;如果它以’0’开始,为八进制;否则,被解释为十进制。
命令支持的选项及含义
需要提供给长选项的参数也必须提供给相应的短选项。
–help 显示帮助并退出。
–version 显示版本信息。
-m, –mode=MODE 将创建的FIFO的模式位设置为MODE,MODE的格式与chmod的格式是相同的,并且权限的出发点为’a=rw’(允许每个人读写)。MODE应该只指定文件权限位。参阅文件权限。
-Z, –context[=CTX] 如果没有指定的上下文CTX,请根据目标文件的系统默认类型调整SELinux安全上下文,类似于restorecon命令。
具有指定的特定上下文CTX的长选项将仅为新创建的文件设置上下文。使用指定的上下文,但如果同时禁用SELinux和SMACK,则会发出警告。
注意事项
由于Shell别名和内置mknod函数的存在,当直接在命令行中执行mknoe命令时,执行的可能不是本文描述的mknod命令。可以通过env调用它(即env mknod …),以此避免Shell的干扰,或者使用绝对路径来执行env命令。
相关手册
mknod(2)
查看在线手册:http://www.gnu.org/software/coreutils/mknod
查看info手册:info ‘(coreutils) mknod invocation’
参考文献

man 1 mknod, version GNU coreutils 8.28

更新日志

07/01/2018 创建[……]

READ MORE

「mktemp(1)」-

创建临时文件或者目录
命令语法格式
mktemp [OPTION]… [TEMPLATE]
命令描述
命令mktemp用于创建临时文件或者目录,然后打印出所创建的临时文件或目录的名字。由于mktemp既能创建文件,也可以创建目录,但是为了表述方便,下面我们统一使用”文件”来代指文件或目录。
文件的默认权限为u+rw;目录的默认权限为u+rwx。如果umask对权限的限制更为严格,则使用umask的权限设置。
命令支持的选项及含义
-d, –directory 创建一个临时目录。默认情况下,创建文件。
–suffix=SUFF 将SUFF追加到TEMPLATE后面;SUFF中不能包含斜线。如果TEMPLATE没有以X结尾,则该选项是隐含的。
-p DIR, –tmpdir[=DIR] 参数TEMPLATE相对于目录DIR。
如果没有指定DIR(只能在使用长选项–tmpdir时)或者是空字符串,则使用环境变量TMPDIR的值(如果可用),否则使用’/tmp’。如果指定了该选项,TEMPLATE不能是绝对路径名。然而TEMPLATE中仍然可以包含斜线,但是中间目录必须已经存在。
-t 将TEMPLATE视为相对于TMPDIR值的单个文件(如果可用),或者相对于由-p指定的目录,否则指定为’/tmp’。TEMPLATE不能包含斜杠。
此选项已弃用;使用-p且不使用-t可以提供更好的默认值(通过支持TMPDIR的命令行)和更多的灵活性(通过允许中间目录)。
-u, –dry-run 不创建任何文件或者目录,只是打印一个名字。
-q, –quiet 文件或者目录创建失败时,并不打印任何消息。
其他选项
–help 显示帮助并退出。
–version 显示版本信息。
命令行参数
TEMPLATE 临时文件的模板。其值的最后部分中至少要包含3个连续的X,用于被替换成随机字符。
如果没有指定TEMPLATE参数,则默认值为tmp.XXXXXXXXXX,并且选项–tmpdir是隐含的。
使用示例
在当前目录中创建临时文件:

# mktemp
/tmp/tmp.zTQljffojd
# mktemp file.XXXX
file.H47c

使用指定的后缀来创建文件:

# mktemp –suffix=.txt file-XXXX
file-H08W.txt
# mktemp file-XXXX-XXXX.txt
file-XXXX-eI9L.txt

如上示例。
相关手册
mkste[……]

READ MORE

「mv(1)」-

pwd移动或者重命名文件
命令语法格式
mv [OPTION]… [-T] SOURCE DEST mv [OPTION]… SOURCE… DIRECTORY mv [OPTION]… -t DIRECTORY SOURCE…
命令描述
如果给出两个文件名,则mv将第一个文件移动到第二个文件。如果给出了–target-directory(-t)选项,则mv将每个SOURCE移动到目录DEST中,SOURCE的名字保持不变,或者如果最后是一个目录,并且没有给出–no-target-directory(-T)选项则失败。
mv可以将任何类型的文件从一个文件系统移动到另一个文件系统。在fileutils 4.0之前,mv只能在文件系统之间移动常规文件。例如,现在mv可以将包括特殊设备文件的整个目录层次结构从一个分区移动到另一个分区。它首先复制文件(复制使用的是一些与cp -a用来复制目录和文件相同代码),然后(假设复制成功)它将删除原始文件。如果复制失败,则将复制到目标分区的部分删除。如果要将三个目录从一个分区复制到另一个分区,并且第一个目录的副本成功,但第二个目录的副本不成功,则第一个目录将保留在目标分区上,第二个和第三个目录将保留在原始分区上。
mv会试图复制扩展属性(xattr),其中可能包括SELinux上下文,ACL,Capability。一旦发生故障,会产生’Operation not supported’警告。
如果目标文件存在但通常不可写,标准输入是终端,并且未给出-f或–force选项,则mv会提示用户是否替换该文件。(你可能拥有该文件,或对其目录拥有写入权限。)如果用户的响应不是肯定的,则会跳过该文件。
警告:当SOURCE可能是指向目录的符号链接时,在SOURCE名中避免使用尾部斜线。否则,mv可能会做一些非常令人惊讶的事情,因为它的行为取决于底层的rename系统调用。在具有现代Linux内核的系统上,它会因errno=ENOTDIR而失败。但是,在其他系统上(至少FreeBSD 6.1和Solaris 10),它不会重命名符号链接,而是重命名符号链接引用的目录。请参阅尾部斜杠。
注意:mv只会替换目标中的空目录。相互冲突的填充目录会被跳过,并产生诊断信息。
命令支持的选项及含义
-b, –backup[=method] 备份每个可能被覆盖或删除的文件。参阅备份选项。
-f, –force 删除DEST之前不要提示用户。如果指定了多个-i,-f,-n选项,则只有最后一个生效。
-i, –interactive 提示是否覆盖每个现有DEST,而不考虑其权限。如果用户的响应不是肯定的,则跳过该文件。如果指定了多个-i,-[……]

READ MORE

「nice(1)」-

使用指定的调度优先级运行程序
命令语法格式
nice [OPTION] [COMMAND [ARG]…]
命令描述
如果没有给出参数,那么nice会打印出当前的niceness值。否则,命令nice根据调整的niceness值来运行命令COMMAND。默认情况下,它的niceness增加10。
niceness值至少从-20开始(具有高优先级的进程会获得更多资源,因此会减慢其他进程)最高到19(具有较低优先级的进程,它自身运行缓慢,但对其他运行进程的速度影响较小)。某些系统可能具有更广泛的niceness范围;相反,其他系统可能会强制实施更严格的限制。如果尝试将niceness设置为支持范围之外的数值,则会被视为尝试使用系统支持的最小值或最大值。
不要把niceness与调度优先级混淆,调度优先级允许应用程序确定调度线程的运行顺序。与优先级不同,niceness是对调度程序的建议,调度程序可以自由忽略。此外,作为一个术语,POSIX根据一个nice值定义了nice的行为,这是一个niceness和最小niceness之间的非负差异。虽然nice符合POSIX,但它的文档和诊断使用术语“niceness”来与历史实践兼容。
命令支持的选项及含义
需要提供给长选项的参数也必须提供给相应的短选项。
-n adjustment, –adjustment=adjustment 在命令的niceness中添加由adjustment指定的值,而不是默认的10。如果adjustment是负数值的,并且你缺少适当的权限,则命令nice会发出警告,此外就像指定adjustment为零一样。
为了兼容性,命令nice还支持过时的选项语法-adjustment,但是新脚本中应该使用新的–adjustment(-n)选项调整。
–help 显示帮助并退出。
–version 显示版本信息。
注意事项
参数COMMAND不能是特殊的内置程序(请参阅特殊内置实用程序)。
由于Shell别名和内置的nice函数,在脚本中直接使用nice可能会获得与此处描述的功能不同的功能。通过env调用它(即env nice)以避免Shell的干扰。或者通过绝对路径进行调用。
注意,要更改现有进程的niceness值,需要使用renice(1)命令。
命令nice仅安装在具有POSIX函数setpriority系统上,因此可移植脚本不应依赖于非POSIX平台中nice的存在。
退出状态
0 没有指定niceness值,并打印当前的niceness值。
125 命令nice自身发生错误。
126 找到命令COMMAND,但是无法调用。
127[……]

READ MORE

「nl(1)」-

为文件添加行号
命令语法格式
nl [OPTION]… [FILE]…
命令描述
nl将输入的文件数据分解为(逻辑)页面;默认情况下,每个逻辑页面的行号从1开始。nl会将所有输入文件视为单个文件,所以行号也是连续的;它不会重置文件之间的行号或逻辑页面。
一个逻辑页面由三部分组成:标题,正文,页脚。任何部分都可以是空的。每个部分都可以使用不同于其他部分的风格编号。
在输入文件中,逻辑页中部分的开始由下面的字符序列进行标识:

‘\:\:\:’:页眉部分的开始;
‘\:\:’:正文部分的开始;
‘\:’:正文部分的开始;

这些字符串中的’\’和’:’两个字符可以通过选项进行更改(参见下文-d选项),但是每个字符串的模式和长度不能更改。
部分的分隔符会在输出时使用空行替换。输入文件中第一个分隔符字符串之前的任何文本都被认为是正文的一部分,因此nl会将不包含分隔符的文件视为单个正文部分。
默认将处理后的文件结果写入到标准输出中,输出行的前面会附带行号。如果未指定文件,或者文件为-,则从标准输入中读取内容。
命令支持的选项以含义
长选项的必填参数,在短选项中也必须提供。
-b, –body-numbering=STYLE 设置每个逻辑页中正文部分的行号风格。如果一个行没有设置行号,则当前的行号不会增加,但是行号分隔字符(参考-s选项)依会添加到行前。
STYLE的值如下:

‘a’:给所有的行添加行号。
‘t’:只为非空行添加行号。该风格对于正文是默认的。
‘n’:不给行添加行号。该风格对于页眉和页脚是默认的。
‘pBRE’:只给那些匹配基本正则表达式BRE的行。请参阅GNU实现的Grep手册中的正则表达式。

-d, –section-delimiter=CC 将部分的分隔符字符设置为CC;默认值是’\:’。如果只给出一个C,则第二个保持为’:’。(请记住,需要使用引号或额外的反斜杠来转义’\’或其他元字符,以避免SHELL扩展这些字符。)
-f, –footer-numbering=STYLE 类似于–body-numbering选项。
-h, –header-numbering=STYLE 类似于–body-numbering选项。
-i, –line-increment=NUMBER 设置行号的步长,emmmm。。。。,增长值,默认为1,即下一个行号值是上一个行号值加1。如果NUMBER为2,那么下一个行号值是上一个行号值加2。
-l, –join-blank-lines=NUMBER 将多个连续的空白行视为一个[……]

READ MORE

「nohup(1)」-

执行命令,并忽略HUP信号
命令语法格式
nohup COMMAND [ARG]…
nohup OPTION
命令描述
执行COMMAND,并忽略HUP信号(SIGHUP,1)。因此,在终端退出后该命令COMMAND可以继续在后台运行。
如果标准输入是终端,请重定向终端,以便终端会话不会错误地将终端用于命令。使替代文件描述符不可读,可以将错误地从标准输入读取的数据命令可以报告出错误。这个重定向是一个GNU扩展;如果要移植到非GNU主机中,程序中可以使用’nohup command [arg] … 0>/dev/null’来代替。
如果标准输出是终端,则命令的标准输出将追加到当前目录下的nohup.out文件;如果当前目录下不能写入,则将其追加到文件$HOME/nohup.out;如果前面的两个都无法写入,则不运行该命令。无论当前的umask设置如何,由nohup创建的nohup.out文件都只能由所属用户进行读写。
如果标准错误是终端,它通常被重定向到与标准输出相同的文件描述符。但是,如果标准输出关闭,则标准错误终端输出将被追加到nohup.out文件,如上所述。
要将命令的输出捕获到nohup.out以外的文件,可以输出重定向。例如,要捕获make的输出:

# nohup make > make.log

命令nohup不会自动将它在后台运行的命令放入;你必须明确地做到这一点,可以通过使用’&’结束命令行。另外,nohup不会改变命令的优先级;这需要使用nice,例如’nohup nice command’。
命令支持的选项及含义
–help 显示帮助并退出。
–version 显示版本信息。
注意事项
你所使用的Shell中可能有内建的nohup指令,直接执行nohup可能会不是本文描述的版本。可以使用/usr/bin/nohup手动指定使用非内建的nohup,或者使用env nohup…来执行。有关内建的nohup指令所支持的选项的详细信息,请参阅你所使用的Shell的文档。
命令参数COMMAND不能是内建的命令,参考「内置的特殊实用程序」一文中的说明。
如果你的命令使用了‘&’符号直接在后台运行,那并没有必要使用nohup命令。通常使用nohup的情景是:我们的命令运行在前台,而由于终端的异常退出(或远程连接断开)会导致命令的退出,这时候你应该使用nohup,即使终端退出,命令也不会退出。
退出状态
125 如果nohup自身失败,并且没有设置POSIXLY_CORRECT环境变量。如果设置了POSIXLY_CORRECT环境变量,则nohup的内部故[……]

READ MORE

「nproc(1)」-

打印可用的处理器单元数
命令语法格式
nproc [OPTION]…
命令描述
打印当前进程可用的处理单元数,可能少于在线处理器数。如果无法访问此信息,则打印已安装的处理器数量。如果设置了OMP_NUM_THREADS或OMP_THREAD_LIMIT环境变量,则它们将分别确定最小和最大返回值。结果保证大于零。
命令支持的选项及含义
–all 打印系统上已安装处理器的数量,这可能大于在线数量或当前进程可用的数量。
在这种情况下,不支持OMP_NUM_THREADS或OMP_THREAD_LIMIT环境变量。
–ignore=N 如果可能,请排除此数量N的处理单元。
–help 显示帮助并退出。
–version 显示版本信息。
退出状态
退出状态为零表示成功,非零值表示失败。
相关手册
查看在线手册:http://www.gnu.org/software/coreutils/nproc
查看info手册:info ‘(coreutils) nproc invocation’
参考文献

man 1 nproc, version GNU coreutils 8.28

更新日志

07/02/2018 创建文章[……]

READ MORE

「numfmt(1)」-

数字格式转化。将数字转为易读的格式,或者从易读的格式进行转化
命令语法格式
numfmt [OPTION]… [NUMBER]…
命令描述
重新格式化数字NUMBER。如果没有指定NUMBER,则从标准输入中读取数字。
命令支持的选项及含义
长选项的必填参数,在短选项中也必须提供。
–debug 将可能的错误用法的警告消息打印到标准错误。
-d, –delimiter=X 使用字符X作为输入字段分隔符(默认值:空格)。注意:使用非默认分隔符会关闭自动填充。
–field=FIELDS 转换输入字段FIELDS中的数字。默认值1,即默认只转换第一列。FIELDS支持cut(1)风格的字段范围,参见「FIELD支持cut(1)风格的字段范围」部分。
–format=FORMAT 使用printf风格的浮点FORMAT字符串。FORMAT必须包含一个’%f’指令,以及可选的`’`、`-`、’0’、宽度、精度修饰符。`’`修饰符(%’f) 将启用–grouping;’-‘修饰符将启用左对齐–padding;宽度修饰符将启用右对齐–padding;’0’宽度修饰符(不带’-‘修饰符)将在数字上生成前导零,直到指定的宽度。像’%.1f’这样的精度规格将会覆盖由–to选项自动缩放而从输入数据集中确定的精度。
–from=UNIT 根据单位UNIT来缩放输入的数字。见下面的单位。默认值不是缩放,为none,这意味着如果有后缀(例如’M’,’G’)会触发错误。参见「单位选项」部分。
–from-unit=N 指出输入数字的单位大小。默认为1。例如,如果输入数字“10”代表10个512字节的单元,则使用’–from-unit=512’。
–grouping 根据当前语言环境的分组规则(例如,千位分隔符字符,通常’.’(点)或’,’逗号)将输出数字中的数字分组。该选项在’POSIX/C’语言环境中不起作用。
–header[=N] 打印第N行(默认值:1),不进行任何转换。
–invalid=MODE 对输入错误的默认操作是立即用状态码2退出,–invalid=’abort’为该默认模式。在“fail”模式下,为每个转换错误输出一个警告,然后以状态2退出。在’warn’模式下,即使在存在转换错误的情况下,退出状态也始终为0,模式为’ignore’不打印任何诊断信息。
–padding=N 通过向输出数字添加空格的方式,将输出数字填充到N个字符。如果N是正数,则数字将右对齐。如果N是负数,则数字将左对齐。默认情况下,数字会根据输入行的宽度自动对齐(仅适用于默认分隔符)。
–round=METHOD 在转换数字表示时,按[……]

READ MORE

「od(1)」-

功能简述
以八进制或者其他格式打印文件
常用命令
显示 hexdump(1) 格式的输出:

od -A x -t x1z -v “/path/to/file”

命令 od 的默认输出格式:

od -A o -t oS -w16 “/path/to/file”

语法格式

od [OPTION]… [FILE]…
od [-abcdfilosx]… [FILE] [[+]OFFSET[.][b]]
od –traditional [OPTION]… [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]

命令描述
od会生成一个文件FILE的清楚表示,默认是八进制。如果没有指定FILE或者FILE为-,则从标准输入中读取文件。
每个输出行由输入文件中的偏移量组成,然后紧跟偏移量的是文件中的数据组。默认情况下,od以八进制打印偏移量,并且每组文件数据都是一个C语言的short int类型的输入值,并打印为单个八进制数字。
偏移量OFFSET指定了在格式化输出之前要跳过多少个输入字节。默认情况下,OFFSET被解释为一个八进制数字,但OFFSET后面可选的结尾小数点可以使它被解释为十进制数值。如果没有指定小数点,并且OFFSET以’0x’或’0X’开始,则它会被解释为十六进制数字。如果OFFSET存在尾随的’b’,跳过的字节数将被偏移量乘以512。
对于命令既可以是第一种形式又可以是第二种形式(比如od foo 10,你说10是文件还是个偏移量?)的情况:如果最后一个操作数以’+’开头或一个数字(如果有两个操作数),则假定是第二种形式,即最后一个操作数是便宜量。例如,在’od foo 10’和’od +10’中,’10’是偏移量,而在’od 10’中’10’是文件名。
命令选项
-A, –address-radix=RADIX 选择输出结果中文件偏移列的进制。参数RADIX可以是以下之一:

‘d’ 十进制;
‘o’ 八进制;
‘x’ 十六进制;
‘n’ 在输出结果中不打印进制;

默认为八进制。
–endian={big|little} 对输入字节进行重新排序,以不同的字节顺序处理输入数据,或者提供独立于当前系统的排序规则的一致输出。
交换是根据指定的类型–type的大小和–endian的顺序执行的,可以是“little”或“big”。
-j, –skip-bytes=BYTES 在格式化输出之前跳过从输入字节中跳过BYTES字节。如果字节BYTES以’0x’或’0X’开头,则视为十六进制数[……]

READ MORE

「paste(1)」-

合并多个文件中的行
命令语法格式
paste [OPTION]… [FILE]…
命令描述
paste向标准输出中写入行,每一输出的行依次对应每个给定文件的行,由TAB字符分隔。如果没有指定FILE或者FILE为’-‘,则从标准输入中读取文件内容。
如果你不理解这个命令的用法,可以先查看「使用示例」部分。
命令支持的选项及含义
需要提供给长选项的参数也需要提供给对应的短选项。
-d, –delimiters=LIST 连续使用LIST中的字符,而不是TAB,来分隔要被合并的行。当LIST中的字符耗尽时,则再次从LIST的第一个字符重新开始。
-s, –serial 一次粘贴一个文件的行,而不是每个文件的一行。
-z, –zero-terminated 使用零字节(ASCII NUL)而不是换行符(ASCII LF)来分隔每个项。即,将输入视为由ASCII NUL分隔的项目,并用ASCII NUL终止输出项目。
这个选项可以和’perl -0’或者’find -print0’和’xargs -0’等等命令结合使用,它们可以可靠地处理任意文件名,甚至包含空格或其他特殊字符。
–help 显示帮助信息并退出。
–version 显示版本信息。
使用示例
下面的这个示例会解释paste命令的作用。我们有如下文件:

# cat num2
1
2

# cat let3
a
b
c

在执行paste num2 let3 num2后,输出如下:
1 a 1
2 b 2

c

从混合标准输入与输入行,执行paste – let3 – < num2命令,输出如下:
1 a 2

b
c

连续添加一个空格:

# seq 4 | paste -d ‘ ‘ – –
1 2
3 4

选项-s的使用示例:

# paste -s num2 let3
1 2
a b c

选项-d的使用示例:

# paste -d ‘%_’ num2 let3 num2
1%a_1
2%b_2
%c_

输出如上所示。
相关手册
查看在线手册:http://www.gnu.org/software/coreutils/paste
查看info手册:info ‘(coreutils) paste invocation’
参考文献

man 1 pas[……]

READ MORE

「pathchk(1)」-

检查文件名是否有效或者是否具有可移植性
命令语法格式
pathchk [OPTION]… NAME…
命令描述
对于每一个路径NAME,如果下面条件为真,则pathchk打印一个错误消息:

在NAME中的一个现有目录没有搜索(执行)权限;
NAME的长度大于操作系统支持的最大值;
NAME的一个组件的长度比其文件系统的最大长度长;

注意,文件名NAME不存在并不是一个错误。
命令支持的选项及含义
-p 如果下面这些条件中的任何一个条件成立,则不执行基于底层文件系统的检查,而是打印错误消息:

文件名为空。
文件名包含POSIX可抑制文件名字符集外的字符,即「ASCII字母」、「数字」、「.」、「_」、「-」、「/」;
文件名或其组件之一的长度超过了POSIX可移植性的最低限制。

-P 如果文件名为空,或者包含以’-‘开头的组件,则打印一条错误消息。
–portability 如果文件名不可移植到所有POSIX主机,则打印错误消息。该选项等同于’-p -P’。
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
相关手册
完整在线文档:http://www.gnu.org/software/coreutils/pathchk
查看info手册:info ‘(coreutils) pathchk invocation’
参考文献

man 1 pathchk, version GNU coreutils 8.26

更新日志

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

READ MORE

「pinky(1)」-

用户信息查看程序。是finger(1)命令的轻量级版本
命令语法格式
pinky [OPTION]… [USER]…
命令描述
pinky是finger(1)命令的轻量级版本;用于打印用户的信息。utmp文件为/var/run/utmp。
命令支持的选项及含义
长格式的输出
-l 为指定用户USER产生一个长格式的输出。输出中包含了当前登录名、主目录等信息。
-b 在长输出(使用了-l选项)中,忽略用户的家目录和当前使用的SHELL。
-h 在长输出(使用了-l选项)中,忽略用户的项目文件。
-p 在长输出(使用了-l选项)中,忽略用户的计划文件。
短格式的输出
-s 进行简单的输出,这是默认的。
-f 在输出中忽略列的标题行。
-w 在输出中忽略用户名(Name)。
-i 在输出中忽略用户名(Name)、远程主机(Where)。
-q 在输出中忽略用户名(Name)、远程主机(Where)、idle时间(Idle)。
帮助选项
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
相关手册
完整在线文档:http://www.gnu.org/software/coreutils/pinky
查看info手册:info ‘(coreutils) pinky invocation’
参考文献

man 1 pinky, version GNU coreutils 8.26

更新日志

05/29/2018 创建文章[……]

READ MORE

「pr(1)」-

转换文件的内容,用于排版打印
命令语法格式
pr [OPTION]… [FILE]…
命令描述
命令pr将参数FILE的内容写入标准输出,它会对输出数据进行分页,并可以以多列格式输出、可以合并所有文件、并行打印、每列一个。
默认情况下,每页会打印一个高度为5行的标题:两个空白行;包含日期、文件名、页数;还有两个额外的空白行。并且还会打印一个高度为5行的空白行页脚。默认的页面高度(page_length)是66行,因此默认的文本行的高度为56行。标题中的文本行采用“date string page”的形式,并会在字符串周围插入空格,以便该文本行的宽度为整个页面的宽度(page_width)。这里,date是日期(有关详细信息,请参阅-D或–date-format选项);string是居中的标题字符串;page标识页码。LC_MESSAGES语言环境类别影响page的拼写;在默认的C语言环境中,它形如“Page number”,其中number是十进制页码。
输入中的换页符(Form Feed)会导致输出中的页面中断。多个换页符号会导致生成空白页。
列宽度相等,由可选字符串分隔(默认为“空格”)。对于多列输出,除非使用-J选项,否则始终将行截断为page_width(默认为72)。对于单列输出,默认情况下不会发生行截断,在这种情况下,可以使用-W选项截断行。
命令支持的选项及含义
需要提供给长选项的参数也必须提供对对应的短选项。
+FIRST_PAGE[:LAST_PAGE], –pages=FIRST_PAGE[:LAST_PAGE] 打印第FIRST_PAGE页到第LAST_PAGE页。比如,pr +2:4,打印第2页到第4页。如果没有指定:LAST_PAGE,则打印到文件结束。对于输入页面中存在的换页符号,会在输出页中产生对应数量的新页面。进行页面统计时,使用和不使用:FIRST_PAGE是相同的。默认情况下,计数从输入文件的第一页开始(不是第一页打印)。可以通过-N选项更改行编号。
-COLUMN, –columns=COLUMN 对于每个单个文件FILE,将每一页分为COLUMN列,然后垂直打印列。COLUMN的默认值为1。emmmmm….这个选项什么意思呢?报纸和杂志的那种排版你知道吧,一列一列的向下读的那种排版,那种排版不像我们平时看的书籍,使用这选项就可以生成那种排版。
因为默认的页面总宽度是固定的,所以列宽会随着COLUMN的增加而自动减小;除非使用-W/-w选项来增加页面宽度。因为显示COLUMN列,如果页面宽度不足,该选项很可能会导致一些行被截断,使得无法显示完整。每个页面中列的行数是均衡的。选项-e和-i可以作用于多个文本列输出,与该选项[……]

READ MORE

「printenv(1)」-

打印全部或部分的环境变量
命令行语法格式
printenv [OPTION]… [VARIABLE]…
命令描述
如果没有指定参数名,则printenv会打印所有环境变量值。否则,只打印命令行中指定的环境变量。如果命令行中指定的变量不存在,则不会打印。
打印指定的全局变量VARIABLE。如果没有指定VARIABLE,则打印全部的VARIABLE,格式为NAME=VALUE。
命令行选项
-0, –null 默认情况下,每行显示一个条目,行尾为换行符(ASCII LF)。使用该选项后,每个条目的结尾使用零字节(ASCII NUL)。
该选项使printenv生成其他程序能够解析的输出,比如xargs -0。尤其是在输出条目中包含嵌入换行符之类的特殊字符时非常有用。
–help 显示帮助信息。
–version 显示版本信息并退出。
注意事项
注意:SHELL中可能包含了自己版本的printenv,通常会覆盖这里表述的版本,有关内容可以查看SHELL的手册。可以使用env printenv命令来调用本文所说的printenv指令。
退出状态
0 命令行指定的变量都找到了。
1 至少有一个变量没有找到。
2 发生了写错误。
相关手册
查看在线手册:http://www.gnu.org/software/coreutils/printenv
查看info手册:info ‘(coreutils) printenv invocation’
参考文献

man 1 printenv, version GNU coreutils 8.26

更新日志

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

READ MORE

「printf(1)」- 格式化数据并打印

常用命令
格式化数字输出:

命令语法格式

printf FORMAT [ARGUMENT]…

printf OPTION

命令描述
命令printf打印以参数FORMAT指定的格式打印ARGUMENT,解析参数FORMAT中的’%’指令和’\’转义来格式化数字和字符串参数,其方式与C语言中’printf’函数大致相似。
有关详细信息,请参阅“GNU C库参考手册”中的「printf格式化指令」,关于二者之间的差异参考下面的「与printf(3)函数之间的差异」部分。
命令支持的选项及含义
–help 显示帮助信息。
–version 显示版本信息并退出。
转义序列
请参阅“GNU C库参考手册”中的printf格式化指令。
与printf(3)函数之间的差异
必要时,命令printf会重用FORMAT参数来转换所有给定的参数ARGUMENT。例如,命令printf ‘%s#’ a b输出’a#b#’这与printf ‘%s#%s#’ a b的输出相同。
缺少的参数ARGMENT被视为空字符串()或零(0),这取决于上下文是字符串还是数字。例如,命令printf %sx%d”打印的结果为’x0’。
无意义的转义符,比如’\c’,会导致命令printf终止解析,不再产生输出。例如,命令printf ‘A%sC\cD%sF’ B E输出’ABC’。
十六进制转义序列’\xhh’最多可以有两位,而不同于C语言中可以有无限数量的数字。例如,命令printf ‘\x07e’打印两个字节,而C语言中printf (“\x07e”)打印只有一个字节。
指令“%b”会将参数ARGUMENT中的转义序列进行特殊处理,对比命令printf ‘%s’ “\n1″与命令printf ‘%s’ “\n1″的输出。所不同的是八进制转义的形式为“\0ooo”其中ooo是0至3个八进制数字。如果’\ooo’是9位值(超过255),则忽略第9位。如果还给出了精度,则它限制从转换后的字符串打印的字节数。
指令’%q’会以”Shell可重用”的格式打印其参数字符串,”Shell可重用”指的是可以被大多数Shell重用作输入。使用POSIX建议的$语法转义不可打印的字符,并适当引用Shell元字符。这是类似于ls –quoting=shell-escape”的输出。
数字类型的参数必须是简单的C常量,可能带有前导’+’或’-‘。例如,printf %.4d -3输出’-0003’。
如果一个数字类型的参数的前导字符是引号(单引号或双引号),然后输出为紧随引号字符的值。如果设置了POSIXLY_CORRECT环境变量,[……]

READ MORE

「ptx(1)」-

生成文件的置换索引
命令语法格式
ptx [OPTION]… [INPUT]… (without -G) ptx -G [OPTION]… [INPUT [OUTPUT]]
命令描述
命令ptx读取文本文件,并生成置换索引,每个关键字包含其上下文中。关于什么是置换索引参考「什么是置换索引(permuted index)?」部分中的介绍。
请注意,对于任何作为选项值的文件参数,或作为输入文本文件,可以使用单个短划线(“-”),在这种情况下,表示使用标准输入。但是,每个程序调用多次使用此约定是没有意义的。
以下各节介绍了各个选项。
命令支持的选项及含义
常规选项:影响一般程序行为的选项
–help 显示帮助信息。
–version 显示版本信息并退出。
-G, –traditional 选项-G(–traditional)禁用所有GNU扩展功能,并使用传统模式,因此会引入一些限制,并更改程序的几个默认选项值。如果未指定-G选项,则始终启用GNU扩展。在本文档中的适当位置记录了命令ptx的GNU扩展。有关完整列表,请参阅「在ptx中的兼容性」部分。
当启用GNU扩展时,选项后可能有零个、一个、多个文件参数FILE:

如果没有文件参数FILE,则程序将从标准输入中读取数据。
如果有一个或多个文件,它们指的是输入文件名,这些文件都是依次被读取的,就好像所有输入文件都被连接在一起一样。但是,每个文件之间存在完整的上下文中断,并且在要求自动引用时,文件名和行号会引用单个文本输入文件。
在所有情况下,程序都将生成的置换索引输出到标准输出。

当未启用GNU扩展时,即当程序在传统模式下运行时,除选项外可能还有零个、一个、两个参数:

如果没有参数,程序将读取标准输入,并将置换索引输出到标准输出中。
如果只有一个参数,则该参数被视为要读取的文本,而不是从标准输入中读取。
如果给出了两个参数,则它们分别为要读取的输入文件名和要生成的输出文件名。请注意,在这种情况下,第二个参数给出的文件内容将被销毁。此行为由System V的ptx兼容性决定;在GNU标准中,通常不鼓励出现非选项引入的输出参数。

如前所述,此选项禁用所有GNU扩展到ptx并切换到传统模式。
字符集选择:基础字符集注意事项
正如现在的设置,命令ptx(1)假定输入文件使用8位ISO 8859-1代码编码(也称为Latin-1字符集),除非ptx是为MS-DOS编译的,在这种情况下它使用IBM-PC的字符集。(GNU ptx不再适用于较小的MS-DOS机器。)与7位ASCII相比,字母字符集不同;这改变了正则表[……]

READ MORE

「pwd(1)」-

打印当前的工作目录
命令语法格式
pwd [OPTION]…
命令描述
-L, –logical 如果环境变量PWD的值为当前目录的绝对路径名,并且不带’.’或’..’部分,但是可能带有符号链接,则会输出PWD的值。否则,使用-P选项进行处理。
-P, –physical 打印当前目录的完全解析后的路径名。也就是说,打印的名称的所有组件都将是实际的目录名称,不会是符号链接。
该选项是默认的。
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
注意事项
SHELL中可能内建的pwd指令,和本文描述的pwd指令的用法会有所不同。如果你要使用这里介绍的pwd命令,可以使用env(1)进行调用:

# env pwd

如果-P与-L选项都没有指定,则默认为-P。如果两个都指定了,则执行最后一个选项,除非设置了POSIXLY_CORRECT环境变量。
相关手册
getcwd(3)
查看在线手册:http://www.gnu.org/software/coreutils/pwd
查看info手册:info ‘(coreutils) pwd invocation’
参考文献

man 1 pwd, version GNU coreutils 8.26

更新日志

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

READ MORE

「readlink(1)」-

打印符号链接的值或者规范的文件名
命令语法格式
readlink [OPTION]… FILE…
命令描述
readlink可能以两种支持的模式之一工作:
‘读取链接模式(Readlink Mode)’,readlink输出给定符号链接的值。如果使用除符号链接的名称之外的参数调用readlink,则它不会产生输出并以非零退出代码退出。
‘规范模式(Canonicalize Mode)’,readlink输出给定文件的绝对名称,其中不包含任何重复的分隔符(/)或符号链接。请注意,realpath(1)命令是用于规范文件名的首选命令。
其中,‘读取链接模式’是readlink命令的默认行为。
命令支持的选项及含义
-f, –canonicalize 使用规范模式。除最后一个文件名外,如果任何组件缺失或不可用,则readlink不会产生输出,并以非零状态退出。尾部斜线被忽略。
-e, –canonicalize-existing 使用规范模式。如果任何组件丢失或不可用,readlink将不会产生输出,并非零状态退出。如果尾部有斜线,则要求名称解析为目录。
-m, –canonicalize-missing 使用规范模式。如果任何组件丢失或不可用,readlink会将其视为目录。
-n, –no-newline 当命令行中仅指定了一个文件参数FILE时,不要在输出的结尾打印分隔符。
如果该选项与多个文件参数FILE一起指定,则发出警告。
-s, -q, –silent, –quiet 抑制大多数错误消息。默认开启。
-v, –verbose 报告错误消息。
-z, –zero 在每行的末尾输出零字节(ASCII NUL),而不是换行符(ASCII LF)。该选项使readlink的输出能够被其他程序解析,即使输出条目中包含了换行符。
–help 显示帮助并退出。
–version 显示版本信息。
相关手册
readlink(2), realpath(1), realpath(3)
查看在线手册:http://www.gnu.org/software/coreutils/readlink
查看info手册:info ‘(coreutils) readlink invocation’
参考文献

man 1 readlink, version GNU coreutils 8.28

更新日志

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

READ MORE

「realpath(1)」-

打印解析出来的路径
命令语法格式
realpath [OPTION]… FILE…
命令描述
realpath展开所有符号链接,并解析路径中的’/./’、’/../’以及额外的’/’字符,。默认情况下,除指定文件的最后一个部分外,所有部分都必须存在。
文件名的规范化功能与readlink命令的功能重叠。这是用于规范化的首选命令,因为它是更合适和标准的名称。此外,该命令还支持相对文件名处理功能。
-e, –canonicalize-existing 确保所指定的文件名的所有部分都存在。如果任何部分缺失或不可用,则realpath将输出诊断信息(除非指定-q选项),并使用非零状态码退出。尾部斜线要求名称解析为目录。
-m, –canonicalize-missing 如果指定文件名的任何部分缺失或不可用,则将其视为目录。
-L, –logical 在指定的文件名中的符号链接会被解析,但是是在处理任何后续的’..’组件后再解析它们。
-P, –physical 在指定的文件名中的符号链接会被解析,但是是在处理任何后续的’..’组件之前先这些符号链接。这也是默认的行为。
-q, –quiet 抑制错误信息。
–relative-to=FILE 打印相对于指定目录的解析出的文件名。注意这个选项尊重与文件存在有关的-m和-e选项。
–relative-base=FILE 如果文件是FILE的子目录或文件,则将解析的文件名打印为相对值。否则,将解析的文件名称打印为绝对路径。注意这个选项尊重与文件存在有关的-m和-e选项。
-s, –strip, –no-symlinks 不要解析符号链接。只解析对’/./’、’/../’的引用,并删除多余的’/’字符。通常情况下,realpath会打印符号链接所指向的文件或目录的绝对路径。使用该选项后,直接打印符号链接的绝对路径。
当与-m选项结合使用时,realpath仅对文件名进行操作,并且不会访问任何实际的文件。通常,没有-m时,如果文件不存在,则realpath会进行提示。
-z, –zero 以NUL分隔输出的行。没有指定该选项时,使用NEWLINE来分隔行。
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
使用示例
默认情况下,真实路径打印给定文件的绝对文件名(符号链接会被解析,比如示例中的word):

# cd /root/.local/
# realpath /usr/bin/sort /tmp/foo /usr/share/dict/words 1.txt
/usr/bin/sort
/[……]

READ MORE

「rm(1)」-

移除文件或者目录
命令语法格式
rm [OPTION]… [FILE]…
命令描述
rm命令用于删除文件和目录,默认是不删除目录的。本文中的rm命令是GNU实现的rm命令。
如果给出-I或–interactive=WHEN选项,并且有三个以上的文件FILE或给出了-r、-R、–recursive,则rm会提示用户是否继续执行整个操作,如果用户的响应不是肯定的,则整个命令中止。
否则,如果文件不可写,标准输入是终端,并且未给出-f或–force选项,或者给出-i或–interactive=WHEN选项,则rm会提示用户是否删除 文件。如果用户的响应不是肯定的,则跳过该文件。
拒绝删除.和..文件,这是POSIX的要求。
警告:如果你使用rm删除文件,通常可以恢复该文件的内容。如果你想要确保内容真正无法恢复,请考虑使用shred(1)命令。
命令支持的选项及含义
-f, –force 忽略不存在的文件和丢失的参数,并且不会提示用户。忽略以前的任何前面的–interactive (-i)选项。
-i 对每个要删除的每个文件进行提示是否要删除。如果用户的响应不是肯定的,则跳过该文件。忽略任何前面的–force(-f)选项。相当于–interactive=always。
-I 如果有三个以上的文件或进行递归删除,则提示一次是否继续执行命令。忽略任何前面的–force(-f)选项。相当于–interactive=once。
–interactive[=WHEN] 指定何时显示交互式提示。WHEN可能被省略,或者是下面中的一个:

never

不进行提示。

once

如果超过了三个以上的文件或执行递归删除时,会提示一次。相当于-I。

always

对每个要被删除的文件进行提示。如果没有指定WHEN,这个是默认的。

–one-file-system 当递归地删除时,如果遇到的目录与命令行参数中指定的目录在不同的文件系统上,则跳过该目录。
此选项在删除通常不包含有价值数据的构建“chroot”层次结构时非常有用。但是,绑定挂载/归入这样的层次结构并不罕见,以便更容易地使用其启动文件。问题在于很容易忘记卸载/归位。然后,当你使用rm -rf删除通常丢弃的chroot时,该命令也会删除/ home下的所有内容。使用–one-file-system选项,它会警告并跳过其他文件系统上的目录。当然,如果它和你的chroot碰巧在同一个文件系统上,这将不会保存你的/ home。
–no-preserve-roo[……]

READ MORE

「rmdir(1)」-

移除空目录
命令语法格式
rmdir [OPTION]… DIRECTORY…
命令描述
如果DIRECTORY是空目录,则删除它。如果DIRECTORY是一个不存在的目录,则产生错误。
命令支持的选项及含义
–ignore-fail-on-non-empty 忽略因为目录非空而导致的删除失败。使用该选项后,即使存在失败的删除,rmdir的退出状态也为0。
-p, –parents 删除目录,然后尝试删除目录的上级目录。因此,例如,‘rmdir -p a/b/c’类似于‘rmdir a/b/c a/b a’。因此,如果其中任何一个目录不是空的,它就会失败。可以使用–ignore-fail-on-non-empty选项使其不显示诊断,并且不会导致rmdir以失败退出。
-v, –verbose 给每个成功的移除操作输出一个诊断信息。目录被删除。
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
相关手册
rmdir(2)
查看在线手册:http://www.gnu.org/software/coreutils/rmdir
查看info手册:info ‘(coreutils) rmdir invocation’
参考文献

man 1 rmdir, version GNU coreutils 8.26

更新日志

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

READ MORE

「runcon(1)」-

在指定的安全上下文中运行命令
命令语法格式
runcon CONTEXT COMMAND [args] runcon [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]
命令描述
使用完全指定的上下文运行命令,或使用由一个或多个level, role, type, user修改的当前或已转换的安全性上下文运行命令。
如果未指定-c,-t,-u,-r,-l,则将第一个参数用作完整上下文。COMMAND之后的任何附加参数都将被解释为该命令的参数。
在不同的SELinux上下文中运行命令。如果上下文和命令都没有给出,打印当前的安全上下文。
另请注意,setpriv命令可用于使用setpriv –no-new-privs runcon …来设置NO_NEW_PRIVS位,从而不允许使用具有比进程通常具有的更多特权的安全性上下文。
注意,只有精心选择的上下文才可能成功运行。
下面选项中,长选项的参数对于短选项来说也是必须的提供的。
CONTEXT 完整的安全上下文。
-c, –compute 在修改之前计算过程转换上下文。
-t, –type=TYPE 在目标安全上下文中设置类型TYPE。
-u, –user=USER 在目标安全上下文中设置用户USER。
-r, –role=ROLE 在目标安全上下文中设置角色ROLE。
-l, –range=RANGE 在目标安全上下文中设置范围RANGE。
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
相关手册
完整在线手册:http://www.gnu.org/software/coreutils/runcon
查看info手册:info ‘(coreutils) runcon invocation’
参考文献

man 1 runcon, version GNU coreutils 8.26

更新日志

05/30/2018 创建文章[……]

READ MORE

「seq(1)」-

生成序列化数字
命令语法格式
seq [OPTION]… LAST seq [OPTION]… FIRST LAST seq [OPTION]… FIRST INCREMENT LAST
命令描述
FIRST是起始数字;LAST是结尾数字;INCREMENT是步长。其中,FIRST、INCREAMENT是可选的,如果忽略,默认为1。但是,INCREAMEN不能为0。
FIRST,INCREMENT,LAST被解释为浮点值。
如果FIRST < LAST,INCREMENT通常是正数。如果FIRST > LAST,INCREMENT通常是负数。
命令支持的选项及含义
-f, –format=FORMAT 参数FORMAT为使用printf风格的浮点格式。这里要看一下printf(1)命令和printf(3)中对于格式的描述。 如果FIRST,INCREMENT和LAST都是最大精度为PREC的固定点十进制数,则默认为%.PRECf,否则为%g(%g是根据结果自动选择科学记数法还是一般的小数记数法)。
-s, –separator=STRING 自定义数字之间的分隔符,默认为换行符(ASCII LF)。
-w, –equal-width 通过追加前导零的方式,使输出的数字的宽度相等。注意,该选项没有参数,而数字的宽度是由最长的数字决定的。如果你向使用特定的宽度,需要使用-f(–format=FORMAT)选项进行控制。
–help 显示帮助并退出。
–version 显示版本信息。
相关手册
在线手册页面:http://www.gnu.org/software/coreutils/seq
参考文献

man 1 seq, version GNU coretuils 8.28

更新日志

03/31/2018 创建文章
05/30/2018 更新文章内容[……]

READ MORE

「sha1sum(1)」-

计算和检查文件的SHA1消息摘要
命令语法格式
sha1sum [OPTION]… [FILE]…
命令描述
命令sha1sum为每个指定的文件FILE计算160位校验和。
此命令的用法和选项与md5sum(1)的用法和选项完全相同。请参阅md5sum(1)调用。
相关手册
md5sum(1)
查看在线手册:http://www.gnu.org/software/coreutils/sha1sum
查看info手册:info ‘(coreutils) sha1sum invocation’
参考文献

man 1 sha1sum, version GNU coreutils 8.28

更新日志

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

READ MORE

「sha224sum(1)」-

计算和检查SHA224消息摘要
命令语法格式
sha224sum [OPTION]… [FILE]…
命令描述
命令sha224sum为文件FILE计算长度为224位的校验和。该命令的用法和选项与md5sum(1)完全相同。请参阅md5sum(1)调用。
相关手册
md5sum(1)
查看在线手册:http://www.gnu.org/software/coreutils/sha224sum
查看info手册:info ‘(coreutils) sha2 utilities’
参考文献

man 1 sha224sum, version GNU coreutils 8.28

更新日志

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

READ MORE

「sha256sum(1)」-

计算和检查SHA256消息摘要
命令语法格式
sha256sum [OPTION]… [FILE]…
命令描述
命令sha256sum为文件FILE计算长度为256位的校验和。该命令的用法和选项与md5sum(1)完全相同。请参阅md5sum(1)调用。
相关手册
md5sum(1)
查看在线手册:http://www.gnu.org/software/coreutils/sha256sum
查看info手册:info ‘(coreutils) sha2 utilities’
参考文献

man 1 sha256sum, version GNU coreutils 8.28

更新日志

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

READ MORE

「sha384sum(1)」-

计算和检查SHA384消息摘要
命令语法格式
sha384sum [OPTION]… [FILE]…
命令描述
命令sha384sum为文件FILE计算长度为384位的校验和。该命令的用法和选项与md5sum(1)完全相同。请参阅md5sum(1)调用。
相关手册
md5sum(1)
查看在线手册:http://www.gnu.org/software/coreutils/sha384sum
查看info手册:info ‘(coreutils) sha2 utilities’
参考文献

man 1 sha384sum, version GNU coreutils 8.28

更新日志

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

READ MORE

「sha512sum(1)」-

计算和检查SHA512消息摘要
命令语法格式
sha512sum [OPTION]… [FILE]…
命令描述
命令sha512sum为文件FILE计算长度为512位的校验和。该命令的用法和选项与md5sum(1)完全相同。请参阅md5sum(1)调用。
相关手册
md5sum(1)
查看在线手册:http://www.gnu.org/software/coreutils/sha512sum
查看info手册:info ‘(coreutils) sha2 utilities’
参考文献

man 1 sha512sum, version GNU coreutils 8.28

更新日志

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

READ MORE

「shred(1)」-

覆盖文件来隐藏其内容,并可以选择删除它
命令语法格式
shred [OPTION]… FILE…
命令描述
命令shred覆盖设备或文件,以帮助防止恢复数据。
通常,当你删除文件(请参阅rm(1)调用)时,实际上不会销毁文件的数据。仅销毁列出文件存储位置的索引,并使存储空间可用于重用。有一些取消删除的程序(数据恢复程序)会尝试重建索引,如果这些部分索引没有被重用,则可以将文件恢复。
在一个驱动近乎完全使用的繁忙系统上,空间可以在几秒钟内重复使用。但是这也没有办法确定。如果你有敏感数据,你可能希望通过使用非敏感数据来确定覆盖文件,以此来确保无法进行恢复。
然而,即使在这样做之后,也可以将磁盘带回实验室,并使用许多敏感(且昂贵)的设备来寻找覆盖数据下面的原始数据的微弱“回声”。如果数据只被覆盖一次,就不那么难了。
不可挽回的去除东西的最好方法是用酸破坏它所用的介质,将其熔化,或类似。对于像软盘这样便宜的可移动介质,这是首选方法。然而,硬盘驱动器昂贵且难以熔化,因此命令shred试图使用非破坏性的方式实现类似的效果。
这使用了许多覆盖传递,并且数据模式选择了以最大化对旧数据进行破坏。虽然这适用于软盘,但这些模式的设计是为了在硬盘上实现最佳效果。有关更多详细信息,请参阅第六届USENIX安全研讨会(加利福尼亚州圣何塞,1996年7月22日至25日)的会议记录中的源代码和Peter Gutmann的论文「磁性和固态存储器数据的安全删除」。
请注意,命令shred依赖于一个非常重要的假设:文件系统会覆盖数据。这是传统的做事方式,但许多现代文件系统设计并不满足这一假设。例外的情况包括:

日志结构或日志文件系统。例如,由AIX和Solaris提供的文件系统,JFS,ReiserFS,XFS,Ext3(在data=journal模式中),BFS,NTFS等,当它们配置为对数据进行日志时。
即使某些写入失败了,也会写入冗余数据,并继续执行的文件系统。例如,基于RAID的文件系统。
会创建快照的文件系统。例如,网络应用程序的NFS服务器。
将缓存放在临时位置的文件系统。例如,NFS第3个版本的客户端。
压缩的文件系统。

在Ext3文件系统的特定情况下,上述说明仅在data=journal模式中适用(并且shred因此效果有限),该模式除了元数据之外还记录了文件数据。在data=ordered(默认)和data=writeback模式中,shred像往常一样工作。如果想要更改Ext3日记记录模式,可以在/etc/fstab文件中为特定文件系统的挂载添加data=something选项,如mount(8)手册中所述。
如果你不确定文件[……]

READ MORE