1、目录结构

  1. 一、 目录的作用
  2. 1./bin :存放系统常用命令的目录
  3. /usr/bin :是/bin目录的快捷方式指向的目录
  4. /usr/local/bin :安装的第三方软件的命令的目录
  5. [root@localhost bin]# ll
  6. 总用量 40544
  7. -rw-r--r--. 1 root root 23901760 9 18 16:31 etcd
  8. -rw-r--r--. 1 root root 17612384 9 18 16:31 etcdctl
  9. [root@localhost bin]# chmod +x etcd
  10. [root@localhost bin]# chmod +x etcdctl
  11. [root@localhost bin]# ls
  12. etcd etcdctl
  13. [root@localhost bin]# pwd
  14. /usr/local/bin
  15. 2./boot :系统引导程序+系统内核
  16. 知识储备:
  17. 查看系统内核版本: uname -a
  18. 3./dev :存放设备 光驱 硬盘,关于硬件的设备
  19. 4./etc :存放系统或服务的配置文件
  20. 更改网卡:centos5,6显示的ens centos7显示的时eth
  21. 32 的,32的是公网ip33是私网ip
  22. 重新启动网卡:在xshell中点击文件,更改属性
  23. 5./home :普通用户的家目录
  24. 6./lib :库文件存放目录(32位)
  25. 7./lib64 :库文件存放目录(64位系统)
  26. 8./lost+found :磁盘、文件系统损坏 断电 临时存放文件。注:只在ext文件中存在
  27. 9.media :一般是存放歌曲,图片。一般用在图形化界面
  28. 10.misc :一般是存放歌曲,图片。一般用在图形化界面
  29. 11.mnt :临时挂载的目录 挂载点:给设备提供一个入口
  30. 12.opt :第三方软件安装在这里 现在第三方软件安装在/usr/local
  31. 13.proc :虚拟目录,显示内存信息
  32. 知识储备:
  33. 查看内存:free -m
  34. 查看cpulscpu
  35. 查看cpu详细信息:cat /proc/cpuinif
  36. 查看内存详细信息:cat /proc/meminfo
  37. 14./root :超级管理员目录,家目录
  38. 15./sbin :超级命令,只能够使用的命令
  39. 16./selinux selinux及他的配置文件存放位置
  40. 禁用selinux
  41. 永久关闭:
  42. vim /etc/selinux/config
  43. 修改:SELINUX=disabled
  44. 临时关闭:
  45. setenforce 0
  46. 17./srv :一般存放第三方文件,一般需要自己创建
  47. 18./sys :虚拟目录 内存信息 一般用不到
  48. 19./tmp :垃圾回收站 一般存放临时的不重要的文件
  49. 20./usr :存放用户程序,第三方文件一般安装在这个目录
  50. 21./var :存放系统日志的目录,经常变化的文件
  51. 系统日志: /var/log/messages

2、创建用户

  1. 创建用户:useradd 【用户名称】
  2. 切换用户:su 【用户名】

3、网卡命令相关

  1. ifdown 【网卡的名称】 停止网卡
  2. ifdown eth1
  3. ifup 【网卡的名称】: 开启一个网卡
  4. ifup eth1
  5. 重启网络的:
  6. systemctl restart network

