第一页 上页 26 27 28 29 30 31 32 33 34 下页 最后页 [ 显示模式: 摘要 | 列表 ]

 

下载地址:http://www.rarsoft.com/download.htm
 

以最新的为准。

对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:

1:对于.zip

linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,举例说明一下其用法:

# zip all.zip *.jpg(这条命令是将所有.jpg的文件压缩成一个zip包)

# unzip all.zip(这条命令是将all.zip中的所有文件解压出来)

2:对于.rar

要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux不是免费的;可从
http://www.rarsoft.com/download.htm下载RAR 3。60 for Linux ,然后安装其安装操作如下:

# tar -xzpvf rarlinux-3.2.0.tar.gz
# cd rar
# make

这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,举例说明一下其用法

# rar a all *.jpg

这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。

# unrar e all.rar

这条命令是将all.rar中的所有文件解压出来。

 

其实linux下的rar不是开源的,个人推荐用这个unrar。
unrar只能解压rar文件,不能压缩,linux下的压缩用bzip2那些就可以了,但有时还是要解压rar文件的。

解压文件:
unrar e file.rar 或
unrar x file.rar
解释如下:
#x Extract files with full path
#e Extract files to current directory

查看压缩文件:
unrar l file.rar


安装步骤:
tar jxf unrar.tar.bz2
cd unrar
make
cp unrar /usr/bin/

这样就可以使用unrar解压了!


 

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

1、home目录下建立data目录

cd /homemkdir data2、把MySQL服务进程停掉:

mysqladmin -u root -p shutdown3、把/var/lib/mysql整个目录移到/home/data

mv /var/lib/mysql /home/data/这样就把MySQL的数据文件移动到了/home/data/mysql下

4、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf5、编辑MySQL的配置文件/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

vi  my.cnf  (用vi工具编辑my.cnf文件,找到下列数据修改之)# The MySQL server[mysqld]  port = 3306#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)socket  = /home/data/mysql/mysql.sock (加上此行)6、修改MySQL启动脚本/etc/init.d/mysql

最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/init.d/mysql#datadir=/var/lib/mysql(注释此行)datadir=/home/data/mysql (加上此行)7、重新启动MySQL服务
/etc/init.d/mysql start

或用reboot命令重启Linux

如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。
 

在MySQL安装程序的解压包/usr/local/mysql/support-files有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面:

# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server mysql

接着把它的属性改为“x”(executable,可执行)

# chmod +x mysql

最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。

执行chkconfig --add mysql


############################################################################################

                                   在Linux下安装和使用MySQL

 

一、引言

  想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux

下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在

真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux和Windows本身就有很大区别。为了让和我一

样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。本文的Linux环境是Red Hat

9.0,MySQL是4.0.16。

  二、安装Mysql

  1、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-4.0.16-0.i386.rpm   
MySQL-client-4.0.16-0.i386.rpm
下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页,下拉网页找到“Linux

x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。

  2、安装MySQL
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在

安装时常用的参数是 –ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间

出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。
1)安装服务器端
在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm
显示如下信息。
warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...       ########################################### [100%]
1:MySQL-server     ########################################### [100%]
。。。。。。(省略显示)
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略显示)
Starting mysqld daemon with databases from /var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务

已经启动,安装成功。Mysql默认的端口是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address     State   
tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN   
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm
warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...    ########################################### [100%]
1:MySQL-client  ########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。
三、登录MySQL

  登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:

这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即

可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

  注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

  四、MySQL的几个重要目录

  MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同

的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为Linux本身的目录结构就比较复杂,如果搞不

清楚MySQL的安装目录那就无从谈起深入学习。

  下面就介绍一下这几个目录。

  1、数据库目录
/var/lib/mysql/

  2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)

  3、相关命令
/usr/bin(mysqladmin mysqldump等命令)

  4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)

 五、修改登录密码

  MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

  1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码

  2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

  3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。

  六、启动与停止

  1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start

  2、停止
/usr/bin/mysqladmin -u root -p shutdown

  3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig –list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]# /sbin/chkconfig – add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]# /sbin/chkconfig – del mysql
七、更改MySQL目录

  MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

  1、home目录下建立data目录
cd /home
mkdir data

  2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown

  3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下

  4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/

并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

  5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改

socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port   = 3306
#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket  = /home/data/mysql/mysql.sock   (加上此行)

  6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右

边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql    (注释此行)
datadir=/home/data/mysql   (加上此行)

  7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。

  八、MySQL的常用操作

  注意:MySQL中每个命令后都要以分号;结尾。

  1、显示数据库
mysql> show databases;
+----------+
| Database |
+----------+
| mysql  |
| test   |
+----------+
2 rows in set (0.04 sec)
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码

和新增用户,实际上就是用这个库中的相关表进行操作。

  2、显示数据库中的表
mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )
Database changed

  mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv  |
| db       |
| func      |
| host      |
| tables_priv   |
| user      |
+-----------------+
6 rows in set (0.01 sec)

  3、显示数据表的结构:
describe 表名;

  4、显示表中的记录:
select * from 表名;
例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
Select * from user;

  5、建库:
create database 库名;
例如:创建一个名字位aaa的库
mysql> create databases aaa;
6、建表:
use 库名;
create table 表名 (字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身

年月)四个字段
use aaa;
mysql> create table 111 (id int(3) auto_increment not null primary key, xm char(8),xb char

(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe name;

  +-------+---------+------+-----+---------+----------------+
| Field | Type  | Null | Key | Default | Extra     |
+-------+---------+------+-----+---------+----------------+
| id  | int(3) |   | PRI | NULL  | auto_increment |
| xm  | char(8) | YES |   | NULL  |        |
| xb  | char(2) | YES |   | NULL  |        |
| csny | date  | YES |   | NULL  |        |
+-------+---------+------+-----+---------+----------------+

  7、增加记录
例如:增加几条相关纪录。
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
可用select命令来验证结果。
mysql> select * from name;
+----+------+------+------------+
| id | xm  | xb  | csny    |
+----+------+------+------------+
| 1 | 张三 | 男  | 1971-10-01 |
| 2 | 白云 | 女  | 1972-05-20 |
+----+------+------+------------+

  8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';

  9、删除纪录
例如:删除张三的纪录。
mysql> delete from name where xm='张三';

  10、删库和删表
drop database 库名;
drop table 表名;

  九、增加MySQL用户

  格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删

除的权限。首先用以root用户连入MySQL,然后键入以下命令:

  mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的

MySQL数据库并对你的数据为所欲为了,解决办法见例2。

  例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、

插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道

user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。

  mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

  用新增的用户如果登录不了MySQL,在登录时用如下命令:

  mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

  十、备份与恢复

  1、备份

  例如:将上例创建的aaa库备份到文件back_aaa中

  [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转

到/home/data/mysql,见上述第七部分内容)
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

  2、恢复

  [root@test mysql]# mysql -u root -p ccc < back_aaa

 

############################################################################################


                                      彻底卸载Mysql


rpm -qa|grep -i mysql
把出来的东西都用rpm -e删除掉就好了!

一、总结一下:
1.Linux系统下启动MySQL的命令:
mysqladmin start
/ect/init.d/mysql start (前面为mysql的安装路径)
2.linux下重启mysql的命令:
mysqladmin restart
/ect/init.d/mysql restart (前面为mysql的安装路径)
3.linux下关闭mysql的命令:
mysqladmin shutdown
/ect/init.d/mysql   shutdown (前面为mysql的安装路径)
4.连接本机上的mysql:
进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示输入密码。
退出mysql命令:exit(回车)
5.修改mysql密码:
mysqladmin -u用户名 -p旧密码 password 新密码
或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");
6.增加新用户。(注意:mysql环境中的命令后面都带一个分号作为命令结束符)
grant select on 数据库.* to 用户名@登录主机 identified by "密码"
如增加一个用户test密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to " Identified by "123";
二、有关MySQL数据库方面的操作
必须首先登录到mysql中,有关操作都是在mysql的提示符下进行,而且每个命令以分号结束
1、显示数据库列表。
show databases;
2、显示库中的数据表:
use mysql; //打开库
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名(字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
9、编码的修改
如果要改变整个mysql的编码格式:
启动mysql的时候,mysqld_safe命令行加入
--default-character-set=gbk
如果要改变某个库的编码格式:在mysql提示符后输入命令
alter database db_name default character set gbk;
三、数据的导入导出
1、文本数据转到数据库中
文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:
1 name duty 2006-11-23
数据传入命令 load data local infile "文件名" into table 表名;
2、导出数据库和表
mysqldump --opt news > news.sql(将数据库news中的所有表备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
mysqldump --opt news author article > author.article.sql(将数据库news中的author表和article表备份到author.article.sql文件, author.article.sql是一个文本文件,文件名任取。)
mysqldump --databases db1 db2 > news.sql(将数据库dbl和db2备份到news.sql文件,news.sql是一个文本文件,文件名任取。)
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中
mysqldump --all-databases > all-databases.sql(将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。)
3、导入数据
mysql source news.sql;(在mysql命令下执行,可导入表)
一、连接MySQL
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>。
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)。
二、修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令:
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345
三、增加新用户。(注意:和上面不同,下面的因为是MySQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
grant select,insert,update,
delete on *.* to test1@\"%\" Identified by \"abc\";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MySQL主机上的web页来访问。
grant select,insert,update,
delete on mydb.* to test2@localhost identified by \"abc\";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb
.* to test2@localhost identified by \"\";
在上面讲了登录、增加用户、密码更改等问题。下面我们来看看MySQL中有关数据库方面的操作。注意:你必须首先登录到MySQL中,以下操作都是在MySQL的提示符下进行的,而且每个命令以分号结束。
一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就完成。
2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MySQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。
二、显示命令
1、显示数据库列表:
show databases;
刚开始时才两个数据库:mysql和test。MySQL库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default ’深圳’,
year date
); //建表结束
//以下为插入字段
insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);
insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);
注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别 呢,只有等以后的文章再说了。(4)将YEAR设为日期字段。
如果你在MySQL提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录\\mysql\\bin,然后键入以下命令:
mysql -uroot -p密码 school.bbb
mysqldump --opt school>school.bbb
(命令在DOS的\\mysql\\bin目录下执行)
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
后记:其实MySQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这 些了,呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载,而且它是最权威的。可惜不是象\"PHP4 中文手册\"那样是chm的格式,在查找函数命令的时候不太方便。
2、修改登录密码
1) mysqladmin -u用户名 -p旧密码 password 新密码:
例:mysqladmin -u root password 21century
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2)直接修改user表的root用户口令:
mysql> user mysql;
mysql> update user set pasword=password(''21century'') where user=''root'';
mysql> flush privileges;
注:flush privileges的意思是强制刷新内存授权表,否则用的还是缓冲中的口令。
3、测试密码是否修改成功:
1)不用密码登录:
[root@test1 local]# mysql
ERROR 1045: Access denied for user: ''root@localhost'' (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录:
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码21century)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 177 to server version: 3.23.48
Type ''help;'' or ''\h'' for help. Type ''\c'' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
4、启动和停止:
启动:Mysql从3.23.15版本开始作了改动,默认安装后服务要用MySQL用户来启动,不允许root用户启动。
如果非要用root用户来启动,必须加上--user=root参数(./safe_mysqld --user=root &)停止:mysqladmin -u root -p shutdown。
5、导出meeting数据库:
mysqldump -uroot -p21century meeting > db_meeting.sql
导人dbname数据库:
mysqldump -uroot -p21century dbname
 

