mysqlshow

显示MySQL中数据库相关信息

补充说明

mysqlshow命令 用于显示mysql服务器中数据库、表和列表信息。

语法

1
mysqlshow(选项)(参数)

选项

1
2
3
4
5
6
7
-h:MySQL服务器的ip地址或主机名;
-u:连接MySQL服务器的用户名;
-p:连接MySQL服务器的密码;
--count:显示每个数据表中数据的行数;
-k:显示数据表的索引;
-t:显示数据表的类型;
-i:显示数据表的额外信息。

参数

数据库信息:指定要显示的数据库信息,可以是一个数据库名,或者是数据库名和表名,或者是数据库名、表名和列名。

mysqlimport

为MySQL服务器用命令行方式导入数据

补充说明

mysqlimport命令 为mysql数据库服务器提供了一种命令行方式导入数据工具,它从特定格式的文本文件中读取数据插入MySQL数据库表中。

语法

1
mysqlimport(选项)(参数)

选项

1
2
3
4
5
-D:导入数据前清空表;
-f:出现错误时继续处理剩余的操作;
-h:MySQL服务器的ip地址或主机名;
-u:连接MySQL服务器的用户名;
-p:连接MySQL服务器的密码。

参数

  • 数据库名:指定要导入的数据库名称;
  • 文本文件:包含特定格式文本文件。

mysqldump

MySQL数据库中备份工具

补充说明

mysqldump命令 是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。

语法

1
mysqldump(选项)

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句;
--add-locks:备份数据库表时锁定数据库表;
--all-databases:备份MySQL服务器上的所有数据库;
--comments:添加注释信息;
--compact:压缩模式,产生更少的输出;
--complete-insert:输出完成的插入语句;
--databases:指定要备份的数据库;
--default-character-set:指定默认字符集;
--force:当出现错误时仍然继续备份操作;
--host:指定要备份数据库的服务器;
--lock-tables:备份前,锁定所有数据库表;
--no-create-db:禁止生成创建数据库语句;
--no-create-info:禁止生成创建数据库库表语句;
--password:连接MySQL服务器的密码;
--port:MySQL服务器的端口号;
--user:连接MySQL服务器的用户名。

实例

导出整个数据库

1
2
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u linuxde -p smgp_apps_linuxde > linuxde.sql

导出一个表

1
2
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u linuxde -p smgp_apps_linuxde users > linuxde_users.sql

导出一个数据库结构

1
mysqldump -u linuxde -p -d --add-drop-table smgp_apps_linuxde > linuxde_db.sql

-d没有数据,--add-drop-table每个create语句之前增加一个drop table

mysqladmin

MySQL服务器管理客户端

补充说明

mysqladmin命令 是mysql服务器管理任务的客户端工具,它可以检查mytsql服务器的配置和当前工作状态,创建和删除数据库,创建用户和修改用户密码等操作。

语法

1
mysqladmin(选项)(参数)

选项

1
2
3
4
-h:MySQL服务器主机名或ip地址;
-u:连接MySQL服务器的用户名;
-p:连接MySQL服务器的密码;
--help:显示帮助信息。

参数

管理命令:需要在MySQL服务器上执行的管理命令。

mysqladmin支持下列命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
create databasename:创建一个新数据库;
drop databasename:删除一个数据库及其所有表;
extended-status:给出服务器的一个扩展状态消息;
flush-hosts:清空所有缓存的主机;
flush-logs:清空所有日志;
flush-tables:清空所有表;
flush-privileges:再次装载授权表(同reload);
kill id,id,...:杀死mysql线程;
password 新口令:将老密码改为新密码;
ping:检查mysqld是否活着;
processlist:显示服务其中活跃线程列表;
reload:重载授权表;
refresh:清空所有表并关闭和打开日志文件;
shutdown:关掉服务器;
status:给出服务器的简短状态消息;
variables:打印出可用变量;
version:得到服务器的版本信息。

mysql

MySQL服务器客户端工具

补充说明

mysql命令 是MySQL数据库服务器的客户端工具,它工作在命令行终端中,完成对远程MySQL数据库服务器的操作。

语法

1
mysql(选项)(参数)

选项

