nice

改变程序执行的优先权等级

补充说明

nice命令 用于以指定的进程调度优先级启动其他的程序。

语法

1
nice(选项)(参数)

选项

1
-n:指定进程的优先级(整数)。

参数

指令及选项:需要运行的指令及其他选项。

实例

新建一个进程并设置优先级,将当前目录下的documents目录打包,但不希望tar占用太多CPU:

1
nice -19 tar zcf pack.tar.gz documents

方法非常简单,即在原命令前加上nice -19。很多人可能有疑问了,最低优先级不是19么?那是因为这个“-19”中的“-”仅表示参数前缀;所以,如果希望将当前目录下的documents目录打包,并且赋予tar进程最高的优先级:

1
nice --19 tar zcf pack.tar.gz documents

ngrep

方便的数据包匹配和显示工具

补充说明

ngrep命令 是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。

安装

ngrep命令的下载地址:http://ngrep.sourceforge.net/,libpcap下载地址:http://www.tcpdump.org/。先用`yum install libpcap`完全安装libpcap,注意有时候用libpcap安装包安装的不完整会影响ngrep的使用。

如果yum无法安装就用以下步骤安装libpcap:

1
2
3
4
5
wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
tar -zxf libpcap-1.3.0.tar.gz
cd libpcap-1.3.0
./configure
make && make install

ngrep的安装就是 configure/make/make install 三部曲。

注:configure时是遇到 please wipe out all unused pcap installations,添加以下选项:

1
./configure --with-pcap-includes=/usr/local/include/pcap

在安装后输入ngrep来验证下安装是否成功。

语法

1
2
3
ngrep <-LhNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num>
<-s snaplen> <-S limitlen> <-w normal|byline|single|none> <-c cols>
<-P char> <-F file> <match expression> <bpf filter>

选项

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
-e :显示空数据包
-i :忽略大小写
-v :反转匹配
-R :don't do privilege revocation logic
-x :以16进制格式显示
-X :以16进制格式匹配
-w :整字匹配
-p :不使用混杂模式
-l :make stdout line buffered
-D :replay pcap_dumps with their recorded time intervals
-t :在每个匹配的包之前显示时间戳
-T :显示上一个匹配的数据包之间的时间间隔
-M :仅进行单行匹配
-I :从文件中读取数据进行匹配
-O :将匹配的数据保存到文件
-n :仅捕获指定数目的数据包进行查看
-A :匹配到数据包后dump随后的指定数目的数据包
-s :set the bpf caplen
-S :set the limitlen on matched packets
-W :设置显示格式byline将解析包中的换行符
-c :强制显示列的宽度
-P :set the non-printable display char to what is specified
-F :使用文件中定义的bpf(Berkeley Packet Filter)
-N :显示由IANA定义的子协议号
-d :使用哪个网卡,可以用-L选项查询
-L :查询网卡接口

实例

捕捉cloudian:18080端口的request和response,-W byline用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。-d lo是监听本地网卡:

1
ngrep -W byline -d lo port 18080

捕捉amazon:80端口的request和response。-d eth0是用来监听对外的网卡:

1
ngrep -W byline -d eth0 port 80

可以用-d any来捕捉所有的包:

1
ngrep '[a-zA-Z]' -t -W byline -d any tcp port 18080

捕获字符串.flv,比如要查看在Web Flash 视频中的.flv文件的下载地址:

1
2
3
4
ngrep -d3 -N -q \.flv
interface: \Device\TNT_40_1_{670F6B50-0A13-4BAB-9D9E-994A833F5BA9} (10.132.0.0/2
55.255.192.0)
match: \.flv

打开一个视频页面:

