Linux系统及操作 (11)

本文详细介绍了在Linux系统中如何通过源码编译安装软件,包括使用gcc和make,以及RPM包的管理。此外,还涵盖了rsync的使用、数据库操作(如MySQL和MariaDB)以及SHELL脚本的基础知识。
摘要由CSDN通过智能技术生成

Linux系统及操作 (10)

源码编译安装

  • 将程序员编写的源代码转换成计算机可以理解的机器码,从而使软件能够被执行

  • 将程序的源代码转换称为可执行的二进制文件的过程被称为源码编译

  • 把真机的 [ /linux-soft/s1/tools.tar.gz ]

  • 源代码软件包

  • 安装源代包,开发了 RPM软件包 : [ rpm -ivh ] OR [ yum -y install ]

  • 源码包----开发工具gcc与make----》可以执行的程序-----》运行安装

  • 源代码 ------------源码编译------------> 可执行程序

  • 源码包:

    1. 可以指定安装位置
    2. 可以按需求自定义功能/自定义性优秀
    3. 版本较新
源码编译安装的优势
  • 获得软件的最新版,及时修复bug

  • 软件功能可按需选择/定制,有更多软件可供选择

  • 源码包适用各种平台

安装
  • 安装开发工具 gccmake

  • tar解包,释放源代码至指定目录.默认目录是 [ /usr/local/ ] .

    [ tar -xf /root/tools.tar.gz -C /usr/local ]

  • 查看解压的源码包 [ ls /usr/local/tools ] -------> [ inotify-tools-3.13.tar.gz ]

  • 进行tar解包,到默认目录

    [ tar -xf /usr/local/tools/inotify-tools-3.13.tar.gz -C /usr/local/ ]

  • 查看解压的包 [ ls /usr/local/inotify-tools-3.13/ ]

configure脚本
  • 作用:

    1. 检测当前系统是否安装gcc

    2. 指定安装位置与功能

    3. 生成 Makefile文件(制作程序的大纲)

  • 运行 : [ ./ ] 代表运行 , [ --prefix ] 指定在解压目录下的安装位置

    1. 不可用绝对路径,需要在解压的目录下进行 [ cd /usr/local/inotify-tools-3.13/ ]

    2. [ ./configure --help ] # 查看help信息

    3. [ ./configure --prefix=/opt/myrpm ]

      ​ #指定安装位置,自动创建myrpm,不产生Makefile文件

    4. [ make ]

      ​ #进行 make 编译,变成可以执行的程序(放在内存中).产生Makefile文件,在解压目录下

    5. [ make install ]

      ​ #把内存中的可执行程序安装出来, 快捷方式在 /opt/myrpm/bin/

  • 卸载

    • 直接删除即可 [ rm ]
总结
1. **安装开发工具 [ gcc ] 与 [ make ] .**-------------------------------------释放源代码到指定目录
2. **[ tar ]解包,**-----------------------------------------------------------------释放源代码到指定目录
3. **[ ./configure ] 配置,**----------------------------------------------------指定安装目录/功能模块等选项
4. **[ make ] 编译,**------------------------------------------------------------生成可执行二进制程序文件
5. **[ make install ] 安装,**--------------------------------------------------将编译好的文件复制到安装目录
   6. **出错重新安装时,删除第二步 tar解包, 从第二步tar解包重新做**

rsync本地同步

  • Remote Sync , 远程同步

    • 支持本地复制, 或与其他 SSH , rsync 主机同步

    • [ cp ] 功能强大

      • 复制 : 完全拷贝源的目标
      • 同步 : 增加拷贝 , 只传输变化过的数据
    • 官方网站 : http://reync.samba.org/

  • 格式 : [ rsync 选项… 源目录 目标目录 ]

    • 运行几遍,同步几遍

    • 源的数据同步到目标, 与目标数据无关,只传输变化过的数据

  • 选项

    • [ -n ] :测试同步过程,不做实际修改

    • [ --delete ] :删除目标文件夹内多余的文档

    • [ -a ] :归档模式,相当于-rlptgoD , 保证权限基本属性不变的同步,不包括ACL

    • [ -X ] :保持ACL策略不变

    • [ -v ] :显示详细操作信息,一般加上

      常用 [ -avX ] 不常用[ -z ],传输过程中压缩解压.现在都是自动

本地同步
  • [ rsync -avX /mydir /todir ] # 把 /mydir 带着目录和内容 同步到 /todir下

  • [ rsync -avX /mydir/ /todir ] # 只有**/mydir 的内容**同步

  • [ rsync -avX --delete /mydir/ /todir ] # /todir 下只有 /mydir下内容的同步

远程同步( rsync + ssh )
  • [ rsync -avX /mydir/ root@192.168.88.2:/todir_2 ] # 传过去
  • [ rsync -avX --delete /mydir/ root@192.168.88.2:/todir_2 ]
  • [ rsync -avX root@192.168.88.2:/mydir_2/ /todir ] # 传回来
  • [ rsync -avX root@192.168.88.2:/mydir_2/ /todir ]