1
2
3
4
-h:MySQL服务器的ip地址或主机名;
-u:连接MySQL服务器的用户名;
-e:执行mysql内部命令;
-p:连接MySQL服务器的密码。

参数

数据库:指定连接服务器后自动打开的数据库。

mv

用来对文件或目录重新命名

补充说明

mv命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

语法

1
mv(选项)(参数)

选项

1
2
3
4
5
6
7
8
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

参数

  • 源文件:源文件列表。
  • 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。

实例

将目录/usr/men中的所有文件移到当前目录(用.表示)中:

1
mv /usr/men/* .

移动文件

1
mv file_1.txt /home/office/

移动多个文件

1
2
mv file_2.txt file_3.txt file_4.txt /home/office/
mv *.txt /home/office/

移动目录

1
mv directory_1/ /home/office/

重命名文件或目录

1
mv file_1.txt file_2.txt # 将文件file_1.txt改名为file_2.txt

重命名目录

1
mv directory_1/ directory_2/

打印移动信息

1
mv -v *.txt /home/office

提示是否覆盖文件

1
mv -i file_1.txt /home/office

源文件比目标文件新时才执行更新

1
mv -uv *.txt /home/office

不要覆盖任何已存在的文件

1
mv -vn *.txt /home/office

复制时创建备份

1
mv -bv *.txt /home/office

无条件覆盖已经存在的文件

1
mv -f *.txt /home/office

mtools

显示mtools支持的指令

补充说明

mtools命令 显示mtools支持的指令,mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接,因此会有一些共同的特性。

语法

1
mtools(选项)

选项

1
2
3
4
5
6
7
8
9
10
-a:长文件名重复时自动更改目标文件的长文件名;
-A:短文件名重复但长文件名不同时自动更改目标文件的短文件名;
-o:长文件名重复时,将目标文件覆盖现有的文件;
-O:短文件名重复但长文件名不同时,将目标文件覆盖现有的文件;
-r:长文件名重复时,要求用户更改目标文件的长文件名;
-R:短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名;
-s:长文件名重复时,则不处理该目标文件;
-S:短文件名重复但长文件名不同时,则不处理该目标文件;
-v:执行时显示详细的说明;
-V:显示版本信息。

实例

使用mtools命令显示其支持的所有的指令,输入如下命令:

1
2
3
4
5
6
[root@localhost ~]# mtools     #显示所有支持的指令名称
Supported commands:
mattrib, mbadblocks, mcat, mcd, mclasserase, mcopy, mdel, mdeltree
mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount
mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype
mwrite, mzip

如上所示,其显示的所有命令均为mtools工具所支持的。

mpstat

显示各个可用CPU的状态

补充说明

mpstat命令 指令主要用于多CPU环境下,它显示各个可用CPU的状态系你想。这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

语法

1
mpstat(选项)(参数)

选项

1
-P:指定CPU编号。

参数

  • 间隔时间:每次报告的间隔时间(秒);
  • 次数:显示报告的次数。

实例

当mpstat不带参数时,输出为从系统启动以来的平均值。

1
2
3
4
mpstat
Linux 2.6.9-5.31AXsmp (builder.redflag-linux.com) 12/16/2005
09:38:46 AM CPU %user %nice %system %iowait %irq %soft %idle intr/s
09:38:48 AM all 23.28 0.00 1.75 0.50 0.00 0.00 74.47 1018.59

每2秒产生了2个处理器的统计数据报告:

下面的命令可以每2秒产生了2个处理器的统计数据报告,一共产生三个interval 的信息,然后再给出这三个interval的平均信息。默认时,输出是按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的活跃状态。。

1
2
3
4
5
6
mpstat -P ALL 2 3
Linux 2.6.18-164.el5 (server.sys.com) 01/04/2010
09:34:20 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
09:34:22 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1001.49
09:34:22 PM 0 0.00 0.00 0.50 0.00 0.00 0.00 0.00 99.50 1001.00
09:34:22 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00

比较带参数和不带参数的mpstat的结果:

在后台开一个2G的文件

1
cat 1.img &

然后在另一个终端运行mpstat命令

1
2
3
4
mpstat
Linux 2.6.18-164.el5 (server.sys.com) 01/04/2010
10:17:31 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
10:17:31 PM all 0.07 0.02 0.25 0.21 0.01 0.04 0.00 99.40 1004.57
1
2
3
4
mpstat
Linux 2.6.18-164.el5 (server.sys.com) 01/04/2010
10:17:35 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
10:17:35 PM all 0.07 0.02 0.25 0.21 0.01 0.04 0.00 99.39 1004.73
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mpstat 3 10
Linux 2.6.18-164.el5 (server.sys.com) 01/04/2010
10:17:55 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
10:17:58 PM all 13.12 0.00 20.93 0.00 1.83 9.80 0.00 54.32 2488.08
10:18:01 PM all 10.82 0.00 19.30 0.83 1.83 9.32 0.00 57.90 2449.83
10:18:04 PM all 10.95 0.00 20.40 0.17 1.99 8.62 0.00 57.88 2384.05
10:18:07 PM all 10.47 0.00 18.11 0.00 1.50 8.47 0.00 61.46 2416.00
10:18:10 PM all 11.81 0.00 22.63 0.00 1.83 11.98 0.00 51.75 2210.60
10:18:13 PM all 6.31 0.00 10.80 0.00 1.00 5.32 0.00 76.58 1795.33
10:18:19 PM all 1.75 0.00 3.16 0.75 0.25 1.25 0.00 92.85 1245.18
10:18:22 PM all 11.94 0.00 19.07 0.00 1.99 8.29 0.00 58.71 2630.46
10:18:25 PM all 11.65 0.00 19.30 0.50 2.00 9.15 0.00 57.40 2673.91
10:18:28 PM all 11.44 0.00 21.06 0.33 1.99 10.61 0.00 54.56 2369.87
Average: all 9.27 0.00 16.18 0.30 1.50 7.64 0.00 65.11 2173.54

上两表显示出当要正确反映系统的情况,需要正确使用命令的参数。vmstat 和iostat 也需要注意这一问题。

mount

用于挂载Linux系统外的文件。

补充说明

mount命令 Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。

语法

1
2
3
4
mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir

选项

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
-V:显示程序版本
-h:显示辅助讯息
-v:显示较讯息,通常和 -f 用来除错。
-a:将 /etc/fstab 中定义的所有档案系统挂上。
-F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
-f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
-n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
-s-r:等于 -o ro
-w:等于 -o rw
-L:将含有特定标签的硬盘分割挂上。
-U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
-o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
-o sync:在同步模式下执行。
-o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
-o auto、-o noauto:打开/关闭自动挂上模式。
-o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
-o dev、-o nodev-o exec、-o noexec允许执行档被执行。
-o suid、-o nosuid:
允许执行档在 root 权限下执行。
-o user、-o nouser:使用者可以执行 mount/umount 的动作。
-o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
-o ro:用唯读模式挂上。
-o rw:用可读写模式挂上。
-o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

实例

/dev/hda1 挂在 /mnt 之下。

1
#mount /dev/hda1 /mnt

/dev/hda1 用唯读模式挂在 /mnt 之下。

1
#mount -o ro /dev/hda1 /mnt

/tmp/image.iso 这个光碟的 image 档使用 loop 模式挂在 /mnt/cdrom 之下。用这种方法可以将一般网络上可以找到的 Linux 光 碟 ISO 档在不烧录成光碟的情况下检视其内容。

1
#mount -o loop /tmp/image.iso /mnt/cdrom

more

显示文件内容,每次显示一屏

补充说明

more命令 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答:

  • 按Space键:显示文本的下一屏内容。
  • 按Enier键:只显示文本的下一行内容。
  • 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
  • 按H键:显示帮助屏,该屏上有相关的帮助信息。
  • 按B键:显示上一屏内容。
  • 按Q键:退出rnore命令。

语法

1
more(语法)(参数)

选项

1
2
3
4
5
6
-<数字>:指定每屏显示的行数;
-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线;
+<数字>:从指定数字的行开始显示。

参数

文件:指定分页显示内容的文件。

实例

显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。

1
more -dc file

显示文件file的内容,每10行显示一次,而且在显示之前先清屏。

1
more -c -10 file