zoukankan      html  css  js  c++  java
  • 课程第二天

    
    

    day02_linux基础

    目标

    • linux操作命令

    • vi / vim 编辑器

    • 数据库介绍

    • 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 编辑器的三种模式:

      1. 命令模式

      - 打开文件首先进入命令模式, 是使用vi的入口

      - 通过 命令 对文件进行常规的编辑操作, 例如 定位 翻页 复制 粘贴 删除

      - 在其他图形编辑器下, 通过 快捷键 或者 鼠标 实现的操作, 都在 命令模式 下实现

      1. 末行模式 -- 执行 保存 退出等操作

      - 要退出 vi 返回到控制台, 需要在莫行模式下输入命令

      - 末行模式 是 vi 的出口

      1. 编辑模式 -- 正常的编辑文字

    • 命令行模式常用命令

      命令功能
      o 在当前行后面插入一空行
      O 在当前行前面插入一空行
      dd 删除光标所在行
      ndd 从光标位置向下连续删除 n 行
      yy 复制光标所在行
      nyy 从光标位置向下连续复制n行
      p 粘贴
      u 撤销上一次命令
      gg 回到文件顶部
      G 回到文件末尾
      /str 查找str
    • 编辑模式

      在命令模式下输入 i 或 insert 或者 a 都可以切换到 编辑模式

    • 末行模式

      在编辑模式下需要做两步

      1. esc 退出当前编辑模式

      2. 末行模式命令

    • 末行模式

      命令功能
      :w 文件 另存为,如果保存的文件已存在。:w! 路径/文件 强制覆盖已存在文件(了解)
      :w 保存(ctrl + s)
      :q 退出, 如果没有保存,不允许退出
      :q! 强行退出, 不保存退出
      :wq 保存并退出
      ZZ 保存并退出
      :x 保存并退出
      :set nu 设置行号
      :%s/旧文本/新文本/g 文本替换

    mysql 数据库

    • 数据库原理

      数据库就是存储数据的文件系统,便于有效的存储和快速的查询工具。

    • 使用数据库可以高效的有条理的储存数据:

    1. 可以结构化存储大量的数据,

    2. 可以有效的保持数据的一致性、完整性。

    数据的存储方式:

    1. 结构化数据,固定的列

    2. 半结构化数据,看似有结构,实则列不固定

    3. 非结构化数据,文本、图片、数据流

    • 常用的数据库主要分为关系型数据库和菲关系型数据库

      数据库类型数据库介绍
      关系型数据库 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

    1. 创建项目

    1. 添加数据源

     

     

    1. 自定义驱动设置

    1. 自定义 mysql_jdbc_java_5.1.47.jar

    1. 查询数据库

    问题集锦

    • 管道,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 命令  

       

    •  

  • 相关阅读:
    【Java-JVM】定量分析解决OutOfMemoryError: PermGen space, 来看科学量化分析
    Oracle11g 主机身份证明问题
    html标签的嵌套规则
    提高程序员职场价值的10大技巧
    IT人应当知道的10个行业小内幕
    趣文:如果编程语言是车
    去除inline-block元素间间距的N种方法
    《大型网站SEO优化实践》学习分享
    如何通过预加载器提升网页加载速度
    网页爬虫及其用到的算法和数据结构
  • 原文地址:https://www.cnblogs.com/shan13936/p/13693191.html
Copyright © 2011-2022 走看看