linux关机重启注销令

[不指定 2010/09/13 01:00 | by 刘新修 ]

1关机命令 shutdown

好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令。

1)shutdown –help

可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。

2) shutdown -h now 现在立即关机

3)shutdown -r now 现在立即重启

4)shutdown -r +3 三分钟后重启

5)shutdown -h +3 “The System will shutdown after 3 minutes” 提示使用者将在三分钟后关机

6)shutdown -r 20:23 在20:23时将重启计算机

7)shutdown -r 20:23 & 可以将在20:23时重启的任务放到后台去,用户可以继续操作终端

reboot命令

  顾名思义,reboot命令是用来重新启动系统的。常用的参数如下:

   -f 参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机。

   -I 参数:在在重新启动之前关闭所有网络接口。

  虽然reboot命令有个参数可以使用,但是一般只需要单独运行reboot命令就可以了


2中断命令

1)执行完命令后(若没有转到后台),可以使用CTRL+C来中止命令

2)kill 程序编码

当命令在后台执行时系统会返回一个程序编码,例如:在使用 shutdown -r 20:23 & 系统返回系统编码:4905

我们可以使用kill 4905来中止重启命令

3ps aux | grep 程序编号

我们如果知道程序的编号,我们可以使用ps aux |grep 程序编号来查询该程序编号对应的命令是什么。

例如上面的程序编号为4905 ,我们可以使用ps aux | grep 4905 就可以查到 shutdown -r 20:23 & 的命令

halt—-最简单的关机命令

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

init

init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

注销系统的logout命令

Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:

[root@localhost root]#logout

Red Hat Linuxrelease 9(Shike)

Kernel 2.4.20.8 on an i686

Login: ← 回到登陆的画面

【编辑推荐】

 

熟悉Windows2000/XP的用户一定很熟悉shutdown这一关机命令,特别是在中了冲击波病毒,系统提示要重启时,用shutdown -a命令可以救一时之急。

  其实在Linux下也有一个shutdown命令,功能不比Windows的差。让我们看一下shutdown命令的具体应用吧。

  Linux下shutdown命令的语法规则如下:

  shutdown [-cfFhknr(参数名称)] [-t秒数]时间[警告信息]

  具体各参数功能:

  -c取消前一个shutdown命令。值得注意的是,当执行一个如“shutdown -h 11:10”的命令时,只要按“Ctrl+C”键就可以中断关机的命令。若是执行如“shutdown -h 11:10 & ” 的命 令将 shutdown转到后台时,则需要使用shutdown -c将前一个shutdown命令取消。

  -f重新启动时不执行fsck(注:fsck是Linux下的一个检查和修复文件系统的程序)。

  -F重新启动时执行fsck。

  -h将系统关机,在某种程度上功能与halt命令相当。

  -k只是送出信息给所有用户,但并不会真正关机。

  -n不调用init程序关机,而是由shutdown自己进行(一般关机程序是由shutdown调用init来实现关机动作),使用此参数将加快关机速度,但是不建议用户使用此种关机方式。

  -r shutdown之后重新启动系统。

  -f<秒数>送出警告信息和关机信号之间要延迟多少秒。警告信息将提醒用户保存当前进行的工作。

  [时间]设置多久时间后执行shutdown命令。时间参数有hh:mm或+m两种模式。hh:mm格式表示在几点几分执行shutdown命令。例如“shutdown 10:45”表示将在10:45执行shutdown。+m表示m分钟后执行shutdown。比较特别的用法是以now表示立即执行shutdown。值得注意的是这部分参数不能省略。

  [警告信息]要传送给所有登入用户的信息。

  应用举例:

  指定现在立即关机: # shutdown -h now

  指定5分钟后关机,同时送出警告信息给登入用户:# shutdown +5 “System will shutdown after 5 minutes”

 

CentOS 5.5硬盘分区方案

[不指定 2010/09/12 01:26 | by 刘新修 ]

硬盘分区方案

在计算机上安装Linux系统,对硬盘进行分区是一个非常重要的步骤,下面介绍几个分区方案。

1)方案1
/
:建议大小在5GB以上。
swap
:即交换分区,建议大小是物理内存的1~2倍。

2)方案2
/boot
:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为100MB
/
Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为5GB以上。
/home
:存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。
swap
:实现虚拟内存,建议大小是物理内存的1~2倍。

3)方案3
/boot
:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为100MB
/usr
:用来存放Linux系统中的应用程序,其相关数据较多,建议大于3GB以上。
/var
:用来存放Linux系统中经常变化的数据以及日志文件,建议大于1GB以上。
/home
:存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。
/
Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为5GB以上。
/tmp
:将临时盘在独立的分区,可避免在文件系统被塞满时影响到系统的稳定性。建议大小为500MB以上。
swap
:实现虚拟内存,建议大小是物理内存的1~2倍。

-------------------------------------------------------------------------------------------------------------------------------

磁盘分区配置

如果是全新硬盘,可能会发生如下错误信息,这个信息仅提示你,安装程序找不到分区表,不需要担心。此时,直接按下“Yes”按钮就可以了,如下图所示。

1)分区模式

