「truncate(1)」- 缩小或扩展文件的大小

常用命令
清空文件:

truncate -s 0 /path/to/file

语法格式

truncate OPTION… FILE…

命令描述
如果参数FILE指定了一个不存在的文件,则会进行创建。
如果FILE的大小超过了指定的大小,则多余的数据会丢失。如果FILE的大小小于指定的大小,truncate将会使用零字节填充FILE。
命令选项
需要提供给长选项的参数也必须提供给对应的短选项。
-c, –no-create 如果文件不存在,则不要进行创建文件。
-o, –io-blocks 将SIZE(参考-s选项)视为文件的I/O块的数量,而不是字节数。
-r, –reference=RFILE 将每个文件的大小设置为基于RFILE的大小。
-s, –size=SIZE 根据SIZE设置或调整每个文件的大小。SIZE以字节为单位,除非指定了–io-blocks。
SIZE是一个整数,后面可以更以下的单位:

‘KB’ => 1000 (KiloBytes)
‘K’ => 1024 (KibiBytes)
‘MB’ => 1000*1000 (MegaBytes)
‘M’ => 1024*1024 (MebiBytes)
‘GB’ => 1000*1000*1000 (GigaBytes)
‘G’ => 1024*1024*1024 (GibiBytes)

以此类推,还有‘T’, ‘P’, ‘E’, ‘Z’, ‘Y’。
SIZE也可以由以下之一单位作为前缀,以根据当前大小调整每个文件的大小:

‘+’ => 增加。比如,+500表示将文件增加500字节。
‘-’ => 减少。不解释。
‘<’ => 最多。不解释。
‘>’ => 最少。比如,>500表示文件最少为500字节;如果少于500字节,则扩展到500字节;如果大于500字节,则不对文件进行操作。
‘/’ => 减小,使其成为SIZE的倍数。比如,/2表示缩小文件,直到文件大小是2的倍数。
‘%’ => 增大,使其成为SIZE的倍数。比如,/2表示增大文件,直到文件大小是2的倍数。

–help 显示帮助信息并退出。
–version 显示版本信息并退出。
附加说明
退出状态
退出状态为零表示成功,非零值表示失败。
相关手册
dd(1), truncate(2), ftruncat[……]

READ MORE

「tsort(1)」-

执行拓扑排序
命令语法格式
tsort [OPTION] [FILE]
命令描述
tsort对给定文件FILE执行拓扑排序。如果没有指定参数FILE或者参数FILE为’-‘,则从标准输入中读取。
tsort读取它的输入,并将其做为字符串的一部分,由空白分隔,表明部分排序。输出则是对应于给定的部分排序的总排序。
tsort检测输入中的任何环形拓扑,并将遇到的第一个环形拓扑写入标准错误。
命令支持的选项及含义
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
退出状态
退出状态为零表示成功,非零值表示失败。
使用示例
如下示例,对于命令:

# tsort <<EOF
a b c
d
e f
b c d e
EOF

产生的输出如下:

a
b
c
d
e
f

考虑一个更现实的例子。你在一个文件中有大量的函数,除了一个函数外,它们都被声明为静态的。目前,一个(称为main)是文件中定义的第一个函数,它所调用的函数会直接跟在它后面,然后后面再跟着它们所调用的函数。假设你决定利用原型,所以你必须选择 在声明所有这些函数之间(这意味着从定义中复制大量信息)并重新安排函数,以便尽可能地在函数被使用之前进行定义。使后一个过程自动化的一种方法是获得它直接调用的函数的每个函数的列表。许多程序可以生成这样的列表。他们描述了一个调用图。考虑下面的列表,其中给定的行指示左侧的函数直接调用右侧的函数:

main parse_options
main tail_file
main tail_forever
tail_file pretty_name
tail_file write_header
tail_file tail
tail_forever recheck
tail_forever pretty_name
tail_forever write_header
tail_forever dump_remainder
tail tail_lines
tail tail_bytes
tail_lines start_lines
tail_lines dump_remainder
tail_lines file_lines
tail_lines pipe_lines
tail_bytes xlseek
tail_bytes start_bytes
tail_bytes[……]

READ MORE

「tty(1)」-

打印当前终端连接到的标准输入的文件名
命令语法格式
tty [OPTION]…
命令描述

Print the file name of the terminal connected to standard input.

命令支持的选项及含义
-s, –silent, –quiet 什么都不打印;只返回退出状态。参考下面的「退出状态」部分。
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
退出状态
0 如果标准输入是一个终端。
1 如果标准输入是一个非终端的文件。使用nohup(1)执行tty命令,此时tty会以状态值1退出。
2 参数错误。
3 发生写错误。
相关手册
查看在线手册:http://www.gnu.org/software/coreutils/tty
查看info手册:info ‘(coreutils) tty invocation’
参考文献

man 1 tty, version GNU coreutils 8.28

更新日志

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

READ MORE

「uname(1)」-

打印系统信息
命令语法格式
uname [OPTION]…
命令描述
命令uname打印有关机器和它所运行的操作系统的信息。如果没有给出选项OPTION,则默认执行-s选项。
如果给出多个选项或-a选项,则会按照如下顺序打印相关的信息:

kernel-name nodename kernel-release kernel-version
machine processor hardware-platform operating-system

输出的信息可能包含内部空格,因此此类输出结果可能无法进行可靠地解析。在下面的例子中:

# uname -a
Linux linux 4.9.0-kali3-amd64 #1 SMP Debian 4.9.18-1kali1 (2017-04-04) x86_64 GNU/Linux

上面的命令按如下顺序对应相应的属性「Linux」 「linux」 「4.9.0-kali3-amd64」 「#1 SMP Debian 4.9.18-1kali1 (2017-04-04)」 「x86_64」 <processor> <hardware-platform> 「GNU/Linux」,由于处理器和硬件是未知的(unknown),所以输出中并没有显示。
命令支持的选项及含义
-a, –all 打印所有的信息,但如果处理器类型和硬件平台名称是未知的,则省略它们。
-s, –kernel-name 打印内核名称。POSIX 1003.1-2001(参见「标准一致性」)将此称为“操作系统的实现”,因为POSIX规范本身没有“内核”的概念。内核名称可能与由-o(–operating-system)选项打印的操作系统名称相同,但可能有所不同。某些操作系统(例如FreeBSD,HP-UX)与其底层内核具有相同的名称;其他(例如,GNU/Linux,Solaris)则不是。
-n, –nodename 打印网络节点主机名。
-r, –kernel-release 打印内核发行版本。
-v, –kernel-version 打印内核版本。
-m, –machine 打印机器硬件名称(有时称为硬件类别或硬件类型)。
-o, –operating-system 打印操作系统的名称。
-p, –processor 打印处理器类型(有时称为指令集架构或ISA)。如果此信息不可用,则打印“unknown”。注意这是不可移植的(即使在多个不同的GNU/Linux发行版中也是如此)。
-i, –hardware-platfor[……]

READ MORE

「unexpand(1)」-

将空格转化为制表符
命令语法格式
unexpand [OPTION]… [FILE]…
命令描述
命令unexpand将给定的文件FILE的内容写入标准输出,并将每行开始处的空白转换为所需的多个制表符。在默认的POSIX语言环境中,“空白”指的是空格或制表符;其他语言环境中可能会指定其他空白字符。
如果未指定文件FILE,或者FILE为’-‘,则从标准输入中读取数据。
默认情况下,命令unexpand仅转换在每行初始的空白(位于所有非空白字符之前的空白)。在输出中,它会保留退格字符(BS);他们减少了制表符(TAB)计算的列数。默认情况下,每8个空白列才会被设置为一个制表符。
命令支持的选项及含义
用于长选项的必须参数也必须提供给对应的短选项。
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
-a, –all 还要在制表符停止之前,转换两个或多个空白的所有序列,即使它们出现在一行中的非空白字符之后。
–first-only 只转换每行初时的空白,即位于所有非空白字符之前的空白。覆盖-a选项。
-t tab1[,tab2]…, –tabs=tab1[,tab2]… 该选项隐含了-a选项的功能。除此之外:
如果只给出一个制表位,形如-t tab1,则将在每tab1列的空白设置为一个制表符,而不是默认的每8列。
如果给出多个制表位,形如-t 1,3,4,则将制表符分别设置在tab1,tab2,…指定的位置上(从0开始编号),在制表位之外没有改变的地方留下空白。多个制表位之间既可以用空格分隔,也可以逗号分隔。
作为一个GNU扩展,指定的最后一个制表位可以用’/’作为前缀,指示了用于其余位置的制表符的大小。例如,–tabs=2,4,/8,表示将在第2和第4位设置制表位,此后是8的倍数位置设置一个制表符。
另外,最后一个制表位可以用“+”作为前缀,以指示用于剩余位置的制表符的大小,与最后明确指定的制表位间的偏移量。例如,要忽略差异输出中出现的1个字符的装订线,可以使用–tabs=1,+8来指定1个字符的偏移量,这将在位置1,9,17…处设置制表符。
为了兼容性,GNU的unexpand支持过时的选项语法,-tab1[,tab2]…,其中制表位必须用逗号分隔。与-t不同,这个过时的选项语法并不隐含了-a选项。新脚本应该使用–first-only -t tab1[,tab2]…来代替这种旧的用法。
相关手册
expand(1)
查看在线手册:http://www.gnu.org/software/coreutils/unexpand
查看inf[……]

READ MORE

「uniq(1)」-

