day02_linux基础
目标
-
linux操作命令
-
-
数据库介绍
-
mysql数据库安装和使用
-
datagrip安装和连接mysql
linux 操作命令
-
查找文件或者文件夹的命令
# 查找某个文件或文件夹的命令 比如 张三 文件夹
find / -name 'zhangsan*'
find /root/ -name 'zhangsan'
# 查找文件大于500M的文件
# find 查找命令, type 类型 f:普通文件 d:文件夹 size 大小
find / -type f -size +500M
# 查找文件详情
ll -h /usr/sbin/mysqld -
查找某个文件中的字符串命令
# 比如查找 helloworld 文件中的 flink
grep flink helloworld -
查找可执行文件的命令
# 比如查找 java 的可执行文件的位置
which java -
系统管理命令
# ps 查看当前的进程
# 显示系统中所有的进程和线程
ps -ef
# 查找指定的进程
ps -ef | grep java -
如何杀掉某个进程命令
# 杀掉 firefox 程序的进程
#1.查找 firefox 进程
ps -ef | grep firefox
#2.杀掉 firefox 进程
kill -9 pid -
管道命令
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
# 比如在文本中 helloworld 文中查找 flink 文本的个数据
cat helloworld | grep -o -w flink | wc -w
# 查询所有进程中指定的命令 awk cut
ps -ef | grep java -
用户创建和密码设置 (并不常用)
# 创建 itheima 普通用户
useradd itheima
# 指定 itheima 密码
passwd itheima -
删除用户
# 删除用户
userdel -r itheima
文件权限概述
Linux操作系统是多任务多用户操作系统,每当我们使用用户名登录操作系统时,Linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器;在Linux系统中,用户组也有一个ID,GID。
在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。
Linux对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限。
r: 对文件是指可读取内容 对目录是可以ls
w: 对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件) mkdir -p或者 rm -r
x: 对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录 cd
-
chmod 赋权命令
# 指定文件或者文件夹赋予 宿主可读可写 组内可读 其他无权限
# 1.可以通过将 u g o直接 + - 权限r w x
# 案例 让其他用户无权限
chmod o-r helloworld
# 案例 让宿主用户有可执行权限
chmod u+x helloworld
# 案例 让宿主用户可执行,组内和其他用户可读
chmod u+x,g+r,o+r helloworld
# 2.数字赋权
chmod 777 helloworld
# 案例 让宿主用户可读可写可执行,组内用户可读可写,其他用户可执行
chmod 761 helloworld
# 3.赋值赋权
chmod u=rwx,g=rw,o=x helloworld -
应用场景
在程序开发完需要测试执行的时候,需要进行赋权操作
chmod u+x test.sh
chown
网络和服务管理
-
查询网络 ip mac
# 获取当前机器的 ip 地址
ifconfig
# ip addr 获取mac 地址
ip addr ether后面的东西 -
查询的主机名
# 查询主机名
hostname -
设置主机名(了解)
# 设置主机名
hostnamectl set-hostname node1 -
service 服务
# 开启mysql 后台服务
service mysql start
# 关闭mysql 后台服务器
service mysql stop
# 查询mysql 后台服务状态
service mysql status
# 重启mysql 网络
service network restart
其他命令
-
软连接 ln 必须从根路径开始
# hadoop conf
/export/server/hadoop-2.7.5/etc/hadoop/
core-site.xml hdfs-site.xml
# hive conf
ln -s /export/server/hadoop-2.7.5/etc/hadoop/core-site.xml /export/server/hive-2.0.0/conf/core-site.xml
# kudu conf
ln -s /export/server/hadoop-2.7.5/etc/hadoop/core-site.xml /export/server/kudu/conf/core-site.xml -
清屏命令
clear
# ctrl + l
vi 编辑器
-
vi 编辑器的特点:
1.只能是编辑文本内容, 不能对字体段落进行排版
2.不支持鼠标操作
3.没有菜单
4.只有命令
-
vi 编辑器的三种模式:
-
命令模式
- 打开文件首先进入命令模式, 是使用vi的入口
- 通过 命令 对文件进行常规的编辑操作, 例如 定位 翻页 复制 粘贴 删除
- 在其他图形编辑器下, 通过 快捷键 或者 鼠标 实现的操作, 都在 命令模式 下实现
-
末行模式 -- 执行 保存 退出等操作
- 要退出 vi 返回到控制台, 需要在莫行模式下输入命令
- 末行模式 是 vi 的出口
-
编辑模式 -- 正常的编辑文字
-
-
命令行模式常用命令
命令 功能 o 在当前行后面插入一空行 O 在当前行前面插入一空行 dd 删除光标所在行 ndd 从光标位置向下连续删除 n 行 yy 复制光标所在行 nyy 从光标位置向下连续复制n行 p 粘贴 u 撤销上一次命令 gg 回到文件顶部 G 回到文件末尾 /str 查找str -
编辑模式
在命令模式下输入 i 或 insert 或者 a 都可以切换到 编辑模式
-
末行模式
在编辑模式下需要做两步
-
esc 退出当前编辑模式
-
末行模式命令
-
-
末行模式
命令 功能 :w 文件 另存为,如果保存的文件已存在。:w! 路径/文件 强制覆盖已存在文件(了解) :w 保存(ctrl + s) :q 退出, 如果没有保存,不允许退出 :q! 强行退出, 不保存退出 :wq 保存并退出 ZZ 保存并退出 :x 保存并退出 :set nu 设置行号 :%s/旧文本/新文本/g 文本替换
mysql 数据库
-
数据库原理
数据库就是存储数据的文件系统,便于有效的存储和快速的查询工具。
-
使用数据库可以高效的有条理的储存数据:
-
可以结构化存储大量的数据,
-
可以有效的保持数据的一致性、完整性。
数据的存储方式:
-
结构化数据,固定的列
-
半结构化数据,看似有结构,实则列不固定
-
非结构化数据,文本、图片、数据流
-
常用的数据库主要分为关系型数据库和菲关系型数据库
数据库类型 数据库 介绍 关系型数据库 MYSQL 开源免费的数据库,中型的数据库.已经被Oracle收购了.MySQL8.x版本也开始收费。 Oracle 收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。 DB2 IBM公司的数据库产品,收费的。常应用在银行系统中. SQLServer MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。 SQLite 嵌入式的小型数据库,应用在手机端。 非关系型数据库 Redis 是一个小而美的数据库,主要用在key-value 的内存缓存,读写性能极佳 HBase HBase是列式数据库,目标是高效存储大量数据 MongoDB MongoDB是文档型数据库,非常接近关系型数据库的。 -
常用数据库:MYSQL,Oracle,Redis,Hbase
mysql的安装和使用
mysql 的安装
-
可以快照当前环境,然后根据 mysql 安装文档一步一步操作,如果出现问题可以恢复快照操作。
mysql 的使用
-
登录mysql
# 登录本机mysql
mysql -uroot -p
# 登录其他服务器的mysql 需要指定对应的host(ip 或者 主机名)
mysql --host node1 -uroot -p
mysql --host 192.168.88.100 -uroot -p -
查询数据库和表
# 查询当前数据库下的所有的数据库名称
show databases;
# 使用某个数据库比如mysql
use mysql;
# 查询当前数据库下的所有表
show tables;
mysql的图形化工具——datagrip
-
创建项目
-
添加数据源
-
自定义驱动设置
-
自定义 mysql_jdbc_java_5.1.47.jar
-
查询数据库
问题集锦
-
管道,wc
# 查找匹配上flink 的行内的所有单词数,包括非flink字符串的单词
[root@node1 ~]# cat text |grep flink|wc -w
8
[root@node1 ~]# cat text
helloworld helloflink flink1 flink0
flink
hadoop
oozie
hue flink
flink
hadoop
[root@node1 ~]# cat text |grep flink
helloworld helloflink flink1 flink0
flink
hue flink
flink
# 查找出来只要包含flink的字符串的单词统计个数
[root@node1 ~]# cat text |grep -o flink |wc -w
6
# 查找出来只有 flink 这个单词的统计个数
[root@node1 ~]# cat text |grep -o -w flink |wc -w
3
[root@node1 ~]# -
ln -s 软链接
# ln 创建链接,默认情况下,创建硬链接
# ln -s 创建的软链接 -
如何查看命令的帮助
# 查看命令的帮助文档 manual
man 命令 -