如同前面谈到的,磁盘分区是整个安装过程里面最重要的部分了。CentOS预设给了我们四种分区模式,分别为:

<1>在选定磁盘上删除所有分区并创建默认分区结构:
如果选择这种模式,你硬盘会整个被Linux拿去使用,并且硬盘里面的分区全部被删除后, 以安装程式的预设方式重新建立分区结构,使用上要特别注意!

<2>在选定驱动上删除Linux分区并创建默认的分区结构:
在这个硬盘内,只有Linux的分区被删除,然后再以安装程式的预设方式重新建立分区。

<3>使用选定驱动器中的空余空间并创建默认的分区结构:
如果你的这颗硬盘内还有未被分割的磁盘空间(注意,是未被分割,而不是该分区内没有资料的意思!) 那么使用这个项目后,他不会更动原有的分区,只会就剩余的未分割区块进行预设分区的建置。

<4>建立自定义的分区结构:
就是我们要使用的啦!不要使用安装程式的预设分割方式,使用我们需要的分割方式来处理。

2)默认分区模式

如下图所示为磁盘分区设置对话框,选择默认(在选定驱动上删除Linux分区并创建默认的分区结构)即可。单击下一步按钮,出现如下图所示的提示,单击按钮,下一步出现如下图所示的系统默认磁盘设置,单击下一步按钮。

3)自定义分区模式

如下图所示为磁盘分区设置对话框,选择建立自定义的分区结构即可。建立四个分区,分别是/, /boot, /homeswap四个。

按下下一步后就会出现如下的分区视窗。这个画面主要分为三大区块:
最上方为硬盘的分区示意图, 目前因为硬盘并未分区,所以呈现的就是一整块而且为Free的字样。中间则是指令区,下方则是每个分区的装置档名、 挂载点目录、档案系统类型、是否需要格式化、分区容量大小、开始与结束的磁柱号码等。

至于指令区,总共有六大区块,其中RAIDLVM是硬盘特殊的应用,这部份我们会在单独介绍。至于其他指令的作用如下:

新建:是增加新分区,亦即进行分区动作,以建立新的磁盘分区;

编辑:则是编辑已经存在的磁盘分区, 你可以在实际状态显示区点选想要修改的分区,然后再点选编辑即可进行该分区的编辑动作。

删除:则是删除一个磁盘分区,同样的, 你得要在实际状态显示区点选想要删除的分区。

重设:则是恢复最原始的磁盘分区状态。

Tips:需要注意的是,你的系统与作者的系统当然不可能完全一样,所以你屏幕上的硬盘资讯应该不会与作者的相同的喔! 所以看到不同,不要太紧张啊,那是正常的。

接下来建立根目录(/)的分区。按下新建后,就会出现如下的画面。由于我们需要的根目录是使用Linux的文件系统,因此预设就是ext3这个文件系统。 至于在挂载点的地方,你可以手动输入也可以用鼠标来挑选。 最后在大小(MB)的地方输入你所需要的磁盘容量即可。不过由于作者这个系统当中只有一颗硬盘,所以在允许的驱动器里面就不能够自由挑选。

 

最终建立/boot分区的结果如下所示,他会主动的将/boot这个特殊目录移到硬盘最前面,所以你会看到/boot所在的硬盘分区为/dev/hda1,而起始磁柱则为1号。情况如下图所示:

Tips:某些安装程序在你没有指定swap为内存的1~2倍时会有警告讯息的告知,此时只要将警告讯息忽略,按下一步即可。

让我们继续完成最后一个分区/home,继续按下上图的新建”,依序填入正确的信息,包括挂载点、文件系统类型、大小等。

 

分区的最终结果如下图所示。你会发现到系统自动的将/dev/hda4变成扩展分区。然后将所有容量都给/dev/hda4 并且将swap分配到/dev/hda5去了。

在上图中继续按下新建来交换空间(swap)。如同上面谈到的, 因为swap是交换空间,因此不需要有挂载点。所以,请如同下图所示,在文件系统类型处挑选为“swap”

文件系统类型分别是:

ext2/ext3:是Linux适用的文件系统类型。由于ext3文件系统多了日志的记录, 对于系统的复原比较快速,因此建议你务必要选择新的ext3不要用ext2了。

physical volume (LVM):这是用来弹性调整档案系统容量的一种机制,可以让你的文件系统容量变大或变小而不改变原有的文件资料内容。

software RAID:利用Linux作业系统的特性,用软件模拟出磁盘阵列的功能。

swap:就是交换空间!由于swap并不会使用到目录树的挂载, 所以用swap就不需要指定挂载点。

vfat:同时被LinuxWindows所支持的文件系统类型。如果你的主机硬盘内同时存在WindowsLinux作业系统,为了资料的交换,确实可以建置一个vfat的文件系统。

我们继续按下新建来建立/boot这个分区。依序填入正确的信息,包括挂载点、文件系统类型、大小等。务必让该分区在整个硬盘的最前面部分。因此,我们针对/boot就选择强制为主分区。如下图所示:

如果你想要知道Linux还支援什么文件系统类型,点一下上图中的ext3那个按钮,就会出现如下的画面。

网易域名邮箱(ym.163.com):

小提示:完成验证需要您自己在域名管理网站进行,我们在此仅提供截图示意,如果您在设置时遇到困难,则需要联系域名提供商来解决。

例如example.com是您的域名:

步骤1:使用您的域名及密码登录域名管理网站(例如您的域名是在新网注册,可登录新网域名管理网站 http://dcp.xinnet.com/),并转到DNS记录维护页

步骤2:输入以下 MX 记录:域名:example.com 、优先级:10 、指向/IP地址/主机名:mx.ym.163.com

步骤3:(可选)将TXT设置修改为:v=spf1 include:spf.163.com ~all

步骤4:保存更改,完成DNS参数设置。

新网域名服务提供商(范例):

万网域名服务提供商(范例):

Godaddy域名服务提供商(范例):

ename.com域名服务提供商(范例):

怎样使用类似mail.abc.com这种地址来访问域名邮箱登录页面呢?

请在您的域名设置页面中加入一条别名(CNAME)记录。
这样您就可以使用"mail.您的域名"这种形式来访问您的登录页面了。
别名:mail
主机名:mail.qq.com
如图所示(新网设置页面):

GODADDY域名相关设置方法:

第一步:验证域名(以下两种方法任选其一)

方法一:上传验证文件

1         下载专用的验证文件:qqmail_domain_verify.txt

2         将该文件上传至您的域名指向的Web服务器(或虚拟主机)的根目录;

3         确保可以通过 http://您的域名/qqmail_domain_verify.txt 这样的方式访问到该文件。

方法二:给您的域名设置一个CNAME记录

登录您的域名管理页面,选择域名管理,点击后面的“Advanced Details”,如图:

在随后打开的页面中,找到Total DNS,点击下方的“Total DNS Control”,就能进入域名设置页面了。

然后,在图示的页面中,增加一个CNAME别名。具体信息如下:
名称:qqmail3fd0f520
IP
mail.qq.com

(CNAME解析一般在2-24小时后生效。如果您无法直接设置您的域名,请联系您的域名服务商)

完成后会出现如下图所示的一条CNAME记录

第二步:设置MX记录

MX记录用来指定由我们来对您的域名提供邮件服务。MX的设置入口跟CNAME在相同页面,请参考上文找到MX设置页面。然后将您的MX记录设置为mxdomain.qq.com ,优先级为10

设置方法如下:

请注意:godaddy的MX记录设置,“Host”一栏不允许为空,请填写“@”

修改SSH的默认端口号

[不指定 2010/09/11 18:16 | by 刘新修 ]

修改SSH的默认端口号

vi /etc/ssh/sshd_config
找到#Port 22,标识默认使用22端口,
修改为:Port 22XX
然后重启服务进程
/etc/init.d/sshd restart

Linux下常有的一些命令

[不指定 2010/09/11 18:12 | by 刘新修 ]

1、man <要查的命令名字> 4
2、ls 相当于DOS的dir 4
3、clear 相当于DOS的cls,清除屏幕上的内容 5
4、mkdir <目录名> 相当于DOS的md,新建一个目录 5
5、cd <目录名> 5
6、rm <文件名> 5
7、cp <源文件> <目的文件> 5
8、mv <源文件> <目的文件> 6
9、pwd 列出当前所在的目录位置 6
10、more <文件名> 查看文件的内容 6
11、chmod 改变文件或目录的读、写、执行的允许权限 7
12、chown 改变文件或目录的所有权 7
13、chgrp 改变文件或目录的工作组所有权 8
14、date 相当于DOS的date 8
15、su <用户名> 9
16、passwd 更改用户口令 9
17、exit 退出终端操作 9
18、shutdown 超级用户root才有权执行,关闭Solaris操作系统 9
19、find 搜索指定目录下要找的文件,找到后给出文件的路径 9
20、vi 10
21、echo 显示环境变量用 20
22、ping 测试网络通断情况。 20
23、ftp 本地工作站与远端工作站之间文件传输 21
24、telnet ip_address 远程登录命令,在工作站和PC机中都有 22
25、ps 查看系统的进程 22
26、kill 杀掉操作系统中的进程 23
27、tar 把多个文件或目录打包成一个文件,或者把已经打包的文件展开 23
28、compress 把文件压缩成后缀为.Z的压缩文件 23
29、uncompress 把后缀为.Z的压缩文件解压缩 23
30、df -k 查看各文件系统剩余的空间,-k说明单位是千字节(kb) 23

SOLARIS操作系统常用命令
SOLARIS操作系统中区分大小写字母,要注意输入系统的字符的大小写是正确的.在图形界面的CDE环境下,用鼠标的左键可以选定终端中的一个单词或一行字符,用鼠标的中键可以把选定的内容复制到光标当前的位置,十分方便.
1、man <要查的命令名字>
给出要查命令所有选项的含义,以及命令的详细说明.
2、ls 相当于DOS的dir
它的常用选项有-l(显示文件的详细信息),-a(显示包括隐含文件在内),-R(recursive,显示子目录中所有的文件和子目录),-t(依照文件最后修改时间的顺序列出文件名).例如:ls 列出目前目录下的文件名。
ls -a 列出包含以.起始的隐藏文件在内的所有文件名。
ls -t 依照文件最后修改时间的顺序,依序列出文件名。
ls -l 列出目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。
ls -R 显示出目录下,以及其所有子目录的文件名。
内容很多一屏显示不完时,可用管道符连接more命令,每显示一屏暂停,按空格键继续.如: ls -altR | more
注意:
ls rms*.* 将列出rms.ini这类中间带"."的文件,而不会列出rms这类不带"."的文件,用ls rms* 可以把带"."和不带"."的文件都列出
3、clear 相当于DOS的cls,清除屏幕上的内容
4、mkdir <目录名> 相当于DOS的md,新建一个目录
5、cd <目录名>
相当于DOS的cd,和DOS的cd不一样的是,只输入cd将回到HOME目录.
6、rm <文件名>
相当于DOS的del,支持通配符*和?,例如rm file*, 为了不误删除想要的文件,在用通配符删除之前,先用ls file* 看看是否列出的文件都需要删除.要注意,用命令行删除的文件是无法恢复的,Unix操作系统因为多用户的原因,无法提供DOS下的undelete命令.如果在Solaris的CDE环境下,扔到垃圾箱里的文件是可以恢复的,因为扔到垃圾箱里的文件并没有被真正删除.
rm -r <目录名>
相当于DOS的deltree,小心使用.例如:rm file1 删除文件名为 file1 的文件。
rm file? 删除文件名中有五个字符,前四个字符为file 的所有文件。
rm f* 删除文件名中以 f 开头的所有文件。
7、cp <源文件> <目的文件>
相当于DOS的copy,和DOS的copy不一样的是,必须指定源文件名和目的文件名.cp -r <源文件> <目的文件> 相当于DOS的xcopy,带子目录的拷贝.例如:cp file1 file2 将文件 file1 复制成 file2
cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 file1.
cp /tmp/file1 . 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 file1。
cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名为 file2
cp -r dir1 dir2 复制整个目录。若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,复制到目录 dir2 下,新目录名称为 dir1,即dir2/dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,复制为目录 dir2。
8、mv <源文件> <目的文件>
相当于DOS的move,常用来给文件换名.例如:mv file1 file2 将文件 file1,更改文件名为 file2。
mv file1 dir1 将文件 file1,移到目录 dir1 下,文件名仍为 file1。
mv dir1 dir2 若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2 下,新目录名称为 dir1,即dir2/dir1。若目录 dir2 不存在,则将dir1更改为目录 dir2。
9、pwd 列出当前所在的目录位置
10、more <文件名> 查看文件的内容
显示满一屏就暂停,按空格键翻到下一页,按回车键看下一行。其它命令的输出太多来不及细看时,常通过管道操作符"|"输出到more来分屏显示输出内容。
例如:
more file1  以分页方式,查看文件名 file1 的内容。
ls -l | more 把ls -l的输出通过管道符输出到more来分屏显示输出内容。
11、chmod 改变文件或目录的读、写、执行的允许权限
格式:chmod [-R] mode name
name 可为文件名或目录名;mode可为 3 个 0-7 的数字,或利用ls -l 命令,列出
文件或目录的读、写、执行允许权的文字缩写。)
mode : rwx rwx rwx r:read w:write x:execute
user group other
缩写 : (u) (g) (o)
例如:
%chmod 755 dir1 把目录dir1设定成任何使用者,都能读取和执行,但只有所有者可做修改。
%chmod 700 file1 把文件file1设定只有所有者可以读、写和执行。
%chmod u+x file2 把文件file2增加所有者可以执行的权利。
%chmod g+x file3 把文件file3增加工作组使用者可执行的权利。
%chmod o-r file4 把文件file4除去其它使用者可读取的权利。
12、chown 改变文件或目录的所有权
格式:chown [-R] username name
name 可以是文件名或目录名。
例如:
%chown user file1
将文件 file1 的所有权,改为使用者 user 所有。
%chown -R user dir1
将目录 dir1,及其下所有文件和子目录的所有权,改为使用者 user 所有。
13、chgrp 改变文件或目录的工作组所有权
格式:chgrp [-R] groupname name
name 可为文件名或目录名
例如:
%chgrp sbsrms file1
将文件 file1 的工作组所有权,改为 sbsrms 工作组。
%chgrp -R bin dir1
将目录dir1,及其下所有文件和子目录,改为 bin 工作组。

