开发环境
名称 | 版本 |
---|---|
操作系统 | Windows 10 X64 |
VMware® Workstation 12 Pro | 12.0.0 build-2985596 |
CentOS7 | CentOS-7-x86_64-DVD-2003.iso |
XShell | 6.0.0032 |
XFtp | 7 Beta(Build 0035) |
Linux 简介
为什么学 Linux?
开源,稳定,漏洞少。
Linux 是什么?
Linux 是一套免费使用和自由传播的类 Unix
操作系统。
Linux 与 Unix 那些事
Unix 起源
GNU is Not Unix 计划
不同时代的架构
Linux 家族
VM 与 Linux 的安装
一.去 BIOS 里设置开启虚拟化设备支持
重启机器,在出现电脑品牌标志后,按 F12
进入 bios (不同的电脑进入 bios 的按键可能会有所不同,我的电脑是联想的,所以按 F12)
选择 Enter Setup
选择 Advanced
-Inter(R) Virtualization Technology
可以看到默认为 Disabled
,这里我们修改为 Enabled
F10
保存,选择 Yes
二.安装 VMware Workstation 12
VMware 12 下载(百度网盘)
链接:https://pan.baidu.com/s/1VvRmjf1yZ2zprQUzuVKRkA 密码:dvpr
来自:https://www.cnblogs.com/ANT-earth-0711/p/11451348.html
双击 VMware-workstation-full-12.0.0-2985596.exe
这里安装路径我选择 E:\VirtualMachine\VMware\VMware Workstation\
,因为我 E 盘空间比较多。
打开 keygen.exe
,生成密匙
三.使用 VMware Workstation Pro 安装虚拟机
打开 VMware Workstation Pro
-创建新的虚拟机
我的电脑是两个双核的处理器
所以这里选择 2 个处理器,2 个核心
我的电脑内存是 8G 的,所以这里我分配 2G 的内存
网络类型
名称 | 含义 | 缺点 |
---|---|---|
桥接网络 | 假如主机的 IP 是 192.168.1.120,虚拟机会生成同一网段的 IP,如 192.168.1.121 | 1.占用同一网段的 IP,可能造成 IP 冲突。2.不安全,同一网段的机器可以访问虚拟机上的资源 |
网络地址转换(NAT) | 假设主机 IP 是 192.168.1.120,则虚拟机 IP 是 192.168.2.120。主机上装的 linux 不会和主机共用一个网段。安装完虚拟机之后,电脑上会多两个虚拟网卡。虚拟网卡中的一个是和Linux 的网段一致的,保持和主机的通讯。 | |
使用仅主机模式网络 | 这种方式会把主机和虚拟机单独置于同一个网络中,虚拟机不具备上网功能。 | 无法与外部通讯 |
使用 NAT 方式后,会创建两个虚拟网卡,安装完成后效果如下
所以这里我们选择 网络地址转换(NAT)
这里选择推荐的方式
完成后可以在设置中查询虚拟机的信息
四.安装 CentOS-7 镜像文件
1.下载
下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/
选择 CentOS-7-x86_64-DVD-2003.iso
下载好的文件保存到 E:\VirtualMachine\SystemFile\CentOS-7-x86_64-DVD-2003.iso`
各个版本的区别
CentOS 7 有 6 种版本的 ISO 镜像文件可供选择,每一种 ISO 镜像文件都可以引导安装 CentOS、修复 CentOS,除了 CentOS-7-x86_64-NetInstall-XXXX.iso 都包含安装文件。
LiveGNOME、LiveKDE、NetInstall 均不提供额外软件以供安装完成的系统挂载使用,其他则版本都有。
软件数量上 Everything > DVD > Minimal。多数时候选择 DVD 版,已安装好的系统需要额外软件,却又无法联网时,需要挂载Everything版(比DVD版软件更多)。
需要安装精简的系统,不需要安装时添加额外软件选择Minimal,LiveGNOME、LiveKDE用于体验 CentOS,优点可以不安装,可以直接加载启用。NetInstall应用场景我暂时不知道,如果想通过这种 ISO 镜像文件安装必须指定网络上的安装文件。6种 CentOS ISO 镜像文件
CentOS-7-x86_64-DVD-XXXX.iso(约4G)
CentOS-7-x86_64-Everything-XXXX.iso(约8G)
CentOS-7-x86_64-LiveGNOME-XXXX.iso(约1G)
CentOS-7-x86_64-LiveKDE-XXXX.iso(约2G)
CentOS-7-x86_64-Minimal-XXXX.iso(约800M)
CentOS-7-x86_64-NetInstall-XXXX.iso(约400M)
2.安装
右键虚拟机名称-设置
CD/DVD(IDE)
-浏览
-选择 E:\VirtualMachine\SystemFile\CentOS-7-x86_64-DVD-2003.iso
开启此虚拟机
耐心等待
选择语言
设置日期和时间
设置 键盘
,这里选择 汉语
,英语(美国)
软件选择
这里会去检查对应的 iso
文件中是否有对应软件
安装位置
-我要配置分区
-完成
修改 文件系统
,点击 完成
接受更改
KDUMP
-不启用
网络和主机名
SECURITY POLICY
,这个不管
全部确认好,开始安装
安装中
Linux 必须设置用户名密码,默认有一个 root
用户,这里先设置 ROOT 密码
这里我们 创建用户
-luoma
安装成功,重启
重启后进行初始配置
再次等待,出现登录界面
输入密码
进入 Linux
五.安装使用 XShell
XShell 用来使用命令操作 Linux 服务器
1.下载
https://www.netsarang.com/zh/xshell/
邮箱里收到的下载链接
Dear user,
Thank you for your interest in Xshell 6. If you did not request a download link for Xshell 6, please contact our support team at support@netsarang.com to have your email address removed from any future emails related to Xshell 6.
Please click the link below to start downloading your software:
https://www.netsarang.com/zh/downloading/?token=NTA3U050VnVxSmU4QkdVcGJsQTEyd0BmQ3lDOUlnMTlhQW1OaUVvRnVZM19n
This link will expire on July 05, 2019
Please show your support
This Free for Home and School edition has the same powerful features as the commercial version. For this free version, all we ask is that you share this wonderful opportunity with other users. If you like our software, please show your support by clicking the "Like" button on our Facebook page:
Like us on Facebook: https://www.facebook.com/netsarang
Do you have any questions?
We offer free technical support during the evaluation period. If you have any questions, please send us an email at support@netsarang.com.
Best regards,
===================================================================
NetSarang, Inc.
4701 Patrick Henry Dr. BLDG 22, Suite 137, Santa Clara, CA 95054, U.S.A.
Website: http://www.netsarang.com | Email: support@netsarang.com
Phone: (669) 204-3301
就是这个
下载好以后得到文件 Xshell-6.0.0125p.exe
2.安装
运行 Xshell-6.0.0125p.exe
3.连接
新建配置
配置名称主机等
名称 | 含义 |
---|---|
名称 | 链接名,随便写 |
协议 | 选择SSH |
主机 | 要远程机器的IP或者域名 |
端口号 | 默认22 |
配置账号密码
点击确定完成配置&选择服务器并连接
连接成功,我们输入 pwd
,列出当前目录,输出 /root
4.其它
有时候连接远程主机,配置了用户名密码,出现下面的提示,选择 Keyboard Interactive
即可
六.XFtp
这个软件可以用来同步远程 Linux 上的文件。
1.安装
下载地址:https://www.netsarang.com/zh/version-7-open-beta/
运行 Xftp-7.0.0035r_beta.exe
2.使用
输入相关 IP 信息,用户名密码
连接上了,把本机桌面的 1.txt
拖动到 Linux 下
进入 Linux,找到对应目录,可以看到我们上上传的 1.txt
文件
Linux 文件与目录结构
带 ☆
的需要记忆
目录结构 | 具体含义 |
---|---|
☆ /bin (/usr/bin、/usr/local/bin) |
是 Binary 的缩写,这个目录存放这最经常使用的命令 |
/sbin (/usr/sbin、/usr/local/sbin) |
s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序 |
☆ /home |
存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录是一用户的账号命名的 |
☆ root |
改目录为系统管理员,也称作超级权限者的用户主目录 |
/lib |
系统开机所需要的最基本的动态连接共享库, 其作用类似于 Windows 里面的 dll 文件。几乎所有的应用程序都需要用到这些共享库 |
/lost+found |
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件 |
☆ /etc |
所有的系统管理说需要的配置文件和子目录 |
☆ /usr |
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 Windows 下的 Program Files 目录 |
☆ /boot |
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放在这里 |
/proc |
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息 |
/srv |
service 缩写,该目录存放一些服务启动之后需要提取的数据 |
/sys |
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核的一个文件系统 sysfs |
/tmp |
这个目录是用来存放一些临时文件的 |
/dev |
类似于 Windows 中的资源管理器 |
/media (centos6) |
识别设备(U盘,光驱)后把设备挂载到此目录 |
☆ /run |
进程产生的临时文件,虚拟机加载光盘映像在:/run/media/root/ 目录下 |
/mnt |
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 /mnt/ 上,然后进入该目录就可以查看里面的内容了。 |
☆ /opt |
给自己额外安装软件说摆放的目录。比如安装一个 Oracle 数据库,就可以放在这个目录下,默认是空的 |
☆ /usr/local |
这是另一个给主机额外安装软件说摆放的目录。一般是通过编译源码方式安装的程序 |
☆ /var |
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放到这个目录下。包括各种日志文件 |
XShell 中输入 echo $PATH
,这里是输出环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
说明 bin
目录下的所有命令都配置在了环境变量中。
VI/VIM 编辑器
Linux 系统的命令行下的文本编辑器。
使用命令
vi 1.txt
vim 1.txt
一般模式
打开文档的默认模式,主要负责查看,和一些就简单的修建。
使用命令
vi 1.txt
vim 1.txt
进入到文件中就叫一般模式。
按键 | 效果 |
---|---|
dd |
删除光标当前行 |
dnd |
删除 n 行 |
u |
撤销上一步 |
x |
删除一个字母 Delete |
X |
删除一个字母 Backspace |
yy |
复制光标当前行 |
p |
粘贴 |
dw |
删除一个词 |
yw |
复制一个词 |
shift + g |
移动到页尾 |
1 + shift + g |
移动到页头 |
数字 N + shift + g |
移动到目标行 |
shift + 6 |
移动到行头 |
shift + 4 |
移动到行尾 |
编辑模式
进入 root 目录,输入命令 vim 1.txt
1.可以编写文字
2.要按下 i
,a
,o
等字母才能进入编辑模式
3.进入后左下角会有 insert
或 replace
的字样
4.按下 esc
这个按键即可退出编辑模式
按键 | 效果 |
---|---|
i |
当前光标前 |
a |
当前光标后 |
o |
当前光标的下一行 |
s |
删除当前字符并进入编辑 |
S |
删除整行并进入编辑 |
R |
进入替换模式,替换光标后的内容 |
命令模式
可以进行存盘、退出、显示行号、搜索、批量替换等操作。
要在一般模式下输入 /
或 :
可以进入命令模式。
进入后光标移至最下端。
命令 | 含义 |
---|---|
:w |
|
:q |
|
:! |
|
:%s/old 字符/new 字符/g |
|
/要查找的词 |
n 查找下一个,N 往上查找 |
N 查找下一个,n 往上查找 | |
:set nu |
显示行号 |
:set nonu |
关闭行号 |
:noh |
取消高亮显示 |
三个模式之间的切换关系
常用基本命令
帮助手册
作用 | 命令 | 备注 |
---|---|---|
帮助手册-man | man |
例如:man date 查看 date 命令的帮助,按 q 退出 |
帮助手册-help | --help |
例如:date --help 查看 date 命令的全部帮助 |
日期类
作用 | 命令 | 备注 |
---|---|---|
日期类-date | date |
例如:date ,输出 2020年 09月 08日 星期二 12:32:47 CST 。date +%Y ,输出 2020 。date +%Y-%m-%d ,输出 2020-09-08 。date +%Y-%m-%d' '%H:%M:%S ,输出 2020-09-08 12:36:34 |
日期类-cal | cal |
例如:cal ,输出一个当前日历。cal -3 ,显示 3 个月份的值。 |
目录及文件
作用 | 命令 | 备注 |
---|---|---|
目录-查看当前所在目录 | pwd |
例如:/root ,输出 /root 。 |
目录-列出当前目录下所有文件 | ls ,[-a] 全部文件,连同隐藏的文件 。[-l] 列出详细列表,别名 ll |
例如:ls ,输出 1.txt initial-setup-ks.cfg 模板 图片 下载 桌面 anaconda-ks.cfg 公共 视频 文档 音乐 |
目录-返回上级目录 | cd .. |
例如:cd .. ,pwd ,输出 / (在 root 目录下返回了上级目录) |
目录-返回至 | cd / |
例如:cd /root ,pwd ,输出 /root |
目录-返回家目录 | cd 或 cd ~ |
例如:cd ,pwd ,输出 /root 。 |
目录-通过绝对路径访问 | cd /etc/sysconfig |
例如:cd /etc/sysconfig ,pwd ,输出 /etc/sysconfig |
目录-通过相对路径访问 | cd ./sysconfig |
. |
目录-创建目录 | mkdir [-p] 创建多级目录 |
例如: 1.cd 桌面 ,mkdir A 。 2.mkdir -p A/B/C |
文件-创建文件 | touch |
例如:touch a.txt |
文件-创建文件 | vi |
例如:vi a.txt ,如果不存在 a.txt 则创建,前提是往里面写东西。 |
文件-创建文件 | vim |
例如:vim a.txt ,如果不存在 a.txt 则创建,前提是往里面写东西。 |
目录-删除空目录 | rmdir |
例如:rmdir C |
目录-移除文件或目录 | rm [-rvf] 递归删除所有目录内容,提示 ,[-rf] 递归删除所有目录内容,不提示 |
例如:rm -rvf C |
文件-复制 | cp [要复制的文件] [到哪里] ,[-r] 递归复制整个文件夹 ,[-v] 显示复制过程中文件的列表 |
例如:cp text.txt /opt 。mkdir -p A/B ,cp -v A ~/桌面 |
文件-剪切 | mv [旧路径和文件名] [新路径和文件名] |
例如:mv text.txt A/text.txt 剪切 text.txt 文件到 A 文件夹下 |
文件-重命名 | mv [文件名] [新的文件名] |
例如:mv text.txt text1.txt |
文件-查看轻量级文本文件 | cat 文件名1 [文件名2] |
例如:cat text1.txt 或者 cat text1.txt 2.txt |
文件-文件合并 | cat 文件名1 文件名2>文件3 |
例如:cat text1.txt 2.txt>3.txt 合并 text1.txt 和 2.txt 的内容到 3.txt |
文件-查看较长的文件 | more |
空白键(space) :代表向下翻一页 |
Enter :代表向下翻一行 |
||
q :代表立刻离开 more,不再显示该文件内容 |
||
Ctrl + F :向下滚动一屏 |
||
Ctrl + B :返回上一屏 |
||
文件-查看较长的文件 | less 与 more 类似,功能更多 |
pagedown :向下翻动一页 |
pageup :向上翻动一页 |
||
/字符串 :向下搜寻字符串 |
||
?字符串 :向上搜寻字符串 |
||
n :重复前一个搜寻(与 / 或 ? 有关) |
||
N :反向的重复前一个搜寻(与 / 或 ? 有关) |
||
文件-从尾部开始查看 | tail [-f](跟随查看) [-n200](显示的行数,n 可以省略) |
例如:tail -f -m100 3.txt ,按 Ctrl + C 强制退出 |
文件-从尾部开始查看退出 | ctrl + c 或 kill -9 pid |
也适用于查看普通文件 |
文件-查找文件 | find 搜索路径 参数 搜索关键字 |
例如:find /root/桌面 *.txt |
文件-查找文件-按文件名 | find 搜索路径 -name "*.txt" |
根据名称查找目录下的 txt 文件,例如:find /root/桌面 -name *.txt |
文件-按索引查找文件 | locate |
例如:locate /root/桌面/*.txt |
文件-更新文件索引 | updatedb |
运行前需要执行 updatedb 来更新文件索引 |
文件-压缩文件(tar) | tar -zcvf 压缩文件名.tar.gz |
-c 创建一个新归档 |
-v 显示详细信息 |
||
-f 指定压缩后的文件名 |
||
-z 通过 gzip 过滤归档 |
||
例如:tar -zcvf 2.tar.gz 2.txt 3.txt |
||
文件-解压缩文件(tar) | tar -zxvf 压缩文件名.tar.gz |
`` |
-x 从归档中解出文件 |
||
-v 显示详细信息 |
||
-f 指定解压前的文件名 |
||
-z 通过 gzip 过滤归档 |
||
例如:tar -zxvf 2.tar.gz |
||
文件-压缩文件(zip) | zip 压缩文件名.zip 文件名1 [文件名2] |
例如:zip 2.zip 2.txt |
文件-压缩文件-递归压缩(zip) | zip -r 压缩文件名.zip 目录名/* |
例如:zip -r B.zip B/* |
文件-解压文件 | unzip -o lib.zip |
解压 lib.zip。unzip 解压。-o 不提示的情况替换文件。 |
ll 列表信息讲解
[root@luoma ~]# ll
总用量 44
-rw-r--r--. 1 root root 426 9月 2 12:32 1.txt
-rw-------. 1 root root 1985 9月 1 21:03 anaconda-ks.cfg
-rw-r--r--. 1 root root 2016 9月 1 21:08 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共
drwxr-xr-x. 2 root root 4096 9月 1 21:28 模板
drwxr-xr-x. 2 root root 4096 9月 1 21:28 视频
drwxr-xr-x. 2 root root 4096 9月 1 21:28 图片
drwxr-xr-x. 2 root root 4096 9月 1 21:28 文档
drwxr-xr-x. 2 root root 4096 9月 1 21:28 下载
drwxr-xr-x. 2 root root 4096 9月 1 21:28 音乐
drwxr-xr-x. 2 root root 4096 9月 1 21:28 桌面
段(空格分隔) | 第几位 | 类型 | 例子 |
---|---|---|---|
第一段 | 0 | 类型。- 文件,d 目录 |
例如:-rw-r--r--. 1 root root 426 9月 2 12:32 1.txt 和 drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 |
第一段 | 1-3 | 当前用户的权限。r 读。w 写。x 执行。 |
例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 |
第一段 | 4-6 | 当前用户组内其他用户的权限。r 读。w 写。x 执行。 |
例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 |
第一段 | 7-9 | 当前用户组外其他用户的权限。r 读。w 写。x 执行。 |
例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 |
第二段 | 不限制 | 当前目录所在的文件个数 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 2 |
第三段 | 不限制 | 当前用户 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 root |
第四段 | 不限制 | 当前用户所在的用户组 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 root |
第五段 | 不限制 | 文件的大小 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 4096 |
第六段 | 不限制 | 月份 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 9月 |
第七段 | 不限制 | 日 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 1 |
第八段 | 不限制 | 时间 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 21:28 |
第九段 | 不限制 | 文件名 | 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 公共 |
grep
配合显示内容的命令,根据跟随的内容显示该行内容。
例如:ll | grep txt
例如:cat Blog_Template.txt | grep 'DB'
显示后面的多少行 -C
, 例如:cat Blog_Template.txt | grep 'DB' -C 2
显示匹配到字符 DB
数据后的两行
软链接
1.也称为符号链接,类似于 Windows 里面的快捷方式,有自己的数据块,主要存放了链接其它文件的路径。
2.命令 ln -s 原文件或目录名 软链接名
3.查询:通过 ls -l
就可以查看,列表属性的第一位是 l
,尾部会有位置指向。
例如:ln -s /opt testOpt
根目录下的 /opt
创建快捷方式 testOpt
cd testOpt
,ls
列出 /opt
下的所有文件。
磁盘
常见的两种磁盘分区类型
类型名称 | 说明 |
---|---|
mbr |
1.操作系统要安装在主分区;2.只支持4个主分区;3.扩展分区占一个主分区。 |
gpt (win7 64位以后) |
1.无限主分区;2.支持超大硬盘(3T 以上) |
查看所有设备挂载情况
作用 | 命令 |
---|---|
查看所有设备挂载情况 | lsblk |
查看所有设备挂载情况 | lsblk -f |
[root@luoma A]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 18G 0 part
├─centos-root 253:0 0 16G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.5G 0 rom /run/media/root/CentOS 7 x86_64
磁盘分区
虚拟机增加硬盘
增加完成,重启系统,再次输入 lsblk
,多出了一个硬盘 sdb
[root@luoma ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 18G 0 part
├─centos-root 253:0 0 16G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 4.5G 0 rom
分区命令
命令 | 说明 |
---|---|
m | 显示命令列表 |
p | 显示磁盘 |
n | 新增分区 |
d | 删除分区 |
w | 写入并退出分区,同 didsk -l |
开始对 sdb
分区,输入 fdisk /dev/sdb
[root@luoma ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x3644f3aa 创建新的 DOS 磁盘标签。
开始分区后输入 n
新增分区。
然后选择 p
,分区类型为主分区。
两次回车默认剩余全部空间。
最后输入 w
写入分区并退出,若不保存退出输入 q
。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
再次输入 lsblk
,可以看到 sdb
下多出了 sdb1
分区
[root@luoma ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 18G 0 part
├─centos-root 253:0 0 16G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sr0 11:0 1 4.5G 0 rom
格式化磁盘
分区命令 mkfs -t ext4 /dev/sdb1
,其中 ext4
是分区类型。
[root@luoma ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
挂载
将一个分区与一个目录联系起来,比如下图中的 sda1
分区挂载到了 /boot
目录,可以通过 /boot
来访问。不挂载的话是无法访问的。
作用 | 命令 | 备注 |
---|---|---|
挂载 | mount 设备名称 挂载目录 |
例如:mkdir newdisk ,mount /dev/sdb1 /newdisk |
取消挂载 | umount 设备名称 |
例如:umount /dev/sdb1 。 |
取消挂载 | umount 挂载目录 |
例如:umount /newdisk |
永久挂载 | 通过修改 /etc/fstab 实现挂载,添加完成后执行 mount -a 即刻生效 |
. |
挂载后输入 lsblk
,可以看到 sdb1
挂载到了 /root/newdisk
。
永久挂载,输入 vim /etc/fstab
,添加下图中的一行
保存后输入 mount -a
。
/etc/fstab
文件参数介绍
列 | 说明 |
---|---|
第一列 | 磁盘设备文件或者该设备的 Label 或者 UUID |
第二列 | 设备的挂载点,就是你要挂载到哪个目录下 |
第三列 | 磁盘文件系统的格式,包括 ext2 ,ext3 ,reiserfs ,nfs ,vfat 等 |
第四列 | 文件系统的参数,default 代表同时具有 rw ,suid ,dev ,exec ,auto ,nouser ,async 等默认参数设置 |
第五列 | 能否被 dump 备份命令作用。0 代表不要做 dump 备份。1 代表要每天进行 dump 的操作。2 代表不定日期的 dump 操作。 |
第六列 | 是否检验扇区。 0 不要校验。1 最早校验。2 1 级别校验完成之后进行校验。 |
用命令行挂载重启后会失效。
磁盘情况查询
作用 | 命令 | 备注 |
---|---|---|
整体磁盘使用情况 | df -h |
|
指定目录磁盘使用情况 | df -h /目录 |
例如:du -h --max-depth=1 /opt |
-s :指定目录占用大小汇总 |
||
-h :带计量单位 |
||
-a :含文件 |
||
-max-depth=1 :子目录深度 |
||
-c :列出明细的同时,增加汇总值 |
网络配置
作用 | 命令 | 备注 |
---|---|---|
查看网络配置 | ifconfig |
|
修改 IP | vi /etc/sysconfig/network-scripts/ifcfg-ens33 |
|
刷新网络设置 | service network restart |
修改 IP 后需要刷新网络设置 |
修改 IP 图形化操作
修改 IP 命令行操作
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e5b0a293-9df3-43f3-b3aa-8d01a4a76691
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.241.128
PREFIX=24
GATEWAY=192.168.44.2
DNS1=192.168.44.2
参数名 | 参数值 | 说明 |
---|---|---|
DEVICE | eth0 | 接口名(设备,网卡) |
BOOTPROTO | none/static/bootp/dhcp | 引导时不使用协议/静态分配 IP/BOOTP 协议/DHCP 协议 |
BROADCAST | 192.168.1.255 | 广播地址 |
HWADDR | 00:0C:2x:6x:0x:xx | MAC 地址 |
IPADDR | 192.168.1.23 | IP 地址 |
NETMASK | 255.255.255.0 | 网络掩码 |
NETWORK | 192.168.1.0 | 网络地址 |
ONBOOT | yew/no | 系统启动的时候网络接口是否有效 |
TYPE | Ethernet | 网络类型(通常是 Ethemet) |
进程(ps process)
ps 显示进程信息选项
作用 | 命令 | 备注 |
---|---|---|
显示进程 | ps |
例如:ps |
-a :显示当前终端所有进程信息 |
||
-u :以用户的格式显示进程信息 |
||
-x :显示后台进程运行的参数 |
||
ps -aux |
查看进程的 CPU 占用率和内存占用率 | |
ps -ef |
想查看进程的父进程 ID | |
每个进程都有一个 pid 作为唯一标识 | pid |
|
杀死进程 | kill pid |
例如:kill pid 通过唯一标识杀死进程 |
强行杀死进程 | kill -9 pid |
|
通过进程名称杀死进程 | killall name |
例如:killall name |
进程参数说明
例如:
[root@luoma newdisk]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 15:56 ? 00:00:02 /usr/lib/systemd/systemd
root 2 0 0 15:56 ? 00:00:00 [kthreadd]
[root@luoma newdisk]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 193952 4892 ? Ss 15:56 0:02 /usr/lib
root 2 0.0 0.0 0 0 ? S 15:56 0:00 [kthread
字段 | 说明 |
---|---|
USER | 用户名称 |
PID | 进程识别号 |
%CPU | 进程占用 CPU 百分比 |
%MEM | 进程占用物理内存的百分比 |
VSZ | 进程占用的虚拟内存大小(单位:KB) |
RSS | 进程占用的物理内存大小(单位:KB) |
TT | 终端名称,缩写 |
STAT | 进程状态,其中 S-睡眠,s-表示该进程是会话的向导进程。N-表示进程拥有比普通优先级更低的优先级。R-正在运行。D-短期等待。Z-僵死进程。T-被跟踪或者被停止等。 |
STARTTED | 进程的启动时间 |
TTY | 终端机号 |
TIME | 此进程所消耗 CPU 时间,即进程使用 CPU 的总时间 |
CMD | 正在执行的命令或进程名 |
COMMAND | 启动进程所用的命令和参数,如果过长会被截断显示 |
杀死进程案例
桌面创建一个文本文件 a.txt
,并获得进程号
[root@luoma ~]# ps -ef | grep gedit
root 15949 1 0 10:18 ? 00:00:01 /usr/bin/gedit --gapplication-service
root 16138 16102 0 10:24 pts/0 00:00:00 grep --color=auto gedit
在图形界面窗口打开这个文本文件
输入 kill 15949
,可以看到图形界面的编辑器被关闭了。
service(CentOS6)
service:注册再系统中的标准化程序。
常用的方法
作用 | 命令 |
---|---|
启动 | service 服务名 start |
停止 | service 服务名 stop |
重启 | service 服务名 restart |
加载 | service 服务名 reload |
状态 | service 服务名 status |
查看服务的方法 | /etc/init.d/服务名 |
设置自启动 | 1.查看服务 chkconfig --list|grep xxx |
2.chkconfig --level 5 服务名 on |
运行级别 runlevel
开机
-BIOS
-/boot
-init 进程
-运行级别
-运行级别对应的服务
查看默认级别:vi/etc/inittab
Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5
运行级别 | 说明 |
---|---|
0 | 系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动 |
1 | 单用户工作状态,root 权限,用于系统维护,禁止远程登录 |
2 | 多用户状态(没有 NFS,即 Network File System 网络文件系统,不支持网络) |
3 | 完全的多用户状态(有 NFS),登录后进入控制台命令行模式 |
4 | 系统未使用,保留 |
5 | X11 控制台,登录后进入图形 GUI 模式 |
6 | 系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动 |
systemctl(CentOS7)
systemctl:注册再系统中的标准化程序。
作用 | 命令 |
---|---|
启动 | systemctl start 服务名 |
停止 | systemctl stop 服务名 |
重启 | systemctl restart 服务名 |
加载 | systemctl reload 服务名 |
状态 | systemctl status 服务名 |
查看服务的方法 | /usr/lib/systemd/system |
查看服务的命令 | systemctl list-unit-files ,systemctl --type service |
设置自启动 | 1.自启动 sytemctl enable service_name |
2.不自启动 systemctl disable service_name |
关闭防火墙
需要把防火墙关闭,否则安装在 Linux 上的 MySql 等服务恐怕不能访问。
使用 systemctl list-unit-files | grep firewalld
查看状态
[root@luoma ~]# systemctl list-unit-files | grep firewalld
firewalld.service enabled
可以看到是 enabled
,使用不自启动 systemctl disable firewalld.service
,再次查看状态
[root@luoma ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@luoma ~]# systemctl list-unit-files | grep firewalld
firewalld.service disabled
运行级别 runlevel
开机
-BIOS
-/boot
-systemd 进程
-运行级别
-运行级别对应的服务
查看默认级别:vim /etc/inittab
运行级别 | 说明 |
---|---|
3 | multi-user.target 等价于原运行界别3(多用户有网,无图形界面) |
5 | graphical.target 等价于原运行级别5(多用户有网,有图形界面) |
netstat
查看系统的网络情况。
-an
按一定顺序排列输出-p
显示哪个进程在调用。
netstat -anp | grep 8080
查看占用 8080 端口的进程。
其它
作用 | 命令 | 备注 |
---|---|---|
输出环境变量 | echo |
在 Sheel 脚本中当 system.out.print 用 |
变量-环境变量 | $PATH |
echo $PATH 输出环境变量 |
查看历史命令 | history |
history 输出所有历史命令 |
Linux 用户与权限管理
用户
Linux 是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
作用 | 命令 | 备注 |
---|---|---|
新增用户 | useradd 新用户名 |
例如:useradd user1 |
设置密码 | passwd 用户名 |
例如:passwd user1 |
用户是否存在 | id 用户名 |
例如:id user1 |
切换用户 | su - 用户名 |
例如:su user1 |
查看当前用户 | whoami 或者 who am I |
例如:whoami ,输出 user1 |
删除用户 | 1.userdel 用户名 |
例如:userdel user1 |
2.在 /home 目录下的文件 |
例如:cd /home ,rm -rf user1 |
|
3.在 /etc/passwd 下的用户 |
例如:vim /etc/passwd 找到 user1 对应的行删除后保存 |
|
4.在 /etc/group 下的用户组 |
例如:vim /etc/group 找到 user1 对应的行删除后保存 |
|
5.在 /var/spool/mail/用户名 下的邮箱文件 |
例如:cd /var/spool/mail ,rm -rvf user1 |
|
完全删除用户(相当于上面删除用户的五个步骤) | userdel -rf 用户名 |
例如:userdel -rf user1 |
用户组
类似于角色,系统可以对共性的多个用户进行统一的管理。
作用 | 命令 | 备注 |
---|---|---|
新增组 | groupadd 组名 |
例如:groupadd Group1User |
删除组 | groupdel 组名 |
例如:groupdel Group1User |
修改用户的组 | usermod -g 用户组 用户名 |
例如:usermod -g Group1User user1 |
增加用户时直接加上组 | useradd -g 用户组 用户名 |
例如:useradd -g Group1User user2 |
验证添加情况
[root@luoma ~]# cd /home
[root@luoma home]# ll
总用量 12
drwx------. 15 luoma luoma 4096 9月 4 09:35 luoma
drwx------. 3 user1 Group1User 4096 9月 11 11:26 user1
drwx------. 3 user2 Group1User 4096 9月 11 11:29 user2
系统中用户和组的相关文件
文件名 | 路径 | 每行含义 |
---|---|---|
用户(user)的配置文件 | /etc/passwd |
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Sheel |
口令的配置文件 | /etc/shadow |
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 |
组(group)的配置文件 | /etc/group |
组名:口令:组标识号:组内用户列表 |
例如:vim /etc/shadow
文件的权限管理
位数 | 说明 |
---|---|
0 | 文件类型(d:目录,-:文件,l:软链接,c:字符设备,b:硬盘) |
1-3 | 所有者(该文件的所有者)拥有该文件的权限。—-User |
4-6 | 所属组(同用户组)拥有该文件的权限。—-Group |
7-9 | 其他用户拥有该文件的权限。—-Other |
作用到文件
代码 | 说明 |
---|---|
[r] | 可读(read):读取,查看 |
[w] | 可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。 |
[x] | 代表可执行(execute):可以被执行 |
作用到目录
代码 | 说明 |
---|---|
[r] | 可读(read):读取,ls 查看目录内容 |
[w] | 可写(write):可以修改,目录内创建+删除+重命名目录。 |
[x] | 代表可执行(execute):可以进入该目录 |
chmod
方式 | 说明 |
---|---|
第一种方式 | +,-,= 变更权限 |
u :所有者。g :用户组。o :其他人。a :所有人(u,g,o 总和) |
|
chmod u=rwx,g=rx,o=x 文件目录名 |
|
chmod o+w 文件目录名 |
|
chmod a-x 文件目录名 |
|
第二种方式 | 数字变更权限 |
r=4,w=2,x=1。rwx=4+2+1=7 | |
chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名 |
例如:chmod g=rwx user1
(user1 所在用户组可读,可写,可执行)
[root@luoma home]# chmod g=rwx user1
[root@luoma home]# ll
总用量 12
drwx------. 15 luoma luoma 4096 9月 4 09:35 luoma
drwxrwx---. 3 user1 Group1User 4096 9月 11 11:26 user1
drwx------. 3 user2 Group1User 4096 9月 11 11:29 user2
例如:chmod o=rw user1
(user1 其他人可读,可写)
[root@luoma home]# chmod o=rw user1
[root@luoma home]# ll
总用量 12
drwx------. 15 luoma luoma 4096 9月 4 09:35 luoma
drwxrwxrw-. 3 user1 Group1User 4096 9月 11 11:26 user1
drwx------. 3 user2 Group1User 4096 9月 11 11:29 user2
chown
代码 | 说明 |
---|---|
chown newowner file |
改变文件的所有者。 例如:chown luoma DD ,改变文件夹 DD 的所有者为用户 luoma。 |
chown newowner:newgroup file |
改变用户的所有者和所有组。例如:chown luoma:root DD , 改变文件夹 DD 的所有者为用户 luoma,用户组 root。 |
-R |
如果是目录,则使其下所有子文件或目录递归生效。例如:chown -R luoma DD ,改变文件夹 DD 和其所有子文件夹的所有者为用户 luoma。 |
chgrp
代码 | 说明 |
---|---|
chgrp newgroup file |
改变文件的所有组。 例如:chgrp root DD ,修改文件夹 DD 的所有组为 root。 |
rpm 与 yun
rpm
RPM(RedHat Package Manager)
,Rethat 软件包管理工具,类似 Windows 里面的 setup.exe。
是 Linux 这系列操作系统里面的打包安装工具,它虽然是 ReaHat 的标志,但理念是通用的。
作用 | 命令 | 备注 |
---|---|---|
查询已安装列表 | rpm -qa | grep xx | 例如:rpm -qa | grep filefox |
安装 rpm | rpm -ivh rpm软件包名称 |
-i 安装 install |
-v 查看信息 |
||
-h 查看进度条 |
||
卸载 rpm | -rpm -e rpm软件包名称 |
. |
例子-使用 rpm 安装 firefox
1.查看 firefox 信息
[root@luoma 桌面]# rpm -qa | grep firefox
firefox-68.5.0-2.el7.centos.x86_64
名称:firefox
版本号:68.5.0-2
适用操作系统:el7.centos.x86_64(表示 CentOS7.x 的 64 位操作系统)
2.卸载 firefox
rpm -e firefox
3.安装 firefox
/run/media/root/CentOS\ 7\ x86_64/Packages
这个目录是 CentOS 默认软件包的目录。
[root@luoma Packages]# cd /run/media/root/CentOS\ 7\ x86_64/Packages
[root@luoma Packages]# ll | grep firefox
-rw-rw-r--. 2 root root 98915480 2月 19 2020 firefox-68.5.0-2.el7.centos.x86_64.rpm
接着 rpm -ivh firefox-68.5.0-2.el7.centos.x86_64.rpm
[root@luoma Packages]# rpm -ivh firefox-68.5.0-2.el7.centos.x86_64.rpm警告:firefox-68.5.0-2.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:firefox-68.5.0-2.el7.centos ################################# [100%]
yum
类似于 Java 开发中的 Maven 工具,可以从镜像网站上下载应用程序,并直接安装。
作用 | 命令 | 备注 |
---|---|---|
查询软件列表 | yum list | grep xx | 例如:yum list | grep firefox |
下载安装 | yum install xx |
例如:yum install firefox |
搭建开发环境
根目录下的 /opt
是存放所有安装包的位置
安装 JDK1.8
下载 JDK1.8
下载地址:https://mirrors.huaweicloud.com/java/jdk/8u152-b16/
下载 jdk-8u152-linux-x64.tar.gz
拷贝到 /opt 目录
使用 XFtp7 拷贝 jdk-8u152-linux-x64.tar.gz
到 CentOS /opt
目录下
解压缩
进入 /opt
目录,解压缩 jdk-8u152-linux-x64.tar.gz
cd /opt
tar -zxvf jdk-8u152-linux-x64.tar.gz
多出了 jdk1.8.0_152
文件夹
[root@luoma opt]# ls
A jdk-8u152-linux-x64.tar.gz text.txt
jdk1.8.0_152 rh
配置环境变量
输入,vim /etc/profile
,按 o
在行尾加入
JAVA_HOME=/opt/jdk1.8.0_152
PATH=$JAVA_HOME/bin/:$PATH
export JAVA_HOME PATH
esc
,:wq
保存。
使环境变量立即生效
1.输入 source /etc/profile
或者
2.重启系统
这里我们输入 source /etc/profile
查看配置情况 echo $PATH
[root@luoma opt]# echo $PATH
/opt/jdk1.8.0_152/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
可以看到已经配置成功了。
输入 java
,javac
看看控制台有没有对应输出。
[root@luoma opt]# java
用法: java [-options] class [args...]
(执行类)
或 java [-options] -jar jarfile [args...]
(执行 jar 文件)
[root@luoma opt]# javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
安装 Tomcat
下载 Tomcat
下载地址:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.70/bin/
下载 apache-tomcat-7.0.70.tar.gz
拷贝到 /opt 目录
使用 XFtp7 拷贝 apache-tomcat-7.0.70.tar.gz
到 CentOS /opt
目录下
解压缩到 /opt
输入 tar -zxvf apache-tomcat-7.0.70.tar.gz
/opt
路径多出了文件夹 apache-tomcat-7.0.70
进入 bin 目录 cd apache-tomcat-7.0.70/bin
启动 ./startup.sh
[root@luoma bin]# ./startup.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.70
Using CATALINA_HOME: /opt/apache-tomcat-7.0.70
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.70/temp
Using JRE_HOME: /opt/jdk1.8.0_152
Using CLASSPATH: /opt/apache-tomcat-7.0.70/bin/bootstrap.jar:/opt/apache-tomcat-7.0.70/bin/tomcat-juli.jar
Tomcat started.
进入图形化界面,浏览器输入 localhost:8080
,出现 Tomcat 欢迎页面,安装成功
安装 eclipse
下载 eclipse
下载 eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz
拷贝到 /opt 目录
使用 XFtp7 拷贝 eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz
到 /opt
目录
解压到 /opt 目录
输入:tar -zxvf eclipse-jee-mars-2-linux-gtk x86_64.tar.gz
图形化界面操作
进入下面的路径,点击 eclipse
进行操作
安装 mysql
下载 mysql
下载地址:https://downloads.mysql.com/archives/community/
Product Version:5.5.54
Operating System:Linux - Generic
OS Version:Linux - Generic 2.6(x86,64-bit)
下载
(MySQL-server-5.5.54-1.linux2.6.x86_64.rpm)
(MySQL-client-5.5.54-1.linux2.6.x86_64.rpm)
拷贝到 /opt 目录
使用 XFtp7 拷贝 MySQL-server-5.5.54-1.linux2.6.x86_64.rpm
和 MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
到 /opt
目录
检查工作
CentOS6:rpm -qa | grep mysql
如果存在 mysql-libs 旧版本包则卸载 rpm -e --nodeps mysql-libs
CentOS7:rpm -qa mariadb
如果存在如下:
[root@luoma opt]# rpm -qa | grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
执行卸载命令
rpm -e --nodeps mariadb-libs
检查 /tmp
文件夹权限,执行 chmod -R 777 /tmp
安装
进入 /opt
文件夹,ll
列出文件
[root@luoma opt]# ll
总用量 542084
drwxr-xr-x. 3 root root 4096 9月 8 20:09 A
drwxr-xr-x. 9 root root 4096 9月 14 19:31 apache-tomcat-7.0.70
-rw-r--r--. 1 root root 8924465 9月 14 19:28 apache-tomcat-7.0.70.tar.gz
drwxrwxr-x. 8 root users 4096 9月 14 19:45 eclipse
-rw-r--r--. 1 root root 287110893 9月 14 19:29 eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz
drwxr-xr-x. 8 10 143 4096 9月 14 2017 jdk1.8.0_152
-rw-r--r--. 1 root root 189784266 9月 14 19:05 jdk-8u152-linux-x64.tar.gz
-rw-r--r--. 1 root root 17890481 9月 15 10:29 MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
-rw-r--r--. 1 root root 51350277 9月 15 10:29 MySQL-server-5.5.54-1.linux2.6.x86_64.rpm
drwxr-xr-x. 2 root root 4096 10月 31 2018 rh
-rw-r--r--. 1 root root 0 9月 8 20:08 text.txt
-rw-r--r--. 1 root root 113 9月 10 15:20 t.tar.gz
执行如下命令进行安装
rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm
具体情况如下
[root@luoma opt]# rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
警告:MySQL-client-5.5.54-1.linux2.6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:MySQL-client-5.5.54-1.linux2.6 ################################# [100%]
[root@luoma opt]# rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm
警告:MySQL-server-5.5.54-1.linux2.6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:MySQL-server-5.5.54-1.linux2.6 ################################# [100%]
警告:用户mysql 不存在 - 使用root
警告:群组mysql 不存在 - 使用root
200915 10:41:33 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
200915 10:41:33 [Note] /usr/sbin/mysqld (mysqld 5.5.54) starting as process 2719 ...
200915 10:41:33 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
200915 10:41:33 [Note] /usr/sbin/mysqld (mysqld 5.5.54) starting as process 2726 ...
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h luoma.centos password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
Please report any problems at http://bugs.mysql.com/
查看 mysql 版本 mysqladmin --version
,输出 mysqladmin Ver 8.42 Distrib 5.5.54, for Linux on x86_64
,安装成功。
通过 rpm 查询 rpm -qa | grep -i mysql
,输出
MySQL-client-5.5.54-1.linux2.6.x86_64
MySQL-server-5.5.54-1.linux2.6.x86_64
说明安装成功。
mysql 相关设置
作用 | 命令 | 备注 |
---|---|---|
mysql 服务启动 | service mysql start |
|
mysql 服务停止 | service mysql stop |
|
设置 root 用户密码 | mysqladmin -u -root password '密码' |
例如:mysqladmin -u -root password '123456' |
登录 mysql | mysql -u用户名 -p密码 |
例如:mysql -uroot -p123456 |
建库 | create database 库名 |
例如:create database test_db |
建表 | create table 表名(字段名 字段类型(长度) 约束...) |
例如:create table test1(id int,name varchar(100)); |
设置字符集
查看字符集 show variables like 'character%';
输出
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
查看 mysql 的安装位置 ps -ef | grep mysql
参数 | 路径 | 解释 | 备注 |
---|---|---|---|
—basedir | /usr/bin | 相关命令目录 | mysqladmin,mysqldump 等命令 |
—datadir | /var/lib/mysql/ | mysql 数据库文件存放路径 | |
—plugin-dir | /usr/lib64/mysql/plugin | mysql 插件存放路径 | |
—log-error | /var/lib/mysql/luoma.centos.err | mysql 错误日志路径 | |
—pid-file | /var/lib/mysql/luoma.centos.pid | 进程 pid 文件 | |
—socket | /var/lib/mysql/mysql.sock | 本地连接时用 unix 套接字文件 | |
/usr/share/mysql | 配置文件目录 | mysql 脚本及配置文件 | |
/etc/init.d/mysql | 服务启停相关脚本 | 相关脚本 |
修改字符集
1.将 /usr/share/mysql
中的 my-huge.cnf
拷贝到 /etc
下,改名为 my.cnf
。
因为 mysql 启动时,会优先读取 /etc/my.cnf
文件。
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
2.在 [client]
,[mysqld]
,[mysql]
中添加相关的字符集设置。
vim /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
3.重启 mysql 服务 service mysql restart
,查看字符集 show variables like 'character%';
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
作用 | 命令 | 备注 |
---|---|---|
查看数据库的字符集 | show create database 数据库名 |
.. |
修改表的字符集 | alter table 表名 convert to character set 'utf8'; |
.. |
修改库的字符集 | alter database 库名 character set 'utf8'; |
.. |
远程访问
创建库和测试表并添加测试数据
mysql> create database luoma_test;
Query OK, 1 row affected (0.00 sec)
mysql> create table test1(id int,name varchar(100));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test1 values(1,'罗马');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test1;
+------+--------+
| id | name |
+------+--------+
| 1 | 罗马 |
+------+--------+
1 row in set (0.01 sec)
远程访问:mysql 默认的 root 用户只允许本机登录,远程通过 SQLyog 工具不能登录。
查看 mysql 库中的用户表
select * from mysql.user\G;
查询常用字段
mysql> select host,user,password,select_priv from mysql.user;
+--------------+------+-------------------------------------------+-------------+
| host | user | password | select_priv |
+--------------+------+-------------------------------------------+-------------+
| localhost | root | *88ACFEA0D58550855499E3A0655672C645A7656B | Y |
| luoma.centos | root | | Y |
| 127.0.0.1 | root | | Y |
| ::1 | root | | Y |
| localhost | | | N |
| luoma.centos | | | N |
+--------------+------+-------------------------------------------+-------------+
6 rows in set (0.00 sec)
创建可以远程访问的 root 用户并授予所有权限。
grant all privileges on *.* to root@'%' identified by '123456';
使用 flush privileges;
命令使生效。
其它:
1.修改当前用户的密码:set password=password('123456');
2.修改某个用户的密码:update mysql.user set password=password('123456') where user=
'luoma';
查看 linux IP: ip addr show
查看到为 192.168.241.128
使用 Navicat Premium 12
连接这台服务器的 mysql。