linux下取出两个文本文件中相同的行或不同的行,计算行数,排除重复行等

 linux  linux下取出两个文本文件中相同的行或不同的行,计算行数,排除重复行等已关闭评论
3月 302021
 

1.  两个文本文件,现在想取出其中的相同的行或不同的行,可以以下操作:(比如文件a.txt和文件b.txt)

grep -wf a.txt b.txt   (取出相同的行)

grep -wvf a.txt b.txt   (取出不相同的行)

 

2.  如果要计算取出的行一共多少行? 如下:

grep -wf a.txt b.txt  | wc -l   (相同的行一共有多少行)

 

3. 如果a.txt有重复行数据,可以使用下面命令过滤并产生新文件a1.txt,然后再用上面的方法比较

sort a.txt | uniq -c | sort -rn | cut -c 9-  > a1.txt  (sort先排序,uniq再计数,sort -rn再按重复数量倒序, cut再截取,后导出)

 

 

MacOS下命令行查询网络端口占用情况

 mac  MacOS下命令行查询网络端口占用情况已关闭评论
12月 052019
 

MacOS下命令行查询网络端口占用情况(进程号等)

1. netstat命令
[[email protected] centos]# netstat -an | grep 8889
tcp 0 0 0.0.0.0:8889 0.0.0.0:* LISTEN
tcp6 0 0 :::8889 :::* LISTEN
8889即查询的端口号,替换成自己需要查询的端口号

但是 OS X 的 netstat 不能查看使用端口的程序名,建议使用 lsof 代替 netstat 进行查看

2.lsof命令
通过lsof(list open file)命令可以查看到当前打开文件,在linux(mac os内核也基于unix)中所有事物都是以文件形式存在,包括网络连接及硬件设备。
-n 表示不显示主机名
-P 表示不显示端口俗称
非root用户(不加sudo运行命令)下运行,只能查看以当前用户运行的程序,

[[email protected] centos]# lsof -i:8889 -P -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 24433 root 4u IPv6 146243463 0t0 TCP *:8889 (LISTEN)
python 24433 root 6u IPv4 146243464 0t0 TCP *:8889 (LISTEN)

-i参数表示网络链接,:8999指明端口号,该命令会同时列出PID

举例:
查看所有进程监听的端口
sudo lsof -i -P | grep -i “listen”
sudo lsof -nP -iTCP -sTCP:LISTEN

Mac OS X 中一些常用的命令行技巧

 mac  Mac OS X 中一些常用的命令行技巧已关闭评论
12月 022018
 

挺好的文章,分享下:https://www.cnblogs.com/wwl188/p/5612505.html

一、网络设置相关

1、网卡的物理地址的动态重置

出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址。不过,系统偏好设置是不能修改网卡物理地址的,这就是命令行的用武之地了。具体来说,若心中已有想修改的物理地址,例如 00:1f:3c:93:b5:99,可执行

$ sudo ifconfig en1 ether 00:1f:3c:93:b5:99

来临时修改网卡的物理地址;若没有物理地址,只是想临时启用尝试一下,可用 openssl 生成一个随机的物理地址:

$ openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'

当然,用 openssl 生成的物理地址可能会与网络中的网卡地址有冲突,在启用随机生成的网卡地址之前,最好先确认一下是否已有 IP 地址已绑定该物理地址:

$ arp -a

2、主机名、计算机名的重置

默认的主机名让人非常无语,特别是出现了一些与 locale 有关的特殊字符。通常情况下,这些并不可见,但是,频繁使用终端时,就会被这些莫名其妙的主机名恶心到了。因此,修改主机名成了当务之急,不过修改的方法很简单。顺次点击左上角的苹果图标->系统偏好设置->共享,接着修改主机电脑名与局域网主机名即可。话说回来,Unix 的命令行是强大的,因此,主机名与计算机名的修改也可以通过命令行修改。

$ sudo scutil --set ComputerName newnameformacosx
$ sudo scutil --set HostName newhostnameformacosx

好了,查看一下修改是否成功:

$ scutil --get ComputerName
$ scutil --get HostName

将主机名放入 /etc/hosts 文件

$ echo 127.0.0.1 newhostnameformacosx >> /etc/hosts

重启网络服务让上述修改立马生效:

$ sudo dscacheutil -flushcache $ sudo killall -HUP mDNSResponder