1
2
3
4
5
6
7
8
T(6) 10.132.34.23:24860 -> 61.142.208.154:80 [AP]
GET /f59.c31.56.com/flvdownload/12/19/ggyg7741@56.com_56flv_zhajm_119556973
97.flv HTTP/1.1..accept: */*..Referer: http://www.56.com/flashApp/v_player_
site.swf..x-flash-version: 9,0,45,0..UA-CPU: x86..Accept-Encoding: gzip, de
flate..User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET
CLR 2.0.50727; .NET CLR 3.0.04506.30)..host: f59.r.56.com..Connection: Keep
-Alive..Cookie: whistoryview=23423759-23635627-23423344-23171935-23058374-2
3081156-23207350-22395727-; geoip=............; wl_all_s=y....

OK。地址已经找到了,就是http://f59.c31.56.com/flvdownload/12/19/ggyg7741@56.com_56flv_zhajm_11955697397.flv

加个-W byline参数后,将解析包中的换行符:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
T(6) 2007/11/25 15:56:12.192619 10.132.34.23:26365 -> 59.151.21.101:80 [AP]
GET /aa.flv HTTP/1.1.
Accept: */*.
Accept-Language: zh-cn.
UA-CPU: x86.
Accept-Encoding: gzip, deflate.
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.5072
7; .NET CLR 3.0.04506.30).
Host: www.google.cn.
Connection: Keep-Alive.
Cookie: PREF=id=a0b2932c336477e9:TB=4:NW=1:TM=1187877372:LM=1187956074:S=Y1Fzndp
rT3vFo7ac; SID=DQAAAHcAAABJCEXeOVLHu2rIfb5BfKP3GG9PbhJDEkXsLTV8y0f_lvSd2Y46Q0FPt
83CnEs9rxA1xBDM9mLR8-ckWeScyOQA8PyYnX5u5OjFvjfRbDg_FDZfwxhRzqS9KPZv26pjnsUxs0FDM
1xpJ5AgDn38pXtlCdkksJ0-cbiIWoA61oHWMg; NID=7=AvJxn5B6YOLLxoYz4LLzhIbNsQUQiulRS6U
JGxdBniQBmXm99y7L-NBNORN82N3unmZSGHFPfePVHnLK2MjYjglyXZhU9x7ETXNBnY3NurNijHDhJ7K
yi7E53UBOcv4V.

nfsstat

列出NFS客户端和服务器的工作状态

补充说明

nfsstat命令 用于列出NFS客户端和服务器的工作状态。

语法

1
nfsstat(选项)

选项

1
2
3
4
5
6
7
8
-s:仅列出NFS服务器端状态;
-c:仅列出NFS客户端状态;
-n:仅列出NFS状态,默认显示nfs客户端和服务器的状态;
-2:仅列出NFS版本2的状态;
-3:仅列出NFS版本3的状态;
-4:仅列出NFS版本4的状态;
-m:打印以加载的nfs文件系统状态;
-r:仅打印rpc状态。

实例

要显示关于客户机发送和拒绝的RPC和NFS调用数目的信息,输入:

1
nfsstat -c

要显示和打印与客户机NFS调用相关的信息,输入如下命令:

1
nfsstat -cn

要显示和打印客户机和服务器的与RPC调用相关的信息,输入如下命令:

1
nfsstat -r

要显示关于服务器接收和拒绝的RPC和NFS调用数目的信息,输入如下命令:

1
nfsstat –s

newusers

用于批处理的方式一次创建多个命令

补充说明

newusers命令 用于批处理的方式一次创建多个命令。

语法

1
newusers(参数)

参数

用户文件:指定包含用户信息的文本文件,文件的格式要与/etc/passwd相同。

实例

实用newusers命令批量添加用户:

用法很简单,newusers后面直接跟一个文件,文件格式和/etc/passwd的格式相同。

1
用户名1:x:UID:GID:用户说明:用户的家目录:所用SHELL

举例:

1
2
3
jingang0:x:520:520::/home/jingang0:/sbin/nologin
jingang1:x:521:521::/home/jingang1:/sbin/nologin
......

值得一提的是关于SHELL类型,查看主机上所有SHELL,可以通过chsh来查看:

1
2
3
4
5
6
7
8
[root@localhost beinan]# chsh --list
/bin/sh
/bin/bash
/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh

其中除了/sbin/nologin,其它类型的SHELL都能登录系统,nologin大多是虚拟用户用的SHELL,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL设置成/sbin/nologin,比如上面的例子。

关于用户名、UID、GID及用户的家目录是怎么回事,您可以读相应的参考文档。

netstat

查看Linux中网络系统状态信息

补充说明

netstat命令 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

语法

1
netstat(选项)

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。

实例

列出所有端口 (包括监听和未监听的)

1
2
3
netstat -a     #列出所有端口
netstat -at #列出所有tcp端口
netstat -au #列出所有udp端口

列出所有处于监听状态的 Sockets

1
2
3
4
netstat -l        #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口

显示每个协议的统计信息

