linux前四天學習筆記

如下是在linux培訓機構所學的內容,感受比較亂php

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;node


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看類型mysql

壓縮
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`是指將獲取到的年月日做爲包名內容)linux

相關文章
相關標籤/搜索