3、命令行下载工具的使用

众所周知,wget 是大多是 *nix 系统中标准的命令行下载工具。不过 Mac OS X 中并不自带 wget,取而代之的是命令行下载工具 curl。下面来介绍一下 curl 的基本用法,例如直接下载

$ curl -O http://wordpress.org/latest.zip

若想将下载文件重命名

$ curl -o wordpress-3.8.zip 'http://wordpress.org/latest.zip'

若想在下载过程中显示进度,可执行

$ curl -# -O http://wordpress.org/latest.zip

如果下载的 url 链接需要重定向,可试试下述方式

$ curl -L -o 'file.zip' 'http://example.com/download.php?fileID=foo'

若想节省带宽,可执行

$ curl -L -O --compressed 'http://example.com/large.report-tab.html'

若下载链接需要输入用户名与密码,可试试

$ curl ftp://james:[email protected]:21/path/to/backup.tar.gz $ curl http://james:[email protected]/file/path/data.tar.gz

若下载的是带加密的链接,例如下载链接由 SSL/HTTPS/SFTP 提供,可试试

$ curl --ftp-ssl -u james:123456 ftp://202.121.137.58:21/backups/07/07/2012/mysql.blog.sql.tar.gz $ curl -u james sftp://202.121.137.57/backups/data.tar.gz

4、系统更新与 Xcode.app 的命令行工具安装

通常,Mac OS X 上的软件更新是通过 App Store 完成,但是对于那些 geek 来说,可以试试下述命令:

$ sudo softwareupdate --list

会列出所有可能的更新,然后选择需要的更新进行安装

$ sudo softwareupdate --install SomeApp

若不想选择直接更新所有可能的更新,可执行

$ sudo softwareupdate -i -a

Xcode 是 Apple 推出的集成开发环境,它带有 Apple 改良过的 GCC 版本 llvm-gcc。安装它,非常容易,仅需去 App Store 下载 Xcode.app 即可。不过对于 Unix geek 来说,这是不能让人满意的。因为 Xcode.app 不自带命令行工具,需要单独安装它。在 Xcode 5.0 之前,命令行工具的安装非常简单,仅需打开 Xcode.app,然后点击偏好设置->下载->组件,然后选择 Xcode 命令行工具安装即可。但是自 Xcode 5.0 开始,安装 Xcode 的命令行工具,须在终端执行下述命令:

$ xcode-select --install

二、文件系统的相关操作

1、HFS 文件系统的扩展属性

在 Mac OS X 下的 hfs+ 文件系统上,文件经常会被附加上 Mac 专有的扩展属性。比如

$ ls -l
total 0 [email protected] 1 daniel  staff  0 16 jul 19:28 1.txt -rw-r--r--  1 daniel  staff  0 16 jul 19:28 2.txt

会有 @ 标志。这个属性是用户在 Finder 里对文件进行任意操作时就会附加上的。比如右键查看 Get Info,然后在 spotlight commands 里写上几个字再删掉,此时,该文件就会附带有 @ 属性。如果想手动去除掉文件的 @ 属性,可以使用命令 xattr。例如

$ xattr -l 1.txt
com.apple.metadata:kmditemfindercomment $ xattr -d com.apple.metadata:kmditemfindercomment 1.txt $ xattr -l 1.txt $ ls -al 1.txt

此时就没有特殊属性了。

2、文件或文件夹的复制、打包与解包

由于 Mac OS X 文件系统中的扩展属性,若将 Mac OS X 系统中的文件直接用打包释放到 Linux 系统中造成莫名奇妙的错误。这里就需要处理一下文件在复制、打包过程中的扩展属性。首先,Mac OS X 的 cp 命令有一个选项 -X,用它可在复制过程中忽略这些文件的扩展属性。因此,在打包前,先可复制出一份没有扩展属性的文件包,例如

$ cp -Xr /path/to/src - | tar czvf src.tar.gz -

当然,除去扩展属性之外,通常,文件直接打包作成中还会出现 Mac OS X 系统专有的隐藏文件,流入 _MACOSX、._Filename 与 .DS_Store 等。在打 zip 包时,可使用 -X 选项排除这些文件,例如

$ zip -r -X archive_name.zip folder_to_compress

