linux前四天学习笔记

时间:2021-10-22 22:15:07

以下是在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`是指将获取到的年月日作为包名内容)