1
2
3
netstat -s   显示所有端口的统计信息
netstat -st 显示TCP端口的统计信息
netstat -su 显示UDP端口的统计信息

在netstat输出中显示 PID 和进程名称

1
netstat -pt

netstat -p可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。

在netstat输出中不显示主机,端口和用户名(host, port or user)

当你不想让主机,端口和用户名显示,使用netstat -n。将会使用数字代替那些名称。同样可以加速输出,因为不用进行比对查询。

1
netstat -an

如果只是不想让这三个名称中的一个被显示,使用以下命令:

1
2
3
netsat -a --numeric-ports
netsat -a --numeric-hosts
netsat -a --numeric-users

持续输出netstat信息

1
netstat -c   #每隔一秒输出网络信息

显示系统不支持的地址族(Address Families)

1
netstat --verbose

在输出的末尾,会有如下的信息:

1
2
3
4
netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.

显示核心路由信息

1
netstat -r

使用netstat -rn显示数字格式,不查询主机名称。

找出程序运行的端口

并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

1
netstat -ap | grep ssh

找出运行在指定端口的进程:

1
netstat -an | grep ':80'

通过端口找进程ID

1
netstat -anp|grep 8081 | grep LISTEN|awk '{printf $7}'|cut -d/ -f1

显示网络接口列表

1
netstat -i

显示详细信息,像是ifconfig使用netstat -ie

IP和TCP分析

查看连接某服务端口最多的的IP地址:

1
netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr

TCP各种状态列表:

1
netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'

查看phpcgi进程数,如果接近预设值,说明不够用,需要增加:

1
netstat -anpo | grep "php-cgi" | wc -l

nethogs

终端下的网络流量监控工具

补充说明

有很多适用于Linux系统的开源网络监视工具。比如说,你可以用命令iftop来检查带宽使用情况。netstat用来查看接口统计报告,还有top监控系统当前运行进程。但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么NetHogs值得一看。

NetHogs 是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。

来自NetHogs项目网站:

NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。

本文为你介绍如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。

语法

1
nethogs(选项)(参数)

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
-V : 打印版本。
-h : 打印此帮助。
-b : bughunt模式 - 暗示tracemode。
-d : 延迟更新刷新率(以秒为单位)。 默认值为1。
-v : 视图模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0。
-c : 更新次数。 默认为0(无限制)。
-t : tracemode.
-p : 煽动混乱模式(不推荐)。
-s : 按发送列排序输出。
-a : 监控所有设备,甚至环回/停止。
device : 要监控的设备。 默认是所有接口启动和运行,不包括环回

当nethogs运行时,按:
q:退出
s:按SENT流量排序
r:按RECEIVE流量排序
m:在总(KB,B,MB)和KB / s模式之间切换

其他参数和用法

1
2
3
4
5
-d : 刷新间隔
-h : 帮助
-p : promiscious 模式
-t : trace模式
-V : 版本

交互命令

以下是NetHogs的一些交互命令(键盘快捷键)

  • m : 修改单位
  • r : 按流量排序
  • s : 按发送流量排序
  • q : 退出命令提示符

安装

在RHEL、CentOS和Fedora下安装NetHogs

要安装NetHogs,你必须要启用你所用Linux下的EPEL源。然后运行下面的yum命令下载安装NetHogs包。

1
# yum install nethogs

在Ubuntu、Linux mint和Debian下安装NetHogs

键入apt-get命令安装NetHogs包:

1
$ sudo apt-get install nethogs

NetHogs用法

在基于RedHat系统下键入如下命令启动NetHogs工具。

1
# nethogs

在Debian/Ubuntu/Linux Mint下要执行NetHogs你必须拥有root权限:

1
$ sudo nethogs

!nethogs

Ubuntu 12.10 下的NetHogs预览

正如上图所示,send列和received列显示的是按照每个进程的流量统计。总的收发数据带宽在最下方,而且可以用交互命令控制排序,下面将要讨论这些交互命令。

NetHogs 命令行参数

以下就是NetHogs命令行的参数,用-d来添加刷新频率参数,device name 用来检测给定的某个或者某些设备的带宽(默认是eth0)。例如:设置5秒钟的刷新频率,键入如下命令即可:

1
# nethogs -d 5
1
$ sudo nethogs -d 5

如果只用来监视设备(eth0)的网络带宽可以使用如下命令:

1
# nethogs eth0
1
$ sudo nethogs eth0

如果要同时监视eth0和eth1接口,使用以下命令即可:

1
# nethogs eth0 eth1
1
$ sudo nethogs eth0 eth1

关于NetHogs命令行工具的完整参数列表,可以参考NetHogs的手册,使用方法是在终端里输入man nethogs或者sudo man nethogs,更多信息请参考NetHogs项目主页。

ncftp

是增强的的FTP工具

补充说明

ncftp命令 是增强的的ftp工具,比传统的FTP指令更加强大。FTP让用户得以下载存放于服务器主机的文件,也能将文件上传到远端主机放置。ncftp是文字模式FTP程序的佼佼者,它具备多样特色,包括显示传输速率,下载进度,自动续传,标住书签,可通过防火墙和代理服务器等。

语法

1
ncftp(选项)(参数)

选项

1
2
3
4
5
-u:指定登录FTP服务器时使用的用户名;
-p:指定登录FTP服务器时使用的密码;
-P:如果FTP服务器没有使用默认的TCP协议的21端口,则使用此选项指定FTP服务器的端口号。
-m:在传之前尝试在目录位置创建目录(用于传目录的情况)
-R:递规传子目录

参数

FTP服务器:指定远程FTP服务器的ip地址或主机名。

安装

1
2
3
4
5
wget ftp://ftp.ncftp.com/ncftp/ncftp-3.2.3-src.tar.gz
tar zxvf ncftp-3.2.3-src.tar.gz
cd ncftp-3.2.3/
./configure --prefix=/usr/local/ncftp
make && make install

实例

将本地/etc/目录内的所有文件和目录,上传到FTP服务器的flv/games/目录内(如果不存在flv/games/目录则自动创建)。