不过,对于 *nix 系统中专有的打包命令 tar,可就没有 -X 选项这么好的东西了。好在 Mac OS X 还是提供了专门的方法,例如,在打 gzip 包时,可使用如下命令

$ COPYFILE_DISABLE=1 tar -zcvf archive_name.tar.gz folder_to_compress

打 bzip2 包也很简单:

$ COPYFILE_DISABLE=1 tar -jcvf archive_name.tar.bz2 folder_to_compress

对于其他格式的 tar 包照此处理。解包过程相对简单,这里附上一段与解包相关的 Bash 配置:

$ echo "# ignore useless invisible files or extended attributes on Mac OS X for cp and tar
export COPYFILE_DISABLE=true
# extract: Extract most know archives with one command
extract () {  if [ -f $1 ] ; then    case $1 in     *.tar.bz2)	tar xjf $1	  ;;     *.tar.gz)	 tar xzf $1	  ;;     *.bz2)		 bunzip2 $1	  ;;     *.rar)		 unrar e $1	  ;;     *.gz)		  gunzip $1		;;     *.tar)		 tar xf $1		;;     *.tbz2)		tar xjf $1	  ;;     *.tgz)		 tar xzf $1	  ;;     *.zip)		 unzip $1		 ;;     *.Z)			uncompress $1  ;;     *.7z)		  7z x $1		  ;;     *)	  echo "'$1' cannot be extracted via extract()" ;;    esac  else    echo "'$1' is not a valid file"  fi
}" >> ~/.bashrc

3、DMG 格式文件的制作以及 ISO 转换互转

DMG 格式是 Mac OS X 中常用的打包格式,创建 DMG 格式的文件,可直接利用系统自带的磁盘工具(Disk Utils)完成。不过这里稍微介绍一下命令行 hdiutil 的用法。创建 DMG 格式的文件

$ hdiutil create -size 100M -stdinpass -format UDZO -srcfolder folder_to_compress archive_name.dmg

其中可以选用的 DMG 格式有 UDZO(压缩格式,默认)、UDRO(只读格式)、UDBZ(Better compressed image)、UDRW(可读写格式)UDTO(DVD 格式)。若想修改 DMG 文件的大小,可执行

$ hdiutil resize 150M /path/to/the/diskimage

若想修改 DMG 格式中的加密口令,可执行

$ hdiutil chpass /path/to/the/diskimage

挂载 DMG 格式的文件可用

$ hdiutil attach archive_name.dmg

它的挂载点在 /Volumes 目录的同名目录下

$ ls -lah /Volumes/archive_name/

卸载 DMG 文件的方法是:

$ hdiutil eject /Volumes/archive_name/

将 ISO 格式的文件转为 DMG 格式的文件

$ hdiutil convert /path/imagefile.iso -format UDRW -o /path/convertedimage.dmg

将 DMG 格式的文件转为 ISO 格式的文件

$ hdiutil convert /path/imagefile.dmg -format UDTO -o /path/convertedimage.cdr $ hdiutil makehybrid /path/convertedimage.cdr -iso -joliet -o /path/convertedimage.iso

4、文件系统的挂载

大多数情况下,文件管理器 Finder 会自动发现诸如 USB 等外部设备,因此无须用户自行挂载分区;但是,有的时候,例如 Mac OS X 硬盘重新分区后,划出了 msdos 分区或者 ext4 等非 HFS 文件系统的分区,如果要读写这些分区,就需要手动挂载这些文件系统了。挂载文件系统的第一步是建立挂载点,例如

$ sudo mkdir /Volumes/Foo $ sudo mkdir /Volumes/bar

接着查看有哪些设备需要手动挂载并挂载它们

$ ls /dev/disk* $ sudo mount -t msdos /dev/disk1s1 /Volumes/Foo $ sudo mount -t hfs /dev/disk1s2 /Volumes/bar

最后,卸载这些不在需要的分区

$ diskutil eject /dev/disk1s1 $ diskutil eject /dev/disk1s2

4、文件或文件夹的隐藏属性

通常,为了保护 Mac OS X 系统中的文件不会被用户随意修改,文件管理器 Finder 是不会显示带隐藏属性的文件与系统文件。但是,有些时候,需要操作这些文件(夹), 此时就需要让 Finder 找到这些文件,方法也很简单。在 Finder 的菜单栏中点击 Go -> Go to folder,与之对应的,可使用快捷键  shift+command+G 。 当然,如果对于 Mac OS X 自带的文件管理器不满意,可安装第三方文件管理器,例如 totalfinder。其实,单就隐藏文件来说,Mac OS X 还提供了其他方法,下面逐一介绍它们。 