报告或者忽略重复的行
命令语法格式
uniq [OPTION]… [INPUT [OUTPUT]]
命令描述
命令uniq用于打印输入文件INPUT中唯一的行,可以用于行级别的去重操作。
如果没有指定INPUT或者INPUT为‘-’,则从标准输入中读取数据。如果没有指定输出文件OUTPUT,则将结果打印到标准输出中。
默认情况下,命令uniq打印其输入文件中的行,但它会丢弃连续重复行中除第一行以外其他的行,因此不会重复输出行。通过指定选项,它可以丢弃不重复的行,或丢弃所有重复的行。
输入数据不需要排序,但只有当它们相邻时,才会被检测为重复行。如果要丢弃不相邻的重复行,可能要使用sort -u进行排序。参见sort(1)手册。
比较的过程遵循LC_COLLATE语言环境类别指定的规则。
命令支持的选项及含义
需要提供给长选项的参数也必须提供给相应的短选项。
–help 显示帮助并退出。
–version 显示版本信息。
-f n, –skip-fields=n 在检查唯一性之前,跳过每行上的n个字段。如果一行少于n个字段,则会跳过所有的字段,然后使用空字符串进行比较。字段是由非空格非制表符的序列组成,它们之间通过至少一个空格或制表符彼此分开。
为了兼容性,uniq支持传统的-n选项语法。新脚本应该使用-f n代替。
-s n, –skip-chars=n 在检查唯一性之前,跳过每行行的n个字符。如果一行少于n个字符,则使用空字符串进行比较。如果同时使用字段(-f)和字符(-s)跳过选项,则会先进行字段跳过。
在不符合POSIX 1003.1-2001的系统上,uniq支持传统的+n选项语法。尽管可以使用_POSIX2_VERSION环境变量控制此传统行为(请参阅「标准一致性」),但可移植脚本应避免其行为依赖于此变量的命令。例如,应该使用uniq ./+10或uniq -s 10,而不是模糊的uniq +10,因为在此时+10可能是一个文件名,也可能是一个字符跳过的选项。
-c, –count 在每行的开始输出该行重复的次数,同重复次数进行统计。
-i, –ignore-case 在执行比较的时候忽略大小写差异。
-d, –repeated 丢弃不重复的行,仅打印那些重复行的第一行。与此相反的是-u选项。
-u, –unique 只打印那些唯一存在的行。单独使用时,此选项会使uniq打印唯一的行,而不会打印任何其他行。于此相反的是-d选项。
-D, –all-repeated[=delimit-method] 不要丢弃重复的输入行,而是丢弃不重复的行,即打印所有的重复行。该选项主要与其他[……]

READ MORE

「unlink(1)」-

调用unlink函数删除指定文件
命令语法格式
unlink FILE unlink OPTION
命令描述
unlink将删除单个指定的文件名。它是系统提供的unlink函数的极简接口。
请参阅GNU C库参考手册中的删除文件。unlink命令用于避免花哨的rm命令
命令支持的选项及含义
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
注意事项
在某些系统上,可以使用unlink来删除目录。在其他情况下,只能由特权用户以这种方式使用它。而在GNU系统中,unlink永远不能删除目录,只能删除文件。
相关手册
unlink(2)
查看在线手册:http://www.gnu.org/software/coreutils/unlink
查看info手册:info ‘(coreutils) unlink invocation’
参考文献

man 1 unlink, version GNU coreutils 8.26

更新日志

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

READ MORE

「uptime(1)」-

打印当前时间,系统的正常运行时间,登录用户的数量,当前的平均负载
命令语法格式
uptime [options]
命令描述
如果指定了参数,则将其用作要读取的文件,以发现有多少用户已登录。如果未指定参数,则使用系统默认值(uptime –help表示默认设置)。
系统间负载平均值的精确计算方法有所不同。某些系统将其计算为最近1分钟,5分钟,15分钟内可运行进程的平均数量,但某些系统还包括处于不可中断睡眠状态(即正在等待磁盘I/O的进程)的进程。Linux内核包含不可中断的进程。
命令支持的选项及含义
–help 显示帮助并退出。
–version 显示版本信息。
使用示例
下面命令打印我们当前系统的update命令的输出信息:

# uptime
14:07 up 3:35, 3 users, load average: 1.39, 1.15, 1.04

注意事项
uptime仅安装在具有获取引导时间的基础结构的平台上,其他软件包也提供uptime命令,因此可移植脚本不应依赖其存在。比如,在Debian 8中的uptime命令实际来自于procps软件包,并没有提供GNU coretuils软件包中的uptime命令,而这两个命令的用法又有所不同。
参考文献

info ‘(coreutils) uptime invocation’, version GNU coreutils 8.26

更新日志

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

READ MORE

「users(1)」-

打印登录当前主机的所有用户
命令语法格式
users [OPTION]… [FILE]
命令描述
在单行行打印登录当前主机的所有用户,多个用户之间使用空白字符进行分隔。输出中的每个用户名都对应着一个登录会话,如果一个用户名有多个登录会话,那么输出结果中就会出现多次该用户名。
如果没有指定FILE,users则从系统维护的文件中提取信息,通常为/var/run/utmp或者/etc/utmp。如果给出的FILE,则从该文件中提取信息。一个常用的选择就是/var/log/wtmp。
命令行支持的选项及含义
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
注意事项
users命令仅安装在具有POSIX的<utmpx.h>头文件的平台上,或等效头文件,因此可移植脚本中不应依赖其在非POSIX平台上的存在。
相关手册
getent(1), who(1)
查看在线手册:http://www.gnu.org/software/coreutils/users
查看info手册:info ‘(coreutils) users invocation’
参考文献

man 1 users, version GNU coreutils 8.26

更新日志

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

READ MORE

「vdir(1)」-

