包含标签 Linux articles

ppp-off

ppp-off

关闭ppp连线

补充说明

这是Slackware发行版内附的程序,让用户切断PPP的网络连线。

语法

1
ppp-off
……

Continue reading

pr

pr

将文本文件转换成适合打印的格式

补充说明

pr命令 用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。

语法

1
pr(选项)(参数)

选项

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-e<制表符[宽度]>(--expand-tabs=<制表符[宽度]>):将制表符(或制表符)转换为空格.如果指定了宽度,则将制表符转换为宽度字符,默认为8;
-h<标题>:为页指定标题;
-i<out-tab-char[out-tab-width>(--output-tabs<out-tab-char[out-tab-width]>):在输出中用制表符替换空格,可以指定替代制表符(默认为制表符)和宽度(默认为8)-l<行数>:指定每页的行数;
-n<分隔符[数字]>:对列进行编号,或者使用 -m 选项对行进行编号,将分隔符附加到每个数字默认为制表符并限制数字的大小,默认为5;
-o<宽度>:为左边距设置宽度;
-s<分隔符>(--separator<分隔符>):使用指定的分隔符(默认为制表符)而不是空格分隔列;
-S<字符串>(--sep-string<字符串>):使用指定的字符串(默认为-J的制表符)或者是一个空格分隔列;
-w<页面宽度>:设置页面宽度以进行多列输出,默认为72;
-W<页面宽度>:设置页面宽度为固定值,默认为72;
-J(--join-lines):合并整行,忽略 -W 如果设置;
-num_cols:num_cols是一个整数,为一页有n行的文件打印指定num_cols列;
-m(--merge):打印所有文件,每列一个文件。
-f(-F)(--form-feed):用换页符替代换行符;
-r(--no-file-warnings):无法打开输入文件时静默;
-t:限制页眉,页脚与页尾的填充;
-T(--omit-pagination):类似于-t,但也限制换页;
-v(--show-non-printing):将不可打印的字符转换为八进制反斜杠格式;
-d:双倍行距;
-a(--across):交错打印,即水平打印,而非纵向打印;
-c(--show-control-chars):将控制字符转换为帽子符号(例如 ^C),将其他不可打印的字符转换为八进制反斜杠格式;
--help:打印帮助信息并退出;
--version:打印版本信息并退出.

参数

文件:需要转换格式的文件。

……

Continue reading

printf

printf

格式化并输出结果。

目录

内建命令

概要

1
printf [-v var] format [arguments]

主要用途

  • 格式化参数并输出。

选项

1
-v var:将结果输出到变量var中而不是输出到标准输出。

参数

format:输出格式。

arguments:一到多个参数。

1
2
3
4
5
转义序列:除了支持printf(1)和printf(3)的转义序列,内建printf还支持以下转义序列:

%b       展开参数中的反斜杠转义字符。
%q       将参数扩起以用作shell输入。
%(fmt)T  根据strftime(3)中的转义字符来输出日期时间字符串。

返回值

返回状态为成功除非给出了非法选项、写错误、赋值错误。

……

Continue reading

protoize

protoize

GNU-C代码转换为ANSI-C代码

补充说明

protoize命令 属于gcc套件,用于为C语言源代码文件添加函数原型,将GNU-C代码转换为ANSI-C代码。

语法

1
protoize(选项)(参数)

选项

1
2
-d:设置需要转换代码的目录;
-x:转换代码时排除的文件。

参数

文件:需要转换代码的C语言源文件。

……

Continue reading

ps

ps

报告当前系统的进程状态

补充说明

ps命令 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

……

Continue reading

pssh

pssh

批量管理执行

补充说明

pssh命令 是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问。

安装pssh

在CentOS系统环境下,介绍yum的安装和源码安装的方式:

yum方法

1
yum install pssh

编译安装

……

Continue reading

pstack

pstack

显示每个进程的栈跟踪

补充说明

pstack命令 可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID

命令软件包下载地址:https://packages.debian.org/sid/pstack

……

Continue reading

pstree

pstree

以树状图的方式展现进程之间的派生关系

补充说明

pstree命令 以树状图的方式展现进程之间的派生关系,显示效果比较直观。

语法

1
pstree(选项)

选项

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
-c:不使用精简标示法;
-G:使用VT100终端机的列绘图字符;
-h:列出树状图时,特别标明现在执行的程序;
-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;
-l:采用长列格式显示树状图;
-n:用程序识别码排序。预设是以程序名称来排序;
-p:显示程序识别码;
-u:显示用户名称;
-U:使用UTF-8列绘图字符;
-V:显示版本信息。

实例

显示当前所有进程的进程号和进程id

……

Continue reading

pushd

pushd

将目录添加到目录堆栈顶部。

概要

1
pushd [-n] [+N | -N | dir]

主要用途

  • 将目录添加到目录堆栈顶部,切换当前工作目录到该目录。

  • 旋转目录堆栈,使堆栈的新顶部成为当前工作目录。

  • 没有参数时,交换目录堆栈的前两个目录。

选项

1
-n    抑制添加目录引起的当前工作目录变化。

参数

+N(可选):不带参数执行dirs命令显示的列表中,左起的第N个目录将作为堆栈顶部,在它前面的会移动到底部。(从0开始计数)

……

Continue reading

pv

pv

显示当前在命令行执行的命令的进度信息,管道查看器

补充说明

pv命令 Pipe Viewer 的简称,由Andrew Wood 开发。意思是通过管道显示数据处理进度的信息。这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传输的数据,以及估计剩余的时间。

下载安装

1
2
3
4
5
# Debian 系的操作系统,如 Ubuntu
sudo apt-get install pv

# RedHat系的则这样:
yum install pv

语法

1
2
pv(选项)(参数)
pv [OPTION] [FILE]...

选项

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
-p, --progress           显示进度条
-t, --timer              显示已用时间
-e, --eta                显示预计到达时间 (完成)
-I, --fineta             显示绝对估计到达时间
                         (完成)
-r, --rate               显示数据传输速率计数器
-a, --average-rate       显示数据传输平均速率计数器
-b, --bytes              显示传输的字节数
-T, --buffer-percent     显示正在使用的传输缓冲区百分比
-A, --last-written NUM   显示上次写入的字节数
-F, --format FORMAT      将输出格式设置为FORMAT
-n, --numeric            输出百分比
-q, --quiet              不输出任何信息

-W, --wait               在传输第一个字节之前不显示任何内容
-D, --delay-start SEC    在SEC秒过去之前不显示任何内容
-s, --size SIZE          将估算的数据大小设置为SIZE字节
-l, --line-mode          计算行数而不是字节数 
-0, --null               行以零结尾
-i, --interval SEC       每SEC秒更新一次
-w, --width WIDTH        假设终端的宽度为WIDTH个字符 
-H, --height HEIGHT      假设终端高度为HEIGHT行
-N, --name NAME          在可视信息前面加上名称
-f, --force              将标准错误输出到终端
-c, --cursor             使用光标定位转义序列

-L, --rate-limit RATE    将传输限制为每秒RATE字节
-B, --buffer-size BYTES  使用BYTES的缓冲区大小
-C, --no-splice          从不使用splice(),始终使用读/写
-E, --skip-errors        跳过输入中的读取错误
-S, --stop-at-size       传输--size字节后停止
-R, --remote PID         更新过程PID的设置

-P, --pidfile FILE       将进程ID保存在FILE中 

-d, --watchfd PID[:FD]   监视进程PID,打开的文件FD

-h, --help               显示帮助
-V, --version            显示版本信息

实例

我们(在 linux 上使用命令行的用户)的大多数使用场景都会用到的命令是从一个 USB 驱动器拷贝电影文件到你的电脑。如果你使用 cp 来完成上面的任务,你会什么情况都不清楚,直到整个复制过程结束或者出错。

……

Continue reading