4.1 修改 Finder 配置文件 让 Finder 程序显示隐藏文件

$ defaults write com.apple.finder AppleShowAllExtensions TRUE

让 Finder 程序不显示隐藏文件

$ defaults write com.apple.finder AppleShowAllExtensions FALSE

Finder 的配置文件影响到整个文件系统,属于比较暴力的方法。

4.2、开启或关闭某些文件或文件夹的隐藏属性 用下面命令可以解除文件夹的隐藏属性:

$ chflags nohidden ~/Library

恢复文件夹的隐藏属性:

$ chflags hidden ~/Library

事实上,HFS+ 文件系统中文件和目录的隐藏属性也可通过 SetFile 命令来修改。例如,执行

$ mkdir -p ~/Sites
$ SetFile -a V ~/Sites

可开启文件夹 ~/Sites 的隐藏属性;而执行

$ SetFile -a v ~/Sites

可以关闭它的隐藏属性。

三、杂项

1、重置被遗忘的管理员密码

首先,在系统开机还未进入登录界面时按下  command+S 进入单用户模式。然后输入 

$ mount -rw /

以读写方式挂载文件系统;接着重置管理员 james 的密码

$ passwd james

完成后,输入

$ reboot

重启开机即可。

2、重建 Spotlight 数据库

比较简单的办法是用鼠标顺次点击系统偏好-> Spotlight ->重建数据库;对于命令行发烧友来说,可以试试

$ sudo mdutil -E /

3、清理缓存

$ sudo purge

nodejs中使用yargs 模块处理命令行参数

 Nodejs  nodejs中使用yargs 模块处理命令行参数已关闭评论
6月 152017
 

yargs 模块

shelljs 只解决了如何调用 shell 命令,而 yargs 模块能够解决如何处理命令行参数。它也需要安装。

$ npm install --save yargs

yargs 模块提供 argv 对象,用来读取命令行参数。请看改写后的 hello 。

#!/usr/bin/env node var argv = require('yargs').argv; console.log('hello ', argv.name); 

使用时,下面两种用法都可以。

$ hello --name=tom
hello tom

$ hello --name tom
hello tom

也就是说,process.argv 的原始返回值如下。

$ node hello --name=tom [ 'node', '/path/to/myscript.js', '--name=tom' ] 

yargs 可以上面的结果改为一个对象,每个参数项就是一个键值对。

var argv = require('yargs').argv;  // $ node hello --name=tom // argv = { //   name: tom // }; 

如果将 argv.name 改成 argv.n,就可以使用一个字母的短参数形式了。

$ hello -n tom
hello tom

可以使用 alias 方法,指定 name 是 n 的别名。

#!/usr/bin/env node var argv = require('yargs') .alias('n', 'name') .argv; console.log('hello ', argv.n); 

这样一来,短参数和长参数就都可以使用了。

$ hello -n tom
hello tom
$ hello --name tom
hello tom

argv 对象有一个下划线(_)属性,可以获取非连词线开头的参数。

#!/usr/bin/env node var argv = require('yargs').argv; console.log('hello ', argv.n); console.log(argv._); 

用法如下。

$ hello A -n tom B C
hello  tom [ 'A', 'B', 'C' ] 

yargs命令行参数的配置

yargs 模块还提供3个方法,用来配置命令行参数。

  • demand:是否必选
  • default:默认值
  • describe:提示
#!/usr/bin/env node var argv = require('yargs') .demand(['n']) .default({n: 'tom'}) .describe({n: 'your name'}) .argv; console.log('hello ', argv.n); 

上面代码指定 n 参数不可省略,默认值为 tom,并给出一行提示。

options 方法允许将所有这些配置写进一个对象。

#!/usr/bin/env node var argv = require('yargs') .option('n', { alias : 'name', demand: true, default: 'tom', describe: 'your name', type: 'string' }) .argv; console.log('hello ', argv.n); 

有时,某些参数不需要值,只起到一个开关作用,这时可以用 boolean 方法指定这些参数返回布尔值。