4、查看磁盘及分区挂载

  1. 1、增加一块硬盘 10G为例
  2. 查看硬盘命令:lsblk
  3. 2、做磁盘分区
  4. 1、开始磁盘分区
  5. # 磁盘分区的命令:
  6. fdisk 【需要分区硬盘路径】
  7. fdisk /dev/sdb
  8. 指令:
  9. m 帮助信息
  10. n 新增一个分区
  11. p 查看分区列表
  12. w 写入分区到硬盘
  13. Command (m for help): n # 选择指令
  14. Partition type: 分区类型 p primary (0 primary, 0 extended, 4 free) 主分区
  15. e extended 逻辑分区
  16. `primary : 已经分过的分区
  17. `extended 已经分过的逻辑分区
  18. `free : 总共还可以分多少个分区
  19. Select (default p): p # 选择分区类型
  20. Partition number (1-4, default 1): 3 # 选择分区的编号
  21. First sector (2048-20971519, default 2048): 2048 # 分区开始的桶
  22. Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G # 分区结束的桶
  23. Command (m for help): p # 查看分区列表
  24. Device Boot Start End Blocks Id System
  25. /dev/sdb3 2048 209717247 104857600 83 Linux
  26. 分区的名称 开始的桶的编号 结束的桶的编号 桶的数量 当前硬盘的编号 文件系统
  27. Command (m for help): w # 写入分区到列表
  28. The partition table has been altered!
  29. 3,格式化文件系统
  30. # mkfs.xfs [文件系统分区的路径]
  31. mkfs.xfs /dev/sdb3
  32. 4,挂载使用
  33. mount 【选项】 【磁盘分区的路径】 【挂载的路径】
  34. mount /dev/sdb3 /mnt
  35. 卸载:
  36. umount [挂载的路径]
  37. umout /mnt
  38. # 注:卸载文件时,光标不能够在卸载的目录
  39. 5,查看挂载
  40. df -h

5、系统重要目录

  1. 1.查看当前系统ip
  2. 1.ip addr show =》 ip a
  3. lo 网卡 :回环网络 回环网络的意思是:本机自己访问自己
  4. eth0网卡 :公网网卡ip
  5. eth1网卡 :私网网卡ip
  6. 2.ifconfig = ip a 但是ifconfig用于contos6
  7. 3.nmtui :依赖于networdmanager
  8. 4.ipconfig :查看windows主机的网卡,在cmd
  9. 2.网卡配置文件:
  10. vim /etc/sysconfig/network-scripts/ifcfg-eth【网卡的名称】
  11. 3.判断网络是否通畅
  12. 可以 ping 192.168.15.2 网关
  13. 可以 ping www.baidu.com
  14. 确认网关是否正确
  15. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  16. 4.管理网络
  17. networt
  18. NetWorkManager(关闭) 如果两个都开启,就上不了网了

image.png

6、域名解析的配置文件

  1. 公网DNS
  2. 114.114.114.114
  3. 223.5.5.5
  4. 8.8.8.8(备用的dns 国外的需要用他)
  5. 域名解析:
  6. /etc/hosts
  7. 本机相关配置文件:
  8. /etc/resolv.conf
  9. 临时修改dns
  10. vim /resolv.conf
  11. 永久修改dns信息需要网卡配置文件
  12. vim /etc/sysconfig/network-scripts/ifcfg-eth0
  13. DNS1=114.114.114.114

7、修改主机名

  1. 主机名就相当于当前主机的名称。默认的localhost.localdomain
  2. 1.修改主机名
  3. 修改主机名实际上是修改/etc/hostname
  4. 第一种方式:
  5. hostnamectl set-hostname 【主机名】
  6. 注:立即生效
  7. 第二种方式:
  8. vim /etc/hostname
  9. 注:重启生效
  10. 2.作用
  11. 1.方便区分主机
  12. 2.在大规模集群中,方便链接
  13. 知识储备:
  14. scp:通过网络传输文件的
  15. 格式:scp 【当前主机的文件路径】 【传输到的系统的用户名】@ip:【路径】
  16. 知识储备:
  17. ansible :主机清单--》主机组

8、磁盘配置文件

  1. /etc/fstab 文件是配置磁盘挂载的配置文件
  2. 1.永久挂载
  3. 第一种方式:(做快照!!!)
  4. 将挂载信息配置到 /etc/fstab
  5. /dev/mapper/centos-root / xfs defaults 0 0
  6. 分区路径 挂载的目录的路径 挂载的分区文件系统的类型 权限 是否备份 是否检查
  7. /dev/sdb3 /mnt xfs defaults 0 0
  8. 注:当挂载信息出现问题时,linux 主机将无法正常开机 快照
  9. 在添加完配置信息之后,一定要检查语法是否正确
  10. mount -n 检查语法是否正确
  11. 第二种方式:
  12. 开机自启动目录:/etc/rc.local
  13. 在开机自启动脚本中增加挂载命令
  14. 1.添加挂载命令到:/etc/rc.local
  15. mount /dev/sdb1 /mnt
  16. 2.添加可执行权限
  17. chmod +x /etc/rc.d/rc.local
  18. 3.重启
  19. reboot

9、修改root密码

  1. 1.关闭selinux(必须永久关闭)
  2. 2.重启
  3. 3再启动界面上按e键进入单用户模式
  4. 4.在包含linux16这一行,将ro修改为rw并且在其后面增加init=/sysroot/bin/sh(让单用户默认进入sh命令行)
  5. 5.ctrl + x键,重新引导系统
  6. 6.执行chroot /sysroot/ 切换到原来的系统中
  7. 7.修改root密码
  8. passwd 【指定需要修改的用户名】
  9. 8.使密码生效
  10. touch /.autorelabel
  11. 9.重启
  12. reboot

10、用户登录

  1. su 【用户名】 :只加载~/.bashrc > /etc/bashrc
  2. su - 【用户名】 /etc/profile
  3. ~/.bash_profile
  4. ~/.bashrc
  5. /etc/bashrc
  6. su 切换用户相当于换一个用户,切换用户不切换目录
  7. su - 切换用户相当于重新登录一个用户,切换目录
  8. 知识储备:
  9. exit:退出登录

11、登录提示

  1. /etc/motd :在登陆之后显示
  2. /etc/issue :在登陆之前显示

12、当前系统模式

  1. runlevel 查看数字模式
  2. systemctl get-default 查看全称
  3. systemctl set-default 修改系统运行模式 【后面跟的是系统名称】

13、变量加载文件

  1. 1./etc/profile 初始化一些系统变量的
  2. 2./etc/bashrc
  3. 3./etc/profile.d/ 目录
  4. 4.~/.bashrc
  5. 5.~/.bashrc_profile

14、Linux安装软件的三种方式

  1. 1、解决nginx安装包没有的问题:需要下载epel
  2. 2epel源仓库是CentOS扩展包的仓库
  3. 3、安装epel源仓库
  4. 1、切换目录
  5. cd /etc/yum.repos.d/
  6. 2、编辑文件
  7. vim epel.repo
  8. [epel]
  9. name="epel源"
  10. baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
  11. gpgcheck=0
  12. 3、更新源
  13. yum clean all
  14. yum makecache
  15. wget [下载的文件URL] 下载文件
  16. wget 需要安装:yum install wget
  17. rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
  18. nginx实现目录索引 autoindex on;
  19. autoindex_exact_size off; autoindex_localtime on;
  20. /user
  21. 是安装第三方软件的目录
  22. · /user/local主要用来安装软件的目录
  23. · /user/bin和/user/local/bin主要用来存放第三方二进制命令文件的

14.1、rpm安装

  1. 缺点:无法解决安装包依赖问题
  2. rpm -ivh [软件包名称]:安装软件
  3. rpm -Uvh [软件包名称]:更新软件
  4. 下载链接: https://repo.huaweicloud.com/centos/7/os/x86_64/Packages
  5. 安装:
  6. rpm -ivh +已经下载且上传好的或者写要安装的安装包链接
  7. rpm -e [软件包名称]: 卸载软件
  8. rpm -e +要卸载的软件名
  9. rpm -q [软件包名称] 查看该软件包是否安装
  10. rpm -qa [软件包名称] : 打印当前系统中所有的已经安装了的安装包
  11. 跟软件包,则判断软件包是否安装
  12. 不跟软件包,则打印当前系统中所有的已经安装的软件包
  13. rpm -ql [软件包名称] : 打印指定安装包中包含的所有文件
  14. rpm -qc [软件包名称] : 打印指定安装包的配置文件
  15. 安装包名称详解:
  16. zsh-5.0.2-34.el7_8.2.x86_64.rpm
  17. zsh 软件包的名称
  18. 5.0.2 软件包的版本号
  19. 34 软件包的构建次数
  20. el7 软件包适用的平台
  21. 8.2.x86_64 适用于64位操作系统
  22. .rpm 扩展名

14.2、yum安装

  1. 优点:可以解决安装包依赖问题(即自动将需要其他安装包装好)
  2. 缺点:无法自定义安装(无法选择需要什么不需要什么)
  3. 格式:
  4. yum install [安装包的名称] 安装安装包的名称
  5. 选项:
  6. -y:不提示,默认确认
  7. 卸载软件
  8. yum remove [软件包名称] 卸载软件包
  9. 选项:
  10. -y : 不提示删除,默认确认
  11. 更新软件
  12. yum update [软件包] 更新软件
  13. 1、跟软件包则更新软件包
  14. 2、不跟软件包则更新整个操作系统
  15. 搜索软件
  16. 在仓库中搜索相关的软件包
  17. yum search nginx

14.3、二进制编译安装

  1. 优点:能够定制安装
  2. 缺点:不能够解决依赖关系
  3. nhinx.org官网 downloald
  4. 下载源代码包:http://nginx.org/download/nginx-1.20.1.tar.gz
  5. 解压文件:
  6. tar -xf nginx-1.20.1.tar.gz
  7. 1.检查系统
  8. cd nginx-1.20.1.tar.gz
  9. 检查:./configure
  10. 缺少文件安装:
  11. yum install pcre pcre-devel zlib zlib-devel make gcc gcc-c++ -y
  12. 2.编译
  13. 编译make
  14. -j 多核编译的参数 但容易出错
  15. 3安装
  16. 编译安装make install
  17. 测试
  18. root@localhost nginx]$systemctl stop nginx
  19. 启动nginx服务
  20. root@localhost nginx]$/usr/local/nginx/sbin/nginx

15、搭建私有yum仓库

  1. 搭建私有yum仓库
  2. 目标
  3. 1、能解决依赖
  4. 2、必须能够远程访问
  5. yum的底层逻辑
  6. 第一步:执行yum install nginx安装命令
  7. 第二步:yum去/etc/yum.repos.d这个目录中
  8. 第三步:根据/etc/yum.repos.d中所有的.repo结尾的文件中保存的baseurl中的连接,去寻找对应的软件包
  9. 第四步:在寻找到的软件包中,下载软件,(/var/cache/yum/x86_64/7/[yum仓库名称])
  10. 第五步:安装所有的软件
  11. 第六步:检测是否安装完毕并返回
  12. yum的配置文件
  13. cat /etc/yum.conf
  14. [main]
  15. cachedir=/var/cache/yum/$basearch/$releasever 指定yum下载的软件包存放的路径 $basearch == x86_64, $releasever == 7
  16. keepcache=0 是否保存下载的软件包(0 == 不保存 1 == 保存)
  17. 源的配置文件(必须以.repo结尾,必须在/etc/yum.repos.d
  18. [源的名称]
  19. name 源的简介(必须)
  20. baseurl 源的地址(必须)
  21. gpgcheck 是否验证源的安全性(1 == 验证, 0 == 不验证)
  22. 第五步:安装所有的软件(rpm -ivh
  23. 第六步:检测是否安装完毕并返回
  24. 实施
  25. 1、创建目录,充当仓库
  26. mkdir /yumrepo
  27. 2、下载软件,存放于yum仓库中
  28. cd /yumrepo
  29. mkdir Packages
  30. cd Packages
  31. wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
  32. 3、建立依赖关系
  33. 1、安装建立依赖关系的命令
  34. yum install yum-utils createrepo
  35. 2、建立yum源的依赖关系
  36. createrepo [仓库的路径]
  37. [root@python ~]$ createrepo /yumrepo/
  38. 3、检查
  39. cd /yumrepo/
  40. ll
  41. ll repodata/
  42. 4、编写yum
  43. vim local.repo
  44. cat local.repo
  45. 更新源
  46. yum clean all
  47. yum makecache
  48. 5、测试
  49. yum remove zip
  50. yum install zip
  51. 6、安装远程软件,提供远程访问服务
  52. 1、恢复base源和epel
  53. cd /etc/yum.repos.d/
  54. ll
  55. mv backup/* .
  56. ll
  57. 2、安装nginx远程web服务软件
  58. yum install nginx -y
  59. 3、修改nginx的配置文件,使其能够代理yumrepo仓库的远程服务
  60. 1、将目录索引的配置文件添加进来
  61. autoindex on;
  62. autoindex_exact_size off;
  63. autoindex_localtime on;
  64. 2、修改nginx代理的目录
  65. root /yumrepo;
  66. 3、启动nginx服务
  67. systemctl start nginx
  68. 4、在浏览器 http://192.168.15.201/
  69. 4、修改local yum
  70. 1、隐藏base源和epel
  71. pwd
  72. ll
  73. mv CentOS-Base.repo backup/
  74. mv epel.repo backup/
  75. 2、修改local源,使其支持远程访问
  76. [local]
  77. name=本地yum baseurl=http://192.168.15.201/
  78. gpgcheck=0
  79. 3、重新生成
  80. yum clean all
  81. yum makecache
  82. 5、测试
  83. yum remove zip
  84. yum install zip

16、什么是系统负载

  1. 单位时间内,系统进程占用CPU的相对时间。
  2. 1CPU 1个核 1 100%
  3. 1CPU 2个核 1 50%
  4. 10:23:31 up 4 days, 22:06, 3 users, load average: 0.00, 0.86, 2.90
  5. 当前系统时间 当前系统状态(up\down 启动时间 三个窗口 1分钟负载 10分钟负载 15分钟负载
  6. [root@python nginx]$ while true ; do w ; sleep 1; clear; done