实时同步
  • 需要实现ssh无密码验证(公钥与私钥)

  • 监控目录内容变化工具

    • inotifywait--------------------[/opt/myrpm/bin/inotifywait]

    • [ inotifywait 选项 目标文件夹 ]

      • [ -m ],持续监控(捕获一个事件后不退出)
      • [ -r ],递归监控、包括子目录及文件
      • [ -q ],减少屏幕输出信息
      • -[ e ],指定监视的 modify、move、create、delete、attrib 等事件类别
    • [ /opt/myrpm/bin/inotifywait -rq /mydir ] #发现变化然后报告

SHELL 脚本
  • 一个可以执行的文件,实现某种功能

  • 创建文本 [ *.sh ]

  • 赋予执行权限 [ chmod +x /xxx/*.sh ]

  • 执行文件 [ /xxx/*.sh ]

  • 循环

    while 条件

    do

    重复执行的事件

    done

数据库

  • DB,数据库 : 一批数据的集合. 主流的数据库多用来存放关系型数据表格.

  • 关系型数据库 : 以二位表格记录大量尸体的属性信息

  • 常见的关系型数据库管理系统

    • 微软的 SQL Server
    • IBM的 DB2
    • 甲骨文的 Oracle , MySQL
    • 社区开源版 MariaDB
  • DBMS , 数据库管理系统

    • 用来操作和管理数据库的大型软件平台

MariaDB数据库系统

  • 数据库是通过某个软件管理数据 [数据库系统]---->[ 数据库 ]---->[ 表格 ]

  • 国内常用软件是MySQL ,MariaDB是其子妹软件

  • 安装 MariaDB数据系统 [ yum -y install mariadb-server ]

  • [ systemctl restart mariadb ] #启动

基本使用
  • Linux系统的管理指令不能使用

  • 所有的数据库系统指令都必须以 [ ; ] 结尾

  • 数据库系统的指令大部分不支持tab补全

  • database 代表数据库

    [ mysql; ] #进入数据库系统
    [ create database nsd01; ] #创建nsd01数据库(不能纯数字)
    [ show databases; ] #查看所有数据库
    [ drop database nsd01; ] #删除nsd01数据库
    [ use mysql; ] #切换到mysql数据库
    [ show tables; ] #查看当前库中所有表格
    [ exit; ] #退出
恢复数据
  1. 真机传递数据到虚拟机

    [ scp /linux-soft/s1/users.sql root@192.168.88.240:/root ]

  2. 恢复 [ /root/users.sql ] 的数据到 指定数据库

    1. 建立数据库 bilibili [ create database bilibili; ]
    2. [ mysql bilibili < /root/users.sql ] #传到 bilibili数据库中
    3. [ use bilibili; ] [ show tables; ] #查看数据库的数据表格
表格操作
  • 增(insert) 删(delete) 改(update) 查(select)

  • 表记录 : 数据

  • 表字段 : 类型

  • !!注意!! 进行数据操作时,表记录数据要加[ ’ ’ ] 例如 : [ password=‘5555’ id=‘sasas’]

查 select

select * from base ;

  • 格式 : [ select 表字段,表字段,… from 库名.表名; ]

    切换到数据库 bilibili , 查看 bilibili 内 base表格

    [ select * from base; ] #查看base所有表字段内容

    [ select name,password from base; ] # 查看 base内 类型为 name , password 的数据

    [ select * from test.base; ] # 在数据库bilibili中查看 数据库test 中的 base 表格(不推荐)

  • 格式 : [ select 表字段,… from 表名 where 表字段=xx and/or 表字段=xx; ]

    查看bilibili数据库中 ,base表格内的 符合条件的数据

    [ select name,password from base where password=‘456’; ]

    [ select name,password from base where password=‘456’ or id=2; ]

增 insert
  • 格式 : [ insert 表名 values (‘值’,‘值’,‘值’); ]

    [ insert base values(‘10’,‘dc’,‘789’); ]

改 update
  • 格式 : [ update 表名 set 表字段=‘新值’ where 表字段=’值’; ]

    表格中对应类型的某个表字段修改内容

    [ update base set password=‘8888’ where id=‘1’; ]

删 delete
  • 格式 : [ delete from 表名 where 表字段=‘值’; ]

    [ delete from base where id=‘4’ ; ]

数据库系统管理员设置密码
  • 格式 : mysqladmin [-u用户名] [-p[旧密码]] password ‘新密码’

    [ mysqladmin -u root -p456 password ‘123’ ]

  • 数据库系统管理员:对于数据库系统有最高权限,名字为root,

    • 能够登陆数据系统的用户信息,由mysql库中user表进行储存
  • Linux系统管理员: 对于Linux系统有最高权限,名字为root,

    • 能够登陆Linux系统的用户信/etc/passwd进行储存
  • 两者无关联.

  • 登录管理员格式 :[ mysql -u root -p ] #交互式进行登录

  • 登录管理员格式:[ mysql -u root -p456 ] #非交互式登录

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值