因为时间问题,暂时只复制老师安装的笔记
笔记之中,mysql 解压之后,有几个地方错误,后续我会修改,
错误之处,我截图出来,
注意第一次登录mysql不需要输入密码,mysql 密码设置很重要,千万别忘记了。
老师的笔记:
# CentOS Linux知识总结
第一章 安装
。。。省略
第二章 基本介绍
1.基本介绍
诞生日期:1991年
**开发者:**林纳斯·托瓦茨
Linux****特点:免费,开源
Linux常用发行版本
2.版本
RedHat系列:
- 收费。(RHET收费;Fedora Core面向桌面版本免费)
- 采用基于RPM包的yum包管理方式,包分发方式是编译好的二进制文件。
- RHET性能稳定,适合服务器开发;Fedora Core性能较差,适合桌面应用
Debian系列:
- …。
Ubuntu系列:
- 界面友好,容易上手,对硬件支持较为全面,适合桌面操作系统的Linux版本。
第三章 目录结构
1./
这就是根目录。对你的电脑来说,有且只有一个根目录。
2./root
这是系统管理员(root user)的目录。请小心使用root帐号。
3./bin
系统启动时需要的执行文件(二进制),命令集合地。
4./etc
这里主要存放了系统配置方面的文件;操作系统的配置文件目录(防火墙、启动项)。
5./dev
这里主要存放与设备(包括外设)有关的文件(unix和linux系统均把设备当成文件)。想连线打印机吗?系统就是从这个目录开始工作的。另外还有一些包括磁盘驱动、USB驱动等都放在这个目录。
6./home
这里主要存放你的个人数据。具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:/home/用户名。当然,root用户除外。
7./tmp
这是临时目录。对于某些程序来说,有些文件被用了一次两次之后,就不会再被用到,像这样的文件就放在这里。有些linux系统会定期自动对这个目录进行清理,因此,千万不要把重要的数据放在这里。
8./usr
在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如像游戏阿,一些打印工具等等。/usr目录包含了许多子目录:/usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接运行的,但却是许多程序运行所必需的一些函数库文件。
9./opt
这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。
10./usr/local
这里主要存放那些手动安装的软件。
11./media
有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。
第四章 命令大全
1.pwd
查看当前目录路径
[root@linux /]# cd /bdqn/java
[root@linux java]# pwd
/bdqn/java
2.cd
切换目录
#上一级目录
[root@linux java]# cd ..
#相对路径下的下一级目录
[root@linux bdqn]# cd java
#绝对路径 切换到任意路径
[root@linux java]# cd /bdqn/java
#切换到家目录,只要是新建了用户都会在/home文件夹中创建用户文件夹
[root@linux ~]# cd /home
[root@linux home]# ls
wuhan
#切换到根目录;所有用户共享的目录
[root@linux java]# cd /
#切换到用户主目录
#如果是root用户,cd ~ 相当于 cd /root
#如果是普通用户,cd ~ 相当于cd /home/当前用户名
[root@linux /]# cd ~
3.ls
ls [选项] [目录名 | 列出相关目录下的所有目录和文件
查看目录下文件
-a 列出包括.开头的隐藏文件的所有文件
-l 列出文件的详细信息
[root@linux wuhan]# ls
[root@linux wuhan]# ls -a
[root@linux wuhan]# ls -la
4.ll
以列的方式显示目录下的文件列表
[root@linux wuhan]# ls
5.mkdir
语法:mkdir [选项] 目录… | 创建新目录
创建文件目录
-p 递归创建目录,若父目录不存在则依次创建
-m 自定义创建目录的权限
-v 显示创建目录的详细信息
##递归方式创建/demo/java/javaEE
[root@linux /]# mkdir -p /demo/java/javaEE
##创建文件夹test,并且为其授权
[root@linux java]# mkdir -m 777 test
6.rm
语法:rm [选项] 文件 | 删除文件
删除文件或目录
-r 删除文件夹
-f 删除不提示
-i 删除提示
–rf:删除文件或目录
##删除文件夹
[root@linux java]# rm -r javaEE
##删除文件(有提示)
[root@linux java]# rm -i aa.txt
rm: remove regular empty file `aa.txt'? y --显示结果
##删除文件/目录(不提示)
[root@linux java]# rm -rf test2
##删除目录(目录中有子文件或文件夹):将会依次提示是否删除子文件或者文件夹
[root@linux java]# rm -r /demo
7.cp
语法:cp [选项] 源文件或目录 目录或多个源文件 | 将源文件复制至目标文件,或将多个源文件复制至目标目录
复制文件/目录
-r -R 递归复制该目录及其子目录内容 -p 连同档案属性一起复制过去 -f 不询问而强制复制 -s 生成快捷方式 -a 将档案的所有特性都一起复制
## /demo中有文件,不能直接复制
[root@linux demo]# cp /demo /bdqn/java
##递归复制
[root@linux demo]# cp -r /demo /bdqn/java
## -f 针对于文件复制的时候,有重复的将不提示
[root@linux demo]# cp -f /demo/abc.txt /bdqn/java/abc.txt
8.rmdir
语法:rmdir [选项] 目录名称
删除空目录,如果该目录下非空则不能删除
rmdir 删除空目录
-v 显示执行过程
-p 递归删除空目录
##递归创建目录
[root@linux /]# mkdir -p /bdqn/java/javaEE
##递归删除空目录
[root@linux bdqn]# rmdir -p java/javaEE
9.mv
语法:mv [选项] 源文件或目录 目录或多个源文件 | 移动或重命名文件
移动文件(/目录)或修改文件名
-b 覆盖前做备份
-f 如存在不询问而强制覆盖
-i 如存在则询问是否覆盖
##修改文件名
[root@linux demo]# mv abc.txt dfd.txt
##复制目录
[root@linux javaEE]# mv /demo /bdqn/java/javaEE
10.vi/vim
语法:vi/vim 文件
vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底行命令模式(Last line mode)
a.命令模式
- 用户刚刚启动
vi/vim
,便进入了命令模式。 i(I)/a(A)/o(O)
:切换到输入模式:
切换到底行模式
b.输入模式
- 输入文本内容
ESC
退出输入模式
c.底行模式
-
:wq!
保存并退出 -
:q!
强制退出 -
:%s/要被替换的字符串/替换后的字符串/g
%
代表通配符,不一定是开头/g
代表全局匹配
-
:set nu
添加行号;:set nonu
取消行号 -
全局显示行号:
##1.切换目录 [root@linux /]# cd /etc ##2.编辑文件并最后添加 [root@linux etc]# vi vimrc ##以下是linux vimrc文件最后几行截图 56 if &term=="xterm" 57 set t_Co=8 58 set t_Sb=^[[4%dm 59 set t_Sf=^[[3%dm 60 endif 61 :set nu ##此处添加 62 " Don't wake up system with blinking cursor: 63 " http://www.linuxpowertop.org/known.php 64 let &guicursor = &guicursor . ",a:blinkon0"
11.cat
语法:cat [-参数选项] 文件名称
查看文件
- 显示小文件内容: cat 文件名称
- 创建并打开一个新的文件: cat >文件名称
##创建并打开一个文件,输入文本内容
[root@linux demo]# cat>demo.txt
ls
dfds
idfsdq
## Ctrl+C 结束输入
##查看文件
[root@linux demo]# cat demo.txt
12.head
语法:head [-参数] [文件]
查看文件开头内容,默认显示前10行
- -n:用于设置显示文件开头 n行的内容
##查看前3行内容
[root@linux test]# head -3 server.xml
##查看默认10行内容
[root@linux test]# head server.xml
13.tail
语法:tail[-参数] [文件]
查看文件尾部内容,默认显示后10行
- -f:用于监视File文件的增长,文件内容更新后,页将动态显示
- -n:用于设置显示文件结尾 n行的内容
##查看后3行内容
[root@linux test]# tail -3 server.xml
##查看默认后10行内容
[root@linux test]# tail server.xml
14.touch
语法:touch[-参数] [文件]
- 创建空文件
##创建一个空文件
[root@linux test]# touch demo.txt
[root@linux test]# ls
abc.txt demo.txt server.xml
##创建多个空文件
[root@linux test]# touch demo1.txt demo2.txt
[root@linux test]# ls
abc.txt demo1.txt demo2.txt demo.txt server.xml
##创建多个空文件-通配符
[root@linux test]# touch {1..4}.txt
[root@linux test]# ls
1.txt 2.txt 3.txt 4.txt abc.txt demo1.txt demo2.txt demo.txt server.xml
- 创建文件,并用stat查看文件的属性状态信息
##创建一个空文件
[root@linux test]# touch demo.txt
[root@linux test]# stat demo.txt
##以下内容是效果截图
File: `demo.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 1044618 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-04-29 11:26:12.863045034 +0800
Modify: 2019-04-29 11:26:12.863045034 +0800
Change: 2019-04-29 11:26:12.863045034 +0800
改变文件的时间戳属性,可以产看文件的相关属性
##修改文件之后,可以产看文件属性状态
[root@linux test]# vi demo.txt
[root@linux test]# touch demo.txt
[root@linux test]# stat demo.txt
15.man
语法:man[命令名称]
查询命令详细参数
##cd命令详情
[root@linux ssh]# man cd
空格:一页一页翻
enter:一行一行的翻
q:结束查看
第五章 权限管理
1.涵义说明
读:read;
写:write;
执行:execute
##目录权限描述
drwxr-xr-x. 3 root root 4096 Apr 29 11:01 demo
drwxr-xr-x | d | rwx | r-x | r-x |
---|---|---|---|---|
所属 | 目录 | 用户 | 用户组 | 其它 |
缩写 | u | g | o | |
权限描述 | 读,写,执行 | 读,执行 | 读,执行 | |
二进制形式 | 111 | 101 | 101 | |
十进制形式 | 7 | 5 | 5 |
##目录权限描述(除第一个 -以外,其它都一致)
-rw-r--r--. 1 root root 31 Apr 29 11:12 demo2.txt
2.chmod
语法:chmod [选项] [参数]
修改权限
-R:递归授权(只是针对目录)
-c:显示执行过程,但只返回更改的部分(了解)
-f:不显示错误信息
-v:显示执行过程(了解)
##对文件添加r权限(u代表用户)
[root@linux java]# chmod u+r abc.txt
##对文件添加wx权限(g代表组)
[root@linux java]# chmod g+wx abc.txt
##对目录递归添加rw权限(g代表组)
[root@linux java]# chmod -R g+rw demo
##对目录递归添加rwx权限(u代表用户)rw权限(g代表组),
[root@linux java]# chmod -R u+rwx,g+rwx demo
##对目录递归添加777权限
[root@linux java]# chmod 777 -R demo
3.更改所有者
语法:chown [选项] [所有者]:[所属组] [文件名]
##把/opt/software下用户组改成wuhan用户组下面的wuhan用户
[root@linux /]# chown wuhan:wuhan /opt/software
##递归把/opt/software下用户组改成wuhan用户组下面的wuhan用户
[root@linux /]# chown -R wuhan:wuhan /opt/software
第六章 用户管理
1.用户
- 操作系统中一系列权限的集合,可以通过用户名和密码执行一些被允许的操作,不同的用户可以具有不同权限。
- Linux操作系统的每一个用户都拥有唯一标识UID,创建永固的时候,如果不指定UID,系统将为其自动分配UID。
- 指定UID的时候尽量大于500,因为系统安装后,会默认创建一些用户,ID可能会被占用。
2.用户组
- 具有相同特征的用户的集合。每一个用户都属于至少一个用户组。
- Linux操作系统中,每一个用户组都有一个唯一标识GID,创建用户组时,如果不指定GID,系统将为其分配一个UID。
3.Linux权限特点
- 系统有一个权限最大的用户root,属于root用户组。
- 系统默认只有root权限可以添加和删除用户。
- 添加用户后,如果没有指定用户组,则会添加一个同名的用户组。
- root用户切换到普通用户无须登录;普通用户切换到root用户则需要登录
- root用户可以给用户授予或收回对某一个文件读、写、执行的权限。
4.创建用户
4.1切换用户
语法:su [用户名] / su - [用户名]
说明:
- su [用户名]切换用户是临时切换,当使用新用户时候,仍然使用原来用户的配置:如环境变量、系统设置等。
- su - [用户名] 切换用户候,使用新用户的配置:如环境变量、系统设置等。
4.2查看当前登录用户
语法:whoami
4.3查看当前用户所属分组
语法:groups
4.4查看当前用户UID和GID
语法:id
[root@linux ~]# id
4.5添加用户
语法:useradd [选项] [用户名]
选项值 | 说明 | |
---|---|---|
1 | -c | 添加一条注释性描述(了解) |
2 | -d | 指定用户主目录 |
3 | -g | 指定用户所属的用户组 |
4 | -u | 指定用户的用户号 |
5 | 默认 | 直接添加用户 |
##添加用户hh并指定用户UID
[root@linux ~]# useradd -u 701 hh
4.6修改密码
语法:passwd [选项] [参数]
选项值 | 说明 | |
---|---|---|
1 | -d | 删除密码,仅系统管理可用(了解) |
2 | -f | 强制执行(了解) |
3 | -k | 设置只有密码过期后才能更新(了解) |
4 | -l | 锁住密码(了解) |
5 | -s | 列举密码相关信息,仅管理员可用(了解) |
6 | -u | 解开已上锁账号(了解) |
添加用户之后,只有设置密码之后才能登录
##添加用户
[root@linux home]# useradd hh
##修改密码
[root@linux home]# passwd hh
4.7删除用户
语法:userdel [选项] [用户名]
取值 | 说明 | |
---|---|---|
1 | -r | 删除用户及其登录日志信息、家目录(不推荐) |
2 | -f | 强制删除用户,即使用户已经登录(不推荐) |
3 | 默认 | 直接删除用户 |
##仅删除用户
[root@linux home]# userdel hh
##删除用户及其登录信息
[root@linux home]# userdel -r hh
4.7修改用户信息
语法:usermod [选项] [参数] [用户名]
选项值 | 说明 | |
---|---|---|
1 | -c | 修改备注信息(了解) |
2 | -d | 修改用户登录时的目录(了解) |
3 | -e | 修改账号有效期(了解) |
4 | -f | 修改密码过期后多少天关闭账号(了解) |
5 | -g | 修改用户所属组(了解) |
6 | -G | 修改用户所属附加组(了解) |
7 | -l | 修改用户账号名称(了解) |
8 | -L | 锁定用户密码,使密码无效(了解) |
9 | -u | 修改用户id(了解) |
10 | -U | 解除密码锁定(了解) |
##修改用户名(修改完之后需要使用id命令查看uid)
[root@linux home]# usermod -l wh wuhan
5.创建用户组
语法:groupadd [选项] [组名称]
1 | 选项值 | 说明 |
---|---|---|
2 | -g | 指定工作组id(了解) |
3 | -r | 创建系统工作组(了解) |
4 | -o | 允许添加组ID不唯一的工作组(了解) |
5 | 默认 | 添加用户分组 |
##添加组
[root@linux home]# groupadd whgroup
##更改用户组
[wh@linux home]$ usermod -g whgroup wh
第七章 进程管理
1.进程概念
每一个程序的执行,就创建了一个进程。随着资源的分配和释放,可以认为进程是一个程序一次执行过程。进程是一个动态的概念,它是程序执行的过程,包括创建、调度、消亡。
例如MySQL:启动MySQL服务并成功后,就开启了一个进程,拥有自己独立的资源,每一个程序都有一个程序启动的入口文件,windows下是.exe文件,Linux下是.sh文件。
2.查看进程
语法:ps -ef|grep [进程关键词]
ps命令可以查看系统进程,并且可以产看进程PID(进程唯一标识)。
3.杀掉进程
语法:Kill -9 [PID]
4.SSH服务设置
启动SSH服务:service sshd start
关闭SSH服务:service sshd stop
重启SSH服务:service sshd restart
查看所有服务:chkconfig --list
5.网络配置
启用网卡:ifconfig [网卡标示] up
禁用网卡:ifconfig [网卡标示] down
查看所有网卡(包含禁用的):ifconfig -a
查看网卡ip (启用状态下):ifconfig
重新获取IP地址:dhclient
6.挂载/取消挂载
语法:mount [设备名称] [挂载的目录]
语法:umount [挂载的目录]
##先创建存放的路径
[root@linux home]# mkdir /mnt/cdrom
##挂载光驱(/dev/cdrom:指代的是光驱),(/mnt/cdrom:指代的是将光驱的文件拷贝到目标路径)
[root@linux home]# mount /dev/cdrom /mnt/cdrom
挂载光驱
取消挂载
挂载光驱的时候需要注意:将设备状态勾选已连接
查看设备网络配置
/etc/ssh目录下的sshd_config文件
查看文件/命令/目录位置
语法:whereis [文件/命令/目录位置]
[root@linux ssh]# whereis pwd
第八章 项目发布
1.rmp方式安装JDK8
1.1.创建目录,并上传文件
##创建目录/opt/software
[root@linux opt]# mkdir /opt/software
1.2.安装
(root用户才能安装)
语法:rpm[选项] [软件包]
rpm -ivh jdk-8u211-linux-x64.rpm
rpm -qa|grep jdk(查看已经安装的jdk)
序号 | 选项值 | 说明 |
---|---|---|
1 | -ivh | 显示安装进度 |
2 | -e | 卸载软件包 |
3 | -qa|grep | 查看已经安装的软件包 |
##查看已经安装的jdk
[root@linux software]# rpm -qa|grep jdk
##卸载原本的jdk
[root@bogon ~]# **rpm -e** java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
##卸载原本的jdk 如果出错
[root@root ~]# **rpm -e --nodeps** java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
##安装jdk
[root@linux software]# rpm -ivh jdk-8u211-linux-x64.rpm
##安装完成之后安装路径为:/usr/java/jdk1.8.0_211-amd64
[root@linux software]# cd /usr/java/jdk1.8.0_211-amd64
1.3.配置环境变量
切换到配置文件目录(系统变量)/etc/profile
##切换路径修改配置文件
[root@linux etc]# vim /etc/profile
##在文件最后添加
export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
export PATH=$PATH:$JAVA_HOME/bin
##配置成功之后查看
java -version /javac /java
1.4.让配置文件立即生效
[root@linux etc]# source /etc/profile
2.rpm安装mysql5.5
2.1.卸载原有的mysql版本
##查看mysql版本
[root@linux etc]# rpm -qa|grep mysq
##卸载当前版本(会报错,提示有依赖)
[root@linux etc]# rpm -ef mysql-libs-5.1.71-1.el6.x86_64
##强制卸载所有依赖
[root@linux etc]# rpm -ef mysql-libs-5.1.71-1.el6.x86_64 --nodeps
2.2.安装mysql5.5
下载路径:https://dev.mysql.com/downloads/mysql/5.5.html#downloads
下载.tar包
解压.tar文件到指定目录
##1.切换到tar包所在的目录 cd /opr/software
##2.直接解压到/opr/software
[root@linux software]# tar -xvf MySQL-5.5.62-1.el7.x86_64.rpm-bundle.tar
##3.查看原有数据库
[root@localhost software]# rpm -qa|grep mysql
##4.卸载原有的数据库
[root@localhost software]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps
##5.安装
[root@localhost software]# rpm -ivh MySQL-server-5.5.62-1.el7.x86_64.rpm
##6.启动服务,并登录,并添加root用户密码
[root@localhost software]# service mysql start
## 登录
[root@localhost software]# mysql -u root -p
##查看文件编码格式
mysql> show variables like 'char%';
## 添加密码
方式一:登录进去之后修改
mysql> set password=password('111111');
方式二:不用登录直接修改
[root@bogon mysql]# mysqladmin -u root -p password
##7.更改编码格式为utf-8
## 切换路径到 /usr/share/mysql
[root@localhost software]# cd /usr/share/mysql
## 拷贝文件到 /etc/my.cnf
[root@localhost mysql]# cp /usr/share/mysql/my-large.cnf /etc/my.cnf
##修改文件中编码格式
[root@localhost mysql]# vim /etc/my.cnf
添加character_set_server=utf8
##8.重启启动服务
[root@localhost software]# service mysql restart
##9.开启3306端口(允许远程访问)
##切换到配置文件目录
[root@localhost bin]# cd /etc/sysconfig
##修改文件vim /etc/sysconfig/iptables
[root@localhost sysconfig]# vim /etc/sysconfig/iptables
需要添加的内容
-A INPUT -ptcp --dport 3306 -j ACCEPT
##重启防火墙
[root@localhost sysconfig]# service iptables restart
##10.windows操作系统访问linux中的mysql
##10.1登录数据库,切换到系统数据库mysql,查看数据库用户中是否有允许所有主机访问
mysql> use mysql
mysql> select user,password,host from user;(如下图效果显示)
+------+-------------------------------------------+-----------+
| user | password | host |
+------+-------------------------------------------+-----------+
| root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA | localhost |
| root | | bogon |
| root | | 127.0.0.1 |
+------+-------------------------------------------+-----------+
6 rows in set (0.00 sec)
##10.2授权
mysql> grant all privileges on *.* to root@'%' identified by '111111' with grant option;
##10.3刷新权限
mysql> flush privileges;
##10.4恢复数据库
方式一:不用登录到数据库服务器
[root@localhost ~]# mysql -u root -p smbms</opt/software/smbms_db.sql
方式二:需要登录到数据库服务器
[root@localhost ~]# source /opt/software/smbms_db.sql
2.4 sql yog连接数据库
没有开启3306端口号的时候
2.5 补充:防火墙
iptables设置
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
3.Tomcat解压到Linux
3.1解压Tomcat
##1.切换到tar包所在的目录 cd /opr/software/tomcat
[root@localhost software]# tar -xvf apache-tomcat-8.5.42.tar.gz -C /opt/software/tomcat
##2.启动服务
##切换到tomcat解压目录
[root@localhost software]# cd /opt/software/tomcat/apache-tomcat-8.5.42/bin
##启动服务
[root@localhost bin]# ./statup.sh
3.2宿主机访问linux中的服务
##1.切换到此防火墙设置目录
[root@localhost bin]# cd /etc/sysconfig
##2.添加8080端口开放
[root@localhost sysconfig]# vim /etc/sysconfig/iptables
需要添加的内容
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
##3.重启防火墙
[root@localhost sysconfig]# /etc/init.d/iptables restart