#!/usr/bin/env node var argv = require('yargs') .boolean(['n']) .argv; console.log('hello ', argv.n); 

上面代码中,参数 n 总是返回一个布尔值,用法如下。

$ hello
hello false $ hello -n
hello true $ hello -n tom
hello true 

boolean 方法也可以作为属性,写入 option 对象。

#!/usr/bin/env node var argv = require('yargs') .option('n', { boolean: true }) .argv; console.log('hello ', argv.n); 

yargs帮助信息

yargs 模块提供以下方法,生成帮助信息。

  • usage:用法格式
  • example:提供例子
  • help:显示帮助信息
  • epilog:出现在帮助信息的结尾
#!/usr/bin/env node var argv = require('yargs') .option('f', { alias : 'name', demand: true, default: 'tom', describe: 'your name', type: 'string' }) .usage('Usage: hello [options]') .example('hello -n tom', 'say hello to Tom') .help('h') .alias('h', 'help') .epilog('copyright 2015') .argv; console.log('hello ', argv.n); 

执行结果如下。

$ hello -h

Usage: hello [options] Options: -f, --name  your name [string] [required] [default: "tom"] -h, --help  Show help [boolean] Examples: hello -n tom  say hello to Tom

copyright 2015 

yargs子命令

yargs 模块还允许通过 command 方法,设置 Git 风格的子命令。

#!/usr/bin/env node var argv = require('yargs') .command("morning", "good morning", function (yargs) { console.log("Good Morning"); }) .command("evening", "good evening", function (yargs) { console.log("Good Evening"); }) .argv; console.log('hello ', argv.n); 

用法如下。

$ hello morning -n tom
Good Morning
hello tom

可以将这个功能与 shellojs 模块结合起来。

#!/usr/bin/env node require('shelljs/global'); var argv = require('yargs') .command("morning", "good morning", function (yargs) { echo("Good Morning"); }) .command("evening", "good evening", function (yargs) { echo("Good Evening"); }) .argv; console.log('hello ', argv.n); 

每个子命令往往有自己的参数,这时就需要在回调函数中单独指定。回调函数中,要先用 reset 方法重置 yargs 对象。

#!/usr/bin/env node require('shelljs/global'); var argv = require('yargs') .command("morning", "good morning", function (yargs) { echo("Good Morning"); var argv = yargs.reset() .option("m", { alias: "message", description: "provide any sentence" }) .help("h") .alias("h", "help") .argv; echo(argv.m); }) .argv; 

用法如下。

$ hello morning -m "Are you hungry?" Good Morning
Are you hungry?

转自:http://www.ruanyifeng.com/blog/2015/05/command-line-with-node.html

MySQL命令行参数整理

 mysql  MySQL命令行参数整理已关闭评论
11月 102015
 

Mysql命令行参数整理:

—help,-? 
显示帮助消息并退出。


–batch,-B 
打印结果,使用tab作为列间隔符,每个行占用新的一行。使用该选项,则mysql不使用历史文件。


–character-sets -dir=path 
字符集的安装目录。


–compress,-C 
压缩在客户端和服务器之间发送的所有信息(如果二者均支持压缩)。


—database=db_name,-D db_name 
要使用的数据库教程。主要在选项文件中有用。


—debug[=debug_options],-# [debug_options] 
写调试日志。debug_options字符串通常为’d:t:o,file_name’。 默认为’d:t:o,/tmp/mysql.trace’。


—debug-info,-T 
当程序退出时输出部分调试信息。


–default-character-set=charset 
使用charsetas作为默认字符集。


–execute=statement, -e statement 
执行语句并退出。默认输出格式与用–batch产生的相同。


–force,-f 
即使出现一个SQL错误仍继续。


–host=host_name,-h host_name 
连接给定主机上的MySQL服务器。


–html,-H 
产生HTML输出。


–ignore-space,-i 
忽视函数名后面的空格


–local-infile[={0|1}] 
为LOAD DATA INFILE启用或禁用LOCAL功能。没有值,该选项启用LOCAL。还可以采用–local-infile=0或–local-infile=1以显式禁用或启用LOCAL。如果服务器不支持,启用LOCAL不会生效。


–named-commands,-G 
命名的命令被启用。允许长格式命令和短格式*命令。例如,quit和q均被识别。