14、date 相当于DOS的date
只输入date就显示当前的工作站时间,如果有root超级用户权限,加上参数可以修改 工作站的时间。
格式:date mmddHHMM[cc]yy
mm--月份,dd--日期,HH--小时,MM--分钟,cc--世纪(可选),yy--年份
例如:
#date 1023153098 将把工作站系统时间改为1998年10月23日15点30分
15、su <用户名>
改变自己的用户名进入其他使用者的帐号,拥有其使用权利。不指明用户名,就进入root超级用户。
例如:
%su user 进入使用者 user 的帐号
passwrod: 输入使用者 user 的密码
16、passwd 更改用户口令
例如:
%passwd rms 更改用户rms的口令
17、exit 退出终端操作
18、shutdown 超级用户root才有权执行,关闭Solaris操作系统
例如:
#/usr/sbin/shutdown -y -g0 -i0 输入绝对路径,以保证是执行关闭系统的shutdown程序
19、find 搜索指定目录下要找的文件,找到后给出文件的路径
格式:find search-path -name filename -print
例如:
%find / -name file1 -print ( 从根目录开始寻找 file1文件,并给出它的路径。)
20、vi
vi是在工作站上广泛使用的编辑软件。对初学者而言,
常因其特殊的使用方法,而不得其门而入;对已经在使用 vi 的使用者来说,也
常见因对 vi 的不熟悉或不够了解,而无法发挥出 vi 强大的编辑能力,以下将
简单介绍 vi 的使用方法。不必死记硬背,多实际操作几次就能记住常用的命令。
进入vi
直接执行 vi编辑程序即可:
%vi test
此刻屏幕上会出现 vi 的编辑屏幕,同时 vi 会将文件复制一份至内存中的缓冲区 (buffer) 。 vi会保留在硬盘中的文件不变,而先对缓冲区的文件作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。
离开vi
若在输入模式下,则先利用《ESC》进入指令模式,而后即可选用下列指令
离开vi。
:q! 离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入硬盘中,并离开vi。
:ZZ 同wq。
:x 同wq。
:w 将缓冲区内的资料写入硬盘中,但并不离开vi。
:q 离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容。
此指令可与:w 配合使用。