详细列出目录里的内容
命令语法格式
vdir [OPTION]… [FILE]…
命令描述
命令vdir相当于ls -l -b;也就是说,默认情况下,文件会以长格式列出,使用反斜杠转义文件名的特殊字符。
详细使用参考ls(1)中的描述。
相关手册
ls(1), dir(1)
查看在线手册:http://www.gnu.org/software/coreutils/vdir
查看info手册:info ‘(coreutils) vdir invocation’
参考文献

man 1 vdir, version GNU coreutils 8.28

更新日志

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

READ MORE

「wc(1)」-

计算每个文件中字节数,字符数,字数,行数
命令行语法格式
wc [OPTION]… [FILE]… wc [OPTION]… –files0-from=F
命令描述
wc可以用于统计文件中的字节数、字符数、字数、行数。
文件参数FILE为要统计的文件名。如果没有给出FILE,或者FILE为‘-’,则从标准输入中读取文件数据。
命令wc为每个FILE打印一行计数信息。如果指定了一个文件参数FILE,则会在计数之后打印文件名。如果给出多个文件参数FILE,则命令wc会在输出的最后一行打印一行累计值,而文件名部分为“total”。输出结果中的计数值按以下顺序打印:行数、字数(长度非零的字符集合)、字符、字节、最大行长度,这个顺序与命令行中对应选项的顺序无关。每个计数都是右对齐打印的,字段之间至少有一个空格,这使得计数和文件名在列中排列整齐。计数的宽度取决于输入,因此你不应该依赖于特定的字段宽度。但是,作为GNU扩展,如果仅打印一种计数,则打印结果中不带前导空格。
默认情况下,wc打印三个计数:行数,字数,字节计数。可以通过选项只打印特定计数。选项不会覆盖先前给出的其他选项,如下:

# wc –bytes –words

上面的命令打印字节数和字数。
使用–max-line-length选项,wc会打印每个文件中最长的行的长度。如果命令行选项中指定了多个文件,则会在最后的total行中打印这些长度的最大值(不是总和)。根据当前的语言环境并假设TAB字符的宽度为8,此处的行长度在屏幕列中进行测量。
命令支持的选项及含义
-c, –bytes 只打印字节数。
-m, –chars 打印字符的个数。
-l, –lines 打印行数。以换行符(LF)的个数进行计算的。就是说,如果文件的最后一行没有换行符(LF),那计算结果会比实际的行数少一行。
-L, –max-line-length 打印文件中最长行的字符个数。如果指定了多个文件,最后的total行中显示这些字符个数中的最大值,而其他的则是显示一个合计值。
TAB会被视为8个字符;宽字符的显示宽度会考虑在内;不可打印字符的宽度为0。
-w, –words 输出文件中字的个数。
–files0-from=filename 不处理命令行中FILE,而是处理文件filename中指定的文件名列表;其中,filename中的每个文件名都以NUL(ASCII NUL)结尾的。当FILE列表长度超过命令行长度限制时,这个选项很有用。
有些情况下,通过xargs(1)运行wc是无法满足需要。因为xargs将文件列表分成多个单独输入的文件传给wc执行,[……]

READ MORE

「who(1)」-

touch显示当前登录的用户
命令语法格式
who [OPTION]… [ FILE | ARG1 ARG2 ]
命令描述
如果没有给出非选项参数,则打印每个当前登录的用户的以下信息:登录名、终端、登录时间、远程主机名或X显示器。
如果给定一个非选项参数,则将该参数视为包含用户登录记录的文件,并在其中进行查找用户,而不是使用默认的系统维护文件(通常为var/run/utmp或/etc/utmp)。/var/log/wtmp通常作为who的参数,用于查看谁之前登录。
如果给出两个非选项参数,则只打印运行它的用户的条目(根据其标准输入确定),前面带有主机名。传统上,给出的两个参数通常是’am i’,整体上看起来就像’who am i’。
时间戳根据TZ环境变量指定的时区规则进行显示,如果未设置TZ,则按系统默认规则进行显示。请参阅“GNU C库参考手册”中的「使用TZ指定时区」。
命令支持的选项及含义
-a, –all 等价与-b -d –login -p -r -t -T -u这些选项的组合。
-b, –boot 显示上次系统启动的时间。
-d, –dead 打印与死亡进程相对应的信息。
-H, –heading 打印列头。在输出的开始打印一个标题行。
-l, –login 仅列出与系统正在等待用户登录的进程相对应的条目。用户名始终为“LOGIN”。
–lookup 尝试通过DNS查找来规范化在utmp中找到的主机名。这不是默认设置,因为它在自动拨号上网功能的系统中可能会出现严重延迟。
-m 等同于who am i。
-p, –process 列出init生成的活动进程。
-q, –count 仅打印登录名和登录用户数。该选项会覆盖所有其他选项。
-r, –runlevel 打印init进程的当前(可能是之前的)运行级别。
-s 忽略;该选项是为了与其他版本的who命令兼容。
-t, –time 打印上次系统时钟更改。
-u 登录时间后,打印用户空闲(idle)的小时数和分钟数。’.’表示用户在最后一分钟处于活动状态。’old’表示用户已闲置超过24小时。
-w, -T, –mesg, –message, –writable 每个登录名后打印一个表示用户消息状态的字符:

‘+’ 允许消息写入
‘-’ 禁用消息写入
‘?’ 无法找到终端设备