1
/usr/local/ncftp/bin/ncftpput -u koumm -p koumm -P 21 -m -R 192.168.162.137  flv/games/ /etc/*

指令说明

ncftp的基本命令和普通ftp一样,可以输入help获得命令列表。对于所有的命令,都可以使用help <命令>的格式获得详细帮助。l开头的就是对本地执行的命令,其它的就是对登入的ftp服务目录的操作命令。

增加的本地文件系统的操作命令:

  • lls: 列出本地当前目录文件;
  • lmkdir : 本地建立目录;
  • lrename: 本地文件改名;
  • lpwd: 显示当前本地路 径;
  • lchmod: 改变本地文件权限;
  • lpage: 显示本地文件内容;
  • lrm: 删除本地文件;
  • lrmdir: 删除本地目录。

nc

用于设置路由器,是网络工具中的瑞士军刀。

补充说明

nc命令 全称netcat,用于设置路由器。它能通过 TCP 和 UDP 在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用 netcat 命令所能完成的事情令人惊讶。

语法

1
2
nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>]
[-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。

实例

TCP端口扫描

1
2
3
4
5
[root@localhost ~]# nc -v -z -w2 192.168.0.3 1-100 
192.168.0.3: inverse host lookup failed: Unknown host
(UNKNOWN) [192.168.0.3] 80 (http) open
(UNKNOWN) [192.168.0.3] 23 (telnet) open
(UNKNOWN) [192.168.0.3] 22 (ssh) open

扫描192.168.0.3 的端口 范围是 1-100
扫描UDP端口

1
[root@localhost ~]# nc -u -z -w2 192.168.0.1 1-1000  # 扫描192.168.0.3 的端口 范围是 1-1000

扫描指定端口

1
2
3
[root@localhost ~]# nc -nvv 192.168.0.1 80 # 扫描 80端口
(UNKNOWN) [192.168.0.1] 80 (?) open
y //用户输入

查看从服务器到目的地的出站端口 443 是否被防火墙阻止

1
2
3
4
nc -vz acme-v02.api.letsencrypt.org 443 -w2
# Ncat: Version 7.50 ( https://nmap.org/ncat )
# Ncat: Connected to 23.77.214.183:443.
# Ncat: 0 bytes sent, 0 bytes received in 0.07 seconds.

nano

字符终端文本编辑器

补充说明

nano 是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。

nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成系统不灵了。因此,如果你想避免这种情况出现,就加上-w选项吧。

语法

1
nano [选项] [[+行,列] 文件名]...

选项

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
40
41
42
-h, -?         --help                  显示此信息
+行,列 从所指列数与行数开始
-A --smarthome 启用智能 HOME 键
-B --backup 储存既有文件的备份
-C <目录> --backupdir=<目录> 用以储存独一备份文件的目录
-D --boldtext 用粗体替代颜色反转
-E --tabstospaces 将已输入的制表符转换为空白
-F --multibuffer 启用多重文件缓冲区功能
-H --historylog 记录与读取搜索/替换的历史字符串
-I --ignorercfiles 不要参考nanorc 文件
-K --rebindkeypad 修正数字键区按键混淆问题
-L --nonewlines 不要将换行加到文件末端
-N --noconvert 不要从 DOS/Mac 格式转换
-O --morespace 编辑时多使用一行
-Q <字符串> --quotestr=<字符串> 引用代表字符串
-R --restricted 限制模式
-S --smooth 按行滚动而不是半屏
-T <#列数> --tabsize=<#列数> 设定制表符宽度为 #列数
-U --quickblank 状态行快速闪动
-V --version 显示版本资讯并离开
-W --wordbounds 更正确地侦测单字边界
-Y <字符串> --syntax=<字符串> 用于加亮的语法定义
-c --const 持续显示游标位置
-d --rebinddelete 修正退格键/删除键混淆问题
-i --autoindent 自动缩进新行
-k --cut 从游标剪切至行尾
-l --nofollow 不要依照符号连结,而是覆盖
-m --mouse 启用鼠标功能
-o <目录> --operatingdir=<目录> 设定操作目录
-p --preserve 保留XON (^Q) 和XOFF (^S) 按键
-q --quiet 沉默忽略启动问题, 比如rc 文件错误
-r <#列数> --fill=<#列数> 设定折行宽度为 #列数
-s <程序> --speller=<程序> 启用替代的拼写检查程序
-t --tempfile 离开时自动储存,不要提示
-u --undo 允许通用撤销[试验性特性]
-v --view 查看(只读)模式
-w --nowrap 不要自动换行
-x --nohelp 不要显示辅助区
-z --suspend 启用暂停功能
-$ --softwrap 启用软换行
-a, -b, -e,
-f, -g, -j (忽略,为与pico 相容)

用法

光标控制

  • 移动光标:使用用方向键移动。
  • 选择文字:按住鼠标左键拖到。

    复制、剪贴和粘贴

  • 复制一整行:Alt+6

  • 剪贴一整行:Ctrl+K

    粘贴:Ctrl+U

如果需要复制/剪贴多行或者一行中的一部分,先将光标移动到需要复制/剪贴的文本的开头,按Ctrl+6(或者Alt+A)做标记,然后移动光标到 待复制/剪贴的文本末尾。这时选定的文本会反白,用Alt+6来复制,Ctrl+K来剪贴。若在选择文本过程中要取消,只需要再按一次Ctrl+6。

搜索

按Ctrl+W,然后输入你要搜索的关键字,回车确定。这将会定位到第一个匹配的文本,接着可以用Alt+W来定位到下一个匹配的文本。

翻页

  • Ctrl+Y到上一页
  • Ctrl+V到下一页

    保存

使用Ctrl+O来保存所做的修改

退出

按Ctrl+X

如果你修改了文件,下面会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。如果输入了Y,下一步会让你输入想要保存的文件名。如果不需要修改文件名直接回车就行;若想要保存成别的名字(也就是另存为)则输入新名称然后确 定。这个时候也可用Ctrl+C来取消返回。

named-checkzone

使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。

补充说明

named-checkzone命令 可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。

语法

1
named-checkzone [选项] [区域名] [区域文件名]

选项

1
2
3
-q 安静模式
-d 启用调试
-c <类别> 指定区域的类别。如果没指定就使用IN

例子

对区域文件/var/named/192.168.0.rev进行有效性检查和转换。

1
2
3
[root@localhost ~]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev
zone0.168.192.in-addr.arpa/IN: loaded serial 1268360612
OK

对区域文件/var/named/sh.com.hosts进行有效性检查和转换。

1
2
3
4
[root@localhost ~]#  named-checkzone sh.com /var/named/sh.com.hosts
zonesh.com/IN: sh.com/MX 'mail.sh.com' is a CNAME (illegal)
zonesh.com/IN: loaded serial 1268360234
OK