–no-auto-rehash,-A 
不自动重新进行哈希运算。该选项使mysql启动得更快,但果你想要完成表和列名,你必须发出rehash命令。


–no-beep,-b 
当发生错误时不要发出报警声。


–no-named-commands,-g 
命名的命令被禁用。只使用*形式,或者只使用行开头的命名用分号(‘;’)结束的的命令。对于MySQL 3.23.22,默认情况mysql启动时启用该选项。然而,即使使用该选项,长格式命令仍然从第1行工作。


–no-pager 
不使用分页器来显示查询输出。


–no-tee 
不将输出复制到文件中。 
· 
–one–database,-O 
忽视除了为命令行中命名的默认数据库的语句。可以帮助跳过对二进制日志中的其它数据库的更新。

 

–pager[=command] 
使用给出的命令来分页查询输出。如果该命令被删除,默认分页器为PAGER环境变量的值。合法pagers是less、more、cat [>filename]等等。该选项只在Unix中工作。不能以批处理模式工作


–password[=password],-p[password] 
当连接服务器时使用的密码。如果使用短选项形式(-p),选项和 密码之间不能有空格。如果在命令行中–password或-p选项后面没有 密码值,则提示输入一个密码。在SysV-based UNIX系统中应省略密码,因为密码可以显示在ps教程的输出中。


–port=port_num,-P port_num 
用于连接的TCP/IP端口号。


–prompt=format_str 
将提示设置为指定的格式。默认为mysql>。


–protocol={TCP | SOCKET | PIPE | MEMORY} 
使用的连接协议。


–quick,-q 
不缓存每个查询的结果,按照接收顺序打印每一行。如果输出被挂起,服务器会慢下来。使用该选项,mysql不使用历史文件。


–raw,-r 
写列的值而不转义转换。通常结合–batch选项使用。


–reconnect 
如果与服务器之间的连接断开,自动尝试重新连接。每次连接断开后则尝试一次重新连接。要想禁止重新连接,使用–skip-reconnect。


–safe-updates,–i-am-a-dummy,-U 
只允许那些使用键值指定行生效的UPDATE和DELETE语句。如果已经在选项文件中设置了该选项,可以用命令行中的–safe-updates覆盖它。


–secure-auth 
不向旧(pre-4.1.1)格式的服务器发送密码。这样可以防止不使用新密码格式的服务器的连接。


–show-warnings 
如果每个语句后有警告则显示。该选项适用于交互式和批处理模式。


–sigint-ignore 
忽视SIGINT符号(一般为Control-C的结果)。


–silent,-s 
沉默模式。产生少的输出。可以多次使用该选项以产生更少的输出。


–skip-column-names,-N 
在结果中不写列名。


–skip-line-numbers,-L 
在错误信息中不写行号。当你想要比较包括错误消息的结果文件时有用。


–socket=path,-S path 
用于连接的套接字文件。


–tables,-t 
用表格式显示输出。这是交互式应用的默认设置,但可用来以批处理模式产生表输出。


–tee=file_name 
将输出拷贝添加到给定的文件中。该选项在批处理模式不工作。


–unbuffered,-n 
每次查询后刷新缓存区。


–user=user_name,-u user_name 
当连接服务器时MySQL使用的用户名。


–verbose,-v 
冗长模式。产生更多的输出。可以多次使用该选项以产生更多的输出。(例如,-v -v -v甚至可以在批处理模式产生表输出格式)。

 

–version,-V 
显示版本信息并退出。


–vertical,-E 
垂直输出查询输出的行。没有该选项,可以用G结尾来指定单个语句的垂直输出。


–wait,-w 
如果不能建立连接,等待并重试而不是放弃。


–xml,-X 
产生XML输出。 
你还可以使用–var_name=value选项设置下面的变量:


connect_timeout 
连接超时前的秒数。(默认值是0)。

 

max_allowed_packet 
从服务器发送或接收的最大包长度。(默认值是16MB)。

 

max_join_size 
当使用–safe-updates时联接中的行的自动限制。(默认值是1,000,000)。

 

net_buffer_length 
TCP/IP和套接字通信缓冲区大小。(默认值是16KB)。

 

select_limit 
当使用–safe-updates时SELECT语句的自动限制。(默认值是1,000)。 
也可以使用–set-variable=var_name=value or -O var_name=value语法来设置变量。不赞成使用[i]该语法[/i]。