vi 的操作模式

vi 提供两种操作模式:输入模式(insert mode)和指令模式(command mode)
。当使用者进入 vi 后,即处在指令模式下,此刻键入的任何字符都被视为
指令。在此模式下可进行删除、修改等动作。若要输入资料,则需进入输入
模式。

输入模式

如何进入输入模式
a (append) 由光标之后加入资料。
A 由该行之末加入资料。
i (insert) 由光标之前加入资料。
I 由该行之首加入资料。
o (open) 新增一行于该行之下以供输入资料。
O 新增一行于该行之上以供输入资料。

如何离开输入模式
《ESC》 结束输入模式。

指令模式

光标的移动
h 向左移一个字符。
j 向上移一个字符。
k 向下移一个字符。
l 向右移一个字符。
0 移至该行之首
 $ 移至该行之末。
^ 移至该行的第一个字符处。
H 移至屏幕的第一列。
M 移至屏幕的中间那列。
L 移至屏幕的最后一列。
G 移至该文件的最后一列。
+ 移至下一列的第一个字符处。
- 移至上一列的第一个字符处。
( 移至该句之首。 (注一)
) 移至该句之末。
{ 移至该段落之首。 (注二)
} 移至该段落之末。
nG 移至该文件的第 n 列。
n+ 移至光标所在位置之后的第 n 列。
n- 移至光标所在位置之前的第 n 列。
<Ctrl><g> 会显示该行的行号、文件名称、文件中最末行的行号、光标
所在行号占总行号的百分比。

注一:句子(sentence)在vi中是指以『!』、『.』或『?』结束的一串字。
注二:段落(paragraph)在vi中是指以空白行隔开的文字。

屏幕的移动

<Ctrl><f> 屏幕往下卷一页。
<Ctrl> 屏幕往上卷一页。
<Ctrl><d> 屏幕往下卷半页。
<Ctrl> 屏幕往上卷半页。
<Ctrl><e> 屏幕往下卷一行。
<Ctrl><y> 屏幕往上卷一行。

删除、复制及修改指令介绍 (此单元较少使用)

d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令格式为:
Operator + Scope = command
(运算子) (范围)
运算子:
d 删除指令。删除资料,但会将删除资料复制到内存缓冲区。
y 将资料(字组、行列、句子或段落)复制到缓冲区。
p 放置(put)指令,与 d 和 y 配和使用。可将最后delete或yank的资
料放置于光标所在位置的行列下。
c 修改(change)指令,类似delete与insert的组合。删除一个词组、句
子等的资料,并插入新输入的资料。

范围:
e 由光标所在位置至该字符串的最后一个字符。
w 由光标所在位置至下一个字符串的第一个字符。
b 由光标所在位置至前一个字符串的第一个字符。
 $ 由光标所在位置至该行的最后一个字符。