–help 显示帮助信息并退出。
–version 显示版本信息并退出。
相关手册
查看在线手册:http://www.gnu.org/software[……]

READ MORE

「whoami(1)」-

打印有效用户ID对应的用户名
命令语法格式
whoami [OPTION]…
命令描述
打印当前有效用户ID对应的用户名。等价与id -un的输出。
命令支持的选项及含义
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
相关手册
查看在线手册:http://www.gnu.org/software/coreutils/whoami
查看info手册:info ‘(coreutils) whoami invocation’
参考文献

man 1 whoami, version GNU coreutils 8.26

更新日志

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

READ MORE

「yes(1)」-

持续输出字符串,直到被结束
命令语法格式
yes [STRING]…
yes OPTION
命令描述
命令yes会持续打印参数STRING,后面跟着一个换行符(LF),直到它被杀死才停止打印。多个STRING之间以空格分隔。
如果没有给出参数,它会打印’y’,然后再打印一个换行符(LF),直到被杀死。
命令支持的选项及含义
–help 显示帮助信息并退出。
–version 显示版本信息并退出。
使用示例
交互式程序中需要输入y的时候可能会用到。比如说:

# yes | rm -r large_directory

当然,你可以使用-f选项。这里是为了说明yes的用途,它提供了一种简单暴力的方式来回答交互式程序。再比如:

# yes | fsck /dev/foo

某些需要交互的命令并没有提供通过命令行指定默认回复的选项,因此可以使用yes命令。
相关手册
查看在线手册:http://www.gnu.org/software/coreutils/yes
查看info手册:info ‘(coreutils) yes invocation’
参考文献

man 1 yes, version GNU coreutils 8.26
What is the point of the “yes” command?

更新日志

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

READ MORE

「cpio」

安装的可执行程序
cpio copies files to and from archives.
mt controls magnetic tape drive operations.
参考文献

BLFS/cpio-2.12

章节列表
「mt(1)」- 「cpio(1)」-[……]

READ MORE

「cpio(1)」-

