linux前四天学习笔记
以下是在linux培训机构所学的内容,感觉比较乱
MySQL学习笔记
MySQL的安装
linux中的超级管理员root
aixocm
vnc的退出: F8
MySQL的特点、优点:
关系型
开源、免费
c++
瑞典
sun
oracle
Linux、unix、windows
tcp/ip
多用户、用线程、多CPU
多种存储引擎(表的类型)
ansi/iso的sql标准
c -> s
语言, sql
structued query language
create table emp
(
);
select * from emp where empAge > 30;
sql语言
挂载光盘:
mount -o loop rhel6.3.x86.iso /var/ftp/rhel6.3
cd /var/ftp/rhel6.3/Packages
ls
1.
rpm包的方式
mysql-5.1
mysql-libs
mysql-server
php-mysql php->mysql
mysql-devel c->mysql
查询:
rpm -q mysql
安装:
rpm -ivh mysql-5.1 tab补齐
rpm -ivh mysql-server-5 tab补齐
server -> database -> talbes
data是存放在表中
c -> MySQL Server
客户端与服务器端进行通信的方式:
2种:
1. unix socket
2. tcp/ip
创建数据库:
create database ds;
进入数据库:
use ds;
创建表:
create table stu
(
stuID int,
stuName varchar(32), -- 32个字符 sqlServer
stuAge int
)engine=innodb charset=utf8;
show tables;
desc stu;
desc stu stuName;
show table status like 'stu'\G
show full columns from stu;
insert into stu values(1, 'tom', 20);
select * from stu;
drop table if exists stu;
show create table stu;
表类型
事务
abc
张三丰 unicode编码
3Byte
utf8字符集, 中文字2 ~ 4个字节
3
gb2312 gbk gb18030 中文2B
字符集
insert into stu values(1, 'tom', 20);
insert into stu values(2, 'mike', 20);
insert into stu values(3, 'lee', 20);
void main(void)
{
int a, b;
a = 10;
b = 20;
}
rpm包安装
service mysqld start
service mysqld stop
service mysqld status
ps aux | grep "mysql"
netstat -ntaup | grep "mysql"
mysql来访问mysqld服务
用哪个用户身份登录的:
status;
use mysql;
select user, password, host from user;
服务启动后就有:
sock文件
create database ds;
use ds;
mysql的配置文件:
c和s的
client server
c和s的配置文件是同一个:
/etc/my.cnf
哪个软件提供的my.cnf文件:
rpm -qf /etc/my.cnf
服务器端的配置项:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql # 在安装mysql-server软件时会自动添加mysql这个用户, useradd mysql
客户端的配置项:
[mysql]
prompt=ds>>
#socket=/tmp/mysql.sock
linux基础知识:
为使用MySQL服务
# -------------------------------------------------------------------
获得帮助:
find / -name "*.iso"
man find
j k上下翻动, 一行一行的
/-name搜索
q退出
ls -la /boot
-l选项, 方式运行
/boot参数, 处理对象
命令一般都是二进制程序
提供许多选项
常用的快捷键:
tab
上下箭头键
目录操作:
mkdir /abc
mkdir /etc/def
mkdir /xyz/lmn -p
rm -rf /abc
touch file1
rm -rf file1
文本文件内容的显示:
cat file1
less file1 分页看
文件的查找:
find / -name "*.txt"
拷贝
cp file1 /etc 拷文件
cp -rv abc /tmp 拷文件夹
create table if not exists emp
(
empID int auto_increment,
empName varchar(32),
hiredate date,
salary decimal(10, 2),
deptno int,
addr varchar(64) not null default '长沙',
age int check(age >= 0 and age <= 120),
primary key(empID)
)engine=innodb charset=utf8;
create table dept
(
deptID int primary key,
deptName varchar(32)
)engine=innodb charset=utf8;
vi的使用:
命令模式 -> 输入模式, 按i -> 命令模式, 按esc -> 末行模式, :x
输出重定向
ls > file1
输入重定向
管道
route -n | grep "UG" | awk '{print $2}'
用户
超级用户root
创建用户: useradd jerry
会自动创建jerry的宿主目录/home/jerry
linux中的用户放在/etc/passwd中
删除用户: userdel -r jerry
-r选项会删除jerry的宿主目录
组
创建组: groupadd development
组放在: /etc/group
怎么把用户加入组: useradd jerry -g development
删除组: groupdel development
权限
主人 属组 其他人
u g o
读 r
写 w
执行 x
chmod u-x,g+x,o-rx vnc.sh
更改主人:
chown -R tom vnc.sh
更改属组:
chgrp -R development vnc.sh
lftp 10.0.0.254
ls
cd pub
mirror stardict
cd stardict
rpm -ivh libsigc++...
rpm -ivh stardict... startdict-dic... --nodeps
# --------------------------------------------------------------
MySQL
数据类型:
int
create table stu
(
stuID int(4) zerofill
)engine=innodb charset=utf8;
123
-123
unsigned
00000000
sql编程
create table stu
(
f1 int unsigned,
f2 int unsigned
)engine=innodb charset=utf8;
create table stu
(
stuID int auto_increment unique,
stuName2 varchar(21000),
newsConten text,
stuDate datetime,
isAdmin enum('N', 'Y'),
isHot enum('Y', 'N')
)engine=innodb charset=utf8; -- 存储格式
select top 5 * from news where isHot = 'Y' order by newsDate desc;
utf8字符集, 中文字占2 ~ 4
绝大部分3B
utf8, 编码方式, unicode
ascii
a -> 97
b -> 98
c -> 99
中国字
gb2312
gbk
gb18030
AF001
BE003
/* sqlServer */
create table stu
(
stuID int identity(1, 1),
stuName varchar(32) -- 32Byte, 中 2B,
isAdmin bit -- 0 1 true false 1 0
);
select * from stu where isAdmin = 1;
insert into stu(stuName) values('tom2');
insert into stu(stuName) values('tom3');
insert into stu(stuName) values('tom4');
int
dec(5, 2)
float
varchar(21???)
text
enum('b', 'a')
datetime
# ------------------------------------------------------
绝对路径
/
相对路径
从当前目录开始
shutdown -h now 关机
init 0
shutdown -r now 关机重启
init 6
reboot
从图形 -> 字符: ctrl + alt + F2
从字符 -> 图形: alt + F1
shell壳
由bash提供的命令即内部命令
help
help cd
外部命令获得帮助:
netstat --help
man netstat
查看主机名:
hostname
快捷键:
tab
ctrl + c
ctrl + l
ctrl + u
ctrl + k
上下箭头键调出命令历史
scp root@10.0.0.252:~/ds.txt .
pwd
cd
. 当前目录
.. 上一级目录
~ 用户宿主目录
- 上一个目录
ls -ldtaA
-d 把文件夹当作文件
-t 按修改时间排序
-a 所有文件, 包括以.开头的隐藏文件
-A 所有文件, 包括以.开头的隐藏文件, 但不包括.和..
mkdir 创建
mkdir /etc/xyz
mkdir -p /abc/def
rm -rf abc 删除
rmdir abc 删除
du -sh /etc 查看/etc文件夹有多大
touch file{1..5} 创建空文件
touch -m file1 更新file1的修改时间
cp -p file1 /tmp 复制文件的权限、主人、属组等属性
cp -r abc /tmp 复制abc文件夹
cp -a abc /tmp 相当于-pr
cp -v file1 /tmp 显示复制详情
mv file1 /tmp 剪切文件
mv abc /tmp 剪切文件夹
mv file1 file2 文件改名
mv abc def 把文件夹file1改名为file2
file file1 查看file1的类型
ls -l file1
rm -rf file1 删除文件或文件夹
ln file1 file2 对file1建硬链接文件file2
不能对文件夹硬链接
ln file1 file2 -s 对file1建符号链接文件file2
ln abc def -s 对abc文件夹建符号链接def
cat -n /etc/passwd
less /etc/passwd
head -3 /etc/passwd
tail -3 /etc/passwd
which ls 找出外部命令ls放在什么地方
whereis ls 同which,同时列出
find / -name "*.mp3" 文件查找, 根据名字
find / -type f 文件查找, 根据类型, man find看类型
压缩
zip 压缩文件名 文件1 文件2
unzip abc.zip 解压
unzip 压缩文件名
gzip file1 file2 jile1->file1.gz file2->file2.gz
gzip -9 file1 file2 -9表示高压缩比率,默认为6
zcat file1.gz 不解压file1.gz查看里面的内容
gzip -d file1.gz 解压file1.gz
gzip不能压缩文件夹
bzip2 file1 file2 jile1->file1.bz2 file2->file2.bz2
bzip2 -9 file1 file2
bzcat file1.bz2 不解压file1.bz2查看里面的内容
bzip2 -d file1.bz2 解压file1.bz2
bzip2也不能压缩文件夹比gzip压缩比率大
用的最多的是tar命令tar命令
用途:制作归档文件,释放归档文件
格式:tar 【选项】... 归档文件名 源文件或目录
tar 【选项】... -C 建包或解包时进入指定的相对路径
tar cjvf ds.tar.bz2 file1 file2 dir1 使用bzip2标准压缩file1 file2 dir1包名为ds.tar.bz2
tar czvf ds.tar.gz file1 file2 dir1 使用gzip标准压缩file1 file2 dir1包名为ds.tar.gz
tar tvf ds.tar.gz 查看压缩文件ds.tar.gz的内容
tar xvf ds.tar.gz -C /tmp 将ds.tar.gz释放到tmp文件夹下面去
-c:建立
-C:建包或解包时进入指定的相对路径
-x:解压文件
-t:查看压缩文件
-z:使用gzip标准进行压缩、解压
-j:使用bzip2标准进行压缩、解压
-v:显示压缩解压过程
-f:后面紧跟压缩文件名称
-p:使用原文件的原来属性
-P:使用绝对路径(最好不用)
--exclude file:压缩过程中排除file(也可以是目录)
扩展:
tar cjvf ds-`date+%F`.tar.bz2 file1 file2 dir1 (`date+%F`是指将获取到的年月日作为包名内容)