0 由光标所在位置至该行的第一个字符。
) 由光标所在位置至下一个句子的第一个字符。
( 由光标所在位置至该句子的第一个字符。
{ 由光标所在位置至该段落的最后一个字符。
} 由光标所在位置至该段落的第一个字符。

整行动作
dd 删除整行。
D 以行为单位,删除光标后的所有字符。
cc 修改整行的内容。
yy yank整行,使光标所在该行复制到内存缓冲区。

删除与修改

x 删除光标所在该字符。
X 删除光标所在之前一字符。
dd 删除光标所在该行。
r 用接于此指令之后的字符取代(replace)光标所在字符。
如: ra 将光标所在字符以 a 取代之。
R 进入取代状态,直到《ESC》为止。
s 删除光标所在的字符,并进入输入模式直到《ESC》。
S 删除光标所在的该行资料,并进入输入模式直到《ESC》。

移动与复制

利用 delete 及 put 指令可完成资料移动的目的。
利用 yank 及 put 指令可完成资料复制的目的。
yank 和 delete 可将指定的资料复制到内存缓冲区,而通过 put 指令
可将缓冲区内的资料复制到屏幕上。
例:
移动一行 .在该行执行 dd
.光标移至目的地
.执行 p
复制一行 .在该行执行 yy
.光标移至目的地
.执行 p

指令重复

在指令模式中,可在指令前面加入一数字 n,则此指令动作会重复执行 n
次。
例:
删除10行 .10dd
复制10行 .10yy
.光标移至目的地
.p
指标往下移10行 .10j

取消前一动作(Undo)

即复原执行上一指令前的内容。

u 恢复最后一个指令之前的结果。
U 恢复光标该行的所有改变。

查找

在vi中可查找某一字符串,使光标移至该处。

/字符串 往光标之后寻找该字符串。
?字符串 往光标之前寻找该字符串。
n 往下继续寻找下一个相同的字符串。
N 往上继续寻找下一个相同的字符串。

资料的连接

J 句子的连接。将光标所在的下一行连接至光标该行的后面。

若某行资料太长亦可将其分成两行,只要将光标移至分开点,进入输入模式
(可利用 a、i等指令)再按《Enter》即可。

环境的设定

:set nu 设定资料的行号。
:set nonu 取消行号设定。
:set ai 自动内缩。
:set noai 取消自动内缩。

自动内缩(automatic indentation)
在编辑文件或程序时,有时会遇到需要内缩的状况,『:set ai』即提供自
动内缩的功能,用下例解释:
.vi test
.(进入编辑屏幕后)
this is the test for auto indent
《Tab》start indent ← :set ai (设自动内缩)
《Tab》data
《Tab》data
《Tab》data ← :set noai (取消自动内缩)
the end of auto indent.
.注:<Ctrl><d> 可删除《Tab》字符。

ex指令

读写资料
:w 将缓冲区的资料写入硬盘中。
:10,20w test 将第10行至第20行的资料写入test文件。
:10,20w>>test 将第10行至第20行的资料加在test文件之后。
:r test 将test文件的资料读入编辑缓冲区的最后。

删除、复制及移动
:10,20d 删除第10行至第20行的资料。
:10d 删除第10行的资料。
:%d 删除整个编辑缓冲区。
:10,20co30 将第10行至第20行的资料复制至第30行之后。
:10,20mo30 将第10行至第20行的资料移动至第30行之后。

字符串搜寻与取代
s(substitute)指令可查找某行列范围。
g(global)指令则可查找整个编辑缓冲区的资料。
s指令以第一个满足该条件的字符串为其取代的对象,若该行有数个满足该条
件的字符串,也仅能取代第一个,若想取代所有的字符串则需加上g参数。
:1, $s/old/new/g 将文件中所有的『old』改成『new』。
:10,20s/^/ / 将第10行至第20行资料的最前面插入5个空白。
:%s/old/new/g 将编辑缓冲区中所有的『old』改成『new』。

恢复编辑时被中断的文件

在编辑过程中,若系统当掉或连线中断,而缓冲区的资料并还未
被写回硬盘时,当再次回到系统,执行下列指令即可回复中断前
的文件内容。
%vi -r filename

编辑多个文件

vi还提供同时编辑多个文件的功能,方法如下:
%vi file1 file2 ..

当第一个文件编辑完成后,可利用『:w』将该缓冲区存档,而后
再利用 『:n』载入下一个文件。
21、echo 显示环境变量用
例如:
%echo  $RMSROOT 显示环境变量RMSROOT的值
22、ping 测试网络通断情况。
格式:ping ip_address
例如:ping 129.9.123.45
23、ftp 本地工作站与远端工作站之间文件传输
必须拥有远端工作站的帐号及密码,才可进行传输工作 。
格式: ftp hostname or ftp ip_address
例如 :
ftp 129.9.123.45 与远端工作站 129.9.123.45 ,进行文件传输
Name (129.9.123.45:user-name) : 输入帐号
Password (129.9.123.45:user-name): 输入密码

!为执行外部操作系统的命令。
ftp> help 列出 ftp 文件传输,可使用的任何命令。
ftp> !ls 列出本地工作站,目前目录下的所有文件名。
ftp> !pwd 列出本地工作站,目前所在的工作目录位置。
ftp> ls 列出远端工作站目前目录下的所有文件名。
ftp> dir 列出远端工作站目前目录下的所有文件名(略同于 UNIX 的 ls -l 指令).
ftp> pwd 列出远端工作站目前所在的目录位置。
ftp> cd dir1 更改远端工作站的工作目录位置至 dir1 下。
ftp> get file1 将远端工作站的文件 file1 ,拷贝到本地工作站中。
ftp> put file2 将本地工作站的文件 file2 ,拷贝到远端工作站中。
ftp> mget *.c 将远端工作站中,文件名后缀为 c 的所有文件,拷贝到本地工作站中。
ftp> mput *.txt 将本地工作站中,文件名后缀为 txt 的所有文件,拷贝到远端工作站中。
ftp> bin 以二进制方式传输文件,切记在传送可执行文件时要先执行此命令。
可以将ASCII文件按二进制方式传输,但决不能将二进制文件按ASCII方式传输,否则二进制文件的内容会遭到破坏而无法使用。
ftp> asc 以ASCII方式传输文件,只在传输ASCII文件时用,特别是在DOS和Solaris之间传输时用。
ftp> prompt 使用 mput/mget 时不用每个文件皆询问yes/no
ftp> quit 结束 ftp 工作。
ftp> bye 结束 ftp 工作,和quit一样。
注: 从PC到工作站间的文件传输也可在 PC端WIN95下的 FTP命令进行文件传输,用法与
上所述大致相同。
24、telnet ip_address 远程登录命令,在工作站和PC机中都有
例如:
%telnet 129.9.123.45
25、ps 查看系统的进程
格式:ps [-euf...]
例如:
%ps -u rms   (查看系统中,用户rms的 process。)
%ps -ef   (查看系统中,包含系统内部,及所有用户的进程。)
26、kill 杀掉操作系统中的进程
一般先用ps命令先查看进程的ID号,再用kill。如果kill杀不掉,可再加参数-9,说明为强制杀掉。
例如:
%kill -9 1234 这里1234是假设的进程号。
27、tar 把多个文件或目录打包成一个文件,或者把已经打包的文件展开
例如:
%tar cvf RMS RMStar 把目录打包成一个文件
%tar xvf RMStar 把打包的文件展开。
28、compress 把文件压缩成后缀为.Z的压缩文件
例如:
%compress RMStar
29、uncompress 把后缀为.Z的压缩文件解压缩
例如:
%uncompress RMStar.Z
30、df -k 查看各文件系统剩余的空间,-k说明单位是千字节(kb)

显示目录文件用linux中ls命令

ls 命令可以说是linux下最常用的命令之一。

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。

--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。

只列出子目录
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

计算当前目录下的文件数和目录数
下面命令可以分别计算当前目录下的文件和目录个数:
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l -- to count dir

显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
1. 蓝色-->目录
2. 绿色-->可执行文件
3. 红色-->压缩文件
4. 浅蓝色-->链接文件
5. 灰色-->其他文件

ls -tl --time-style=full-iso sshd
ls -ctl --time-style=long-iso
第一页 上页 26 27 28 29 30 31 32 33 34 下页 最后页 [ 显示模式: 摘要 | 列表 ]