从档案中复制文件或向档案中写入文件。
命令语法格式
cpio –create [-0acvABLV] [-C BYTES] [-H FORMAT] [-M MESSAGE] [-O [[USER@]HOST:]ARCHIVE] [-F [[USER@]HOST:]ARCHIVE] [–file=[[USER@]HOST:]ARCHIVE] [–format=FORMAT] [–message=MESSAGE] [–null] [–reset-access-time] [–verbose] [–dot] [–append] [–block-size=blocks] [–dereference] [–io-size=BYTES] [–quiet] [–force-local] [–rsh-command=COMMAND] < name-list [> archive]
cpio –extract [-bcdfmnrtsuvBSV] [-C BYTES] [-E FILE] [-H FORMAT] [-M MESSAGE] [-R [USER][:.][GROUP]] [-I [[USER@]HOST:]ARCHIVE] [-F [[USER@]HOST:]ARCHIVE] [–file=[[USER@]HOST:]ARCHIVE] [–make-directories] [–nonmatching] [–preserve-modification-time] [–numeric-uid-gid] [–rename] [–list] [–swap-bytes] [–swap] [–dot] [–unconditional] [–verbose] [–block-size=BLOCKS] [–swap-halfwords] [–io-size=BYTES] [–pattern-file=FILE] [–format=FORMAT] [–owner=[USER][:.][GROUP]] [–no-preserve-owner] [–mes‐ sage=MESSAGE] [–force-local] [–no-absolute-filenames] [–sparse] [–only-verify-crc] [–to-stdout] [–quiet] [–rsh-command=COMMAND] [–extract-over-symlinks] [pattern…] [< archive]
cpio –pass-through [-0adlmuvLV] [-R [USER][:.][GROUP]] [–null] [–reset-[……]

READ MORE

「mt(1)」-

控制磁带驱动器操作
命令语法格式
mt [-V] [–file=device] [–rsh-command=command] [–version] operation [count]
命令描述
本手册页记录了GNU版本的mt命令。 命令mt在磁带驱动器上执行给定的操作operation,该operation必须是下面列出的磁带操作之一。
要操作的默认磁带设备取自编译时的/usr/include/sys/mtio.h。可以通过在环境变量TAPE中提供设备文件名或通过命令行选项(见下文)来覆盖它,选项也会覆盖TAPE环境变量。
命令支持的选项及含义
支持的操作(operation)
可用的操作operation如下所列。接受唯一缩写。并非所有操作都适用于所有系统,或适用于所有类型的磁带机。某些操作可选择进行重复计数,可以在操作名称后给出count,默认为“1”:
eof,weof,向当前位置写入count个EOF标记。
fsf,向前间隔count文件。磁带位于下一个文件的第一个块上。
bsf,向后间隔count文件。磁带位于下一个文件的第一个块上。
fsr,向前间隔count记录。
bsr,向后间隔count记录。
bsfm,向后间隔count文件标记。磁带位于文件标记的磁带开头侧。
fsfm,向前间隔count文件标记。磁带位于文件标记的磁带开头侧。
asf,绝对地址,间隔count文件数。相当于rewind,后跟是fsf count。
seek,查找count块数量。
eom,向磁带上录制媒体的末尾添加空格(用于将文件附加到磁带上)。
rewind,倒带。
offline,rewoffl,倒带,还可以卸载磁带(如果适用)。
status,打印有关磁带机的状态信息。
retension,倒带,然后将其卷到卷轴的末端,然后再次倒带。
erase,擦除磁带。
支持的选项
-f, –file=device 设备device必须是字符特殊文件或远程磁带驱动器。要将另一台计算机上的磁带驱动器用作存档,请使用以“HOSTNAME:”开头的文件名。如果您有权限,主机名前面可以有一个用户名和一个“@”符号,表示来访问该用户的远程磁带机,通常是该用户的$HOME/.rhosts中的条目。
–rsh-command=command 通知mt应该使用command与远程设备通信,而不是/usr/bin/ssh或/usr/bin/rsh。
-V, –version 打印mt的版本号。
退出状态
0 操作成功;
1 操作或者设备名是无效的;
2 操作失败[……]

READ MORE

「cron」

安装的可执行程序
cron 执行任务调度的守护进程。
crontab 为单独的用户维护crontab文件。
参考文献

dpkg -L cron | grep bin/

章节列表
「crontab(1)」- 「cron」-[……]

READ MORE

「cron」-

指定调度任务的守护进程
命令语法格式
cron [-f] [-l] [-L loglevel]
命令描述
cron is started automatically from /etc/init.d on entering multi-user runlevels.
命令支持的选项及含义

-f Stay in foreground mode, don’t daemonize.

-l Enable LSB compliant names for /etc/cron.d files. This setting, however, does not affect the parsing of files under

/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly or /etc/cron.monthly.

-n Include the FQDN in the subject when sending mails. By default, cron will abbreviate the hostname.

-L loglevel

Tell cron what to log about jobs (errors are logged regardless of this value) as the sum of the following values:

1 will log the start of all cron jobs

2 will log the end of all cron jobs

4 will log all failed jobs (exit status != 0)

8 will log the process number of all cron jobs

The default is to log the start of all jobs (1). Logging will be disabled if levels is set to zero (0). A value of fifteen
(15) will select all options.

注意事项

cron searches its spool area (/var/spool/cron/crontabs) for crontab fil[……]

READ MORE

「crontab(1)」-

为个人用户维护crontab文件(Vixie Cron)
命令语法格式
crontab [ -u user ] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
命令描述
命令crontab是用于安装、卸载、列出用于驱动cron(8)守护进程的表。每个用户都可以拥有自己的crontab,位于/var/spool/cron/crontabs/中,但它们并不是直接编辑的。
如果/etc/cron.allow存在,则必须在其中列出(每行一个用户)后才能允许使用crontab命令。如果/etc/cron.allow不存在,但/etc/cron.deny文件存在,则在/etc/cron.deny文件中的用户不允许使用此命令。
如果这两个文件都不存在,那么根据站点相关的配置参数,只允许超级用户使用此命令,或者所有用户都可以使用此命令。
如果两个文件都存在,则/etc/cron.allow优先。这意味着不考虑/etc/cron.deny的配置,并且您的用户必须列在/etc/cron.allow中才能使用crontab命令。
无论是否存在任何这些文件,始终允许root管理用户设置crontab。对于标准Debian系统,默认所有用户都可以使用此命令。
命令支持的选项及含义
-u 如果给出-u选项,则它指定一个用户名,表示对该用户的crontab文件进行查看或修改。如果没有给出这个选项,命令crontab会检查“当前用户”的crontab文件,即执行crontab命令的用户的crontab文件。
注意su(8)可以混淆crontab命令,如果你在su(8)内运行crontab命令,你应该总是使用-u选项以保证安全。
第一种形式的命令crontab [ -u user ] file用于安装crontab文件。如果给出伪文件名“-”,则此命令从标准输入安装新的crontab文件。
-l 在标准输出上显示当前的crontab文件。请参阅下面的“DEBIAN SPECIFIC”下的说明。
-r 删除当前的crontab。
-e 使用VISUAL或EDITOR环境变量指定的编辑器来编辑当前的crontab文件。退出编辑器后,将自动安装修改过的crontab。如果未定义任何环境变量,则使用默认编辑器/usr/bin/editor。
-i 修改-r选项,在实际删除crontab文件之前,提示用户输入“y/Y”响应。
注意事项
在Debian中特定的规则
命令crontab -l的“开箱即用”行为是:在显示安装时,显示位于crontab开头的三行“DO NOT EDIT THIS FILE”标题。问题是它会[……]

READ MORE

「cups」

accept instructs the printing system to accept print jobs to the specified destinations.
cancel cancels existing print jobs from the print queues.
cupsaccept accept jobs sent to a destination.
cupsaddsmb exports printers to the Samba software for use with Windows clients.
cups-config is a Cups program configuration utility.
cupsctl updates or queries the cupsd.conf file for a server.
cupsd is the scheduler for the Common Unix Printing System.
cupsdisable stop printers and classes.
cupsenable start printers and classes.
cupsfilter is a front-end to the Cups filter subsystem which allows you to convert a file to a specific format.
cupsreject reject jobs sent to a destination.
cupstestdsc tests the conformance of PostScript files.
cupstestppd tests the conformance of PPD files.
ippfind finds internet printing protocol printers.
ipptool sends IPP requests to the specified URI and tests and/or displays the results.
lp submits files for printing or alters a pending job.
lpadmin configures printer and class queues provided by Cups.
lpc provides limited control over printer and class queues provided by Cups.
lpinfo lis[……]

READ MORE

「accept(8)」-

接受发送到目标的作业
命令描述
参考cupsaccept(8)手册
参考文献

man 8 cupsaccept, Version 2.2.8-5

更新日志

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

READ MORE

「cancel(1)」-

取消一个作业
命令语法格式
cancel [ -E ] [ -U username ] [ -a ] [ -h hostname[:port] ] [ -u username ] [ -x ] [ id ] [ destination ] [ destination-id ]
命令描述
命令cancel取消打印作业。如果未指定destination或id,则取消默认destination上的当前打印作业。
命令支持的选项及含义
识别的选项如下:
-a 取消指定destination上的所有作业,或者如果没有提供,则取消所有destination上的所有作业。
-E 连接到服务器时强制加密。
-h hostname[:port] 指定备用服务器。
-U username 指定连接到服务器时要使用的用户名。
-u username 取消username拥有的作业。
-x 除取消外,还删除作业数据文件。
注意事项
希望“通过-u选项防止未授权取消作业”的管理员,应该要求对cupsd.conf(5)中的Cancel-Jobs操作进行身份验证。
CONFORMING TO
与System V打印系统不同,CUPS允许打印机名称包含除SPACE,TAB,“/”,“#”之外的任何可打印字符。 此外,打印机和类名称不区分大小写。
使用示例
取消当前打印作业:

# cancel

取消作业”myprinter-42″:

# cancel myprinter-42

取消所有作业:

# cancel -a

如上示例。
相关手册
cupsd.conf(5), lp(1), lpmove(8), lpstat(1)
CUPS Online Help (http://localhost:631/help)
参考文献

man 1 cancel, Version 2.2.8-5

更新日志

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

READ MORE

「cupsaccept(8)」-

接受/拒绝发送到目标的作业
命令语法格式
cupsaccept [ -E ] [ -U username ] [ -h hostname[:port] ] destination(s)
cupsreject [ -E ] [ -U username ] [ -h hostname[:port] ] [ -r reason ] destination(s)
命令描述
命令cupsaccept指示打印系统接受指定目标的打印作业。
命令cupsreject指示打印系统拒绝指定目标的打印作业。选项-r设置拒绝打印作业的原因。如果未指定,则原因默认为“Reason Unknown”。
命令支持的选项及含义
命令cupsaccept和cupsreject支持以下选项:
-E 连接到服务器时强制加密。
-U username 设置连接到服务器时发送的用户名。
-h hostname[:port] 选择备用服务器。
-r “reason” 设置为拒绝作业的打印机显示的原因字符串。
注意事项
CONFORMING TO
命令cupsaccept和cupsreject分别对应于System V打印系统命令“accept”和“reject”。 与System V打印系统不同,CUPS允许打印机名称包含除SPACE,TAB,“/”,“#”之外的任何可打印字符。 此外,打印机和类名称不区分大小写。
最后,CUPS版本可以根据打印系统配置询问用户访问密码。
相关手册
cancel(1), cupsenable(8), lp(1), lpadmin(8), lpstat(1),
CUPS Online Help (http://localhost:631/help)
参考文献

man 8 cupsaccept, Version 2.2.8-5

更新日志

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

READ MORE

「cupsdisable(8)」-

停止打印机和类
命令描述
参考cupsenable(8)手册。
参考文献

man 8 cupsenable, Version 2.2.8-5

更新日志

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

READ MORE

「cupsenable(8)」-

停止/启动打印机和类
命令语法格式
cupsdisable [ -E ] [ -U username ] [ -c ] [ -h server[:port] ] [ -r reason ] [ –hold ] destination(s)
cupsenable [ -E ] [ -U username ] [ -c ] [ -h server[:port] ] [ –release ] destination(s)
命令描述
命令cupsenable启动命名的打印机或类,而cupsdisable停止命名的打印机或类。
命令支持的选项及含义
可用的选项如下:
-E 强制加密与服务器的连接。
-U username 连接到服务器时使用指定的用户名。
-c 取消指定destination上的所有作业。
-h server[:port] 使用指定的服务器和端口。
–hold 保留指定打印机上的剩余作业。 用于在执行维护之前允许当前作业完成。
-r “reason” 设置与已停止状态关联的消息。 如果未指定任何原因,则将消息设置为“Reason Unknown”。
–release 发布待处理的打印作业。 使用–hold选项运行cupsdisable后使用以恢复打印。
注意事项
CONFORMING TO
与System V打印系统不同,CUPS允许打印机名称包含除SPACE,TAB,“/”,“#”之外的任何可打印字符。 此外,打印机和类名称不区分大小写。
这些命令的System V版本分别是disable和enable。 它们已重命名,以避免与具有相同名称的bash(1)内置命令发生冲突。
在CUPS版本中的disable和enable可能会要求用户输入访问密码,具体取决于打印系统配置。 这与要求root用户执行这些命令的System V版本不同。
相关手册
cupsaccept(8), cupsreject(8), cancel(1), lp(1), lpadmin(8), lpstat(1)
CUPS Online Help (http://localhost:631/help)
参考文献

man 8 cupsenable, Version 2.2.8-5

更新日志

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

READ MORE

「cupsreject(8)」-

拒绝发送到目标的作业
命令描述
参考cupsaccept(8)手册
参考文献

man 8 cupsaccept, Version 2.2.8-5

更新日志

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

READ MORE

「lpc(8)」-

行式打印机控制程序
命令语法格式
lpc [ command [ parameter(s) ] ]
命令描述
命令lpc对CUPS提供的”打印机和类队列“提供有限的控制。 它还可以用于查询队列的状态。
如果在命令行中未指定command,则lpc将显示提示,并接受来自标准输入的命令。
命令行命令
程序lpc接受Berkeley的lpc程序接受的同名命令的子集:
exit 退出命令解释程序。
help [command], ? [command] 显示简短的帮助信息。
quit 退出命令解释程序。
status [queue] 显示一个或多个打印机或类队列的状态。
注意事项
由于lpc面向Berkeley打印系统,因此无法使用lpc配置CUPS提供的打印机或类队列。 要配置打印机或类队列,必须使用lpadmin(8)命令,或具有该功能的其他CUPS兼容客户端。
相关手册
cancel(1), cupsaccept(8), cupsenable(8), lp(1), lpadmin(8), lpr(1), lprm(1), lpstat(1), CUPS Online Help (http://localhost:631/help)
参考文献

man 8 lpc, Version 2.2.8-5

更新日志

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

READ MORE

「lprm(1)」-

取消打印作业
命令语法格式
lprm [ -E ] [ -U username ] [ -h server[:port] ] [ -P destination[/instance] ] [ – ] [ job-id(s) ]
命令描述
命令lprm取消打印作业(已排队等待打印)。如果未提供参数,则取消默认destination上的当前作业。 您可以指定一个或多个作业ID号来取消这些作业,或使用-选项取消所有作业。
命令支持的选项及含义
命令lprm支持以下选项:
-E 连接到服务器时强制加密。
-P destination[/instance] 指定目标打印机或类。
-U username 指定备用用户名。
-h server[:port] 指定备用服务器。
注意事项
CONFORMING TO
在CUPS版本中的lprm与同名的标准Berkeley命令兼容。
使用示例
取消默认打印机上的当前作业:

# lprm

取消工作1234:

# lprm 1234

取消所有作业:

# lprm –

如上示例。
相关手册
cancel(1), lp(1), lpq(1), lpr(1), lpstat(1)
CUPS Online Help (http://localhost:631/help)
参考文献

man 1 lprm, Version 2.2.8-5

更新日志

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

READ MORE

「lpstat(1)」-

lpstat – print cups status information
命令语法格式
lpstat [ -E ] [ -H ] [ -U username ] [ -h hostname[:port] ] [ -l ] [ -W which-jobs ] [ -a [ destination(s) ] ] [ -c [ class(es) ] ] [ -d ] [ -e ] [ -o [ destination(s) ] ] [ -p [ printer(s) ] ] [ -r ] [ -R ] [ -s ] [ -t ] [ -u [ user(s) ] ] [ -v [ printer(s) ] ]
命令描述
命令lpstat显示有关当前类、作业、打印机的状态信息。 在没有参数的情况下运行时,lpstat将列出当前用户排队的活动作业。
命令支持的选项及含义
命令lpstat支持以下选项:
-E 连接到服务器时强制加密。
-H 显示服务器主机名和端口。
-R 显示打印作业的排名。
-U username 指定备用用户名。
-W which-jobs 指定要显示,“completed”或“not-completed”的作业(默认值)。 此选项必须出现在-o选项和/或任何打印机名称之前,否则将在对调度程序的请求中使用默认(“not-completed”)值。
-a [printer(s)] 显示打印机队列的接受状态。 如果未指定打印机,则列出所有打印机。
-c [class(es)] 显示打印机类和属于它们的打印机。 如果未指定类,则列出所有类。
-d 显示当前的默认目标。
-e 显示本地网络上的所有可用目标。
-h server[:port] 指定备用服务器。
-l 显示打印机、类、作业的长列表。
-o [destination(s)] 显示在指定目标上排队的作业。如果未指定目的地,则显示所有作业。
-p [printer(s)] 显示打印机,以及是否启用打印。 如果未指定打印机,则列出所有打印机。
-r 显示CUPS服务器是否正在运行。
-s 显示状态摘要,包括默认目标,类列表及其成员打印机,以及打印机及其关联设备列表。 这相当于使用-d,-c和-v选项。
-t 显示所有状态信息。 这相当于使用-r,-d,-c,-v,-a,-p,-o选项。
-u [user(s)] 显示指定用户排队的打印作业列表。 如果未指定用户,则列出当前用户排队的作业。
-v [printer(s)] 显示打印机以及它们所连接的设备。 如果未指定打印机,则列出所有打印机。
附加说明
符合(C[……]

READ MORE