1、目录结构
一、 目录的作用 1./bin :存放系统常用命令的目录 /usr/bin :是/bin目录的快捷方式指向的目录 /usr/local/bin :安装的第三方软件的命令的目录 [root@localhost bin]# ll 总用量 40544 -rw-r--r--. 1 root root 23901760 9月 18 16:31 etcd -rw-r--r--. 1 root root 17612384 9月 18 16:31 etcdctl [root@localhost bin]# chmod +x etcd [root@localhost bin]# chmod +x etcdctl [root@localhost bin]# ls etcd etcdctl [root@localhost bin]# pwd /usr/local/bin 2./boot :系统引导程序+系统内核 知识储备: 查看系统内核版本: uname -a 3./dev :存放设备 光驱 硬盘,关于硬件的设备 4./etc :存放系统或服务的配置文件 更改网卡:centos5,6显示的ens centos7显示的时eth 改32 的,32的是公网ip的33是私网ip的 重新启动网卡:在xshell中点击文件,更改属性 5./home :普通用户的家目录 6./lib :库文件存放目录(32位) 7./lib64 :库文件存放目录(64位系统) 8./lost+found :磁盘、文件系统损坏 断电 临时存放文件。注:只在ext文件中存在 9.media :一般是存放歌曲,图片。一般用在图形化界面 10.misc :一般是存放歌曲,图片。一般用在图形化界面 11.mnt :临时挂载的目录 挂载点:给设备提供一个入口 12.opt :第三方软件安装在这里 现在第三方软件安装在/usr/local中 13.proc :虚拟目录,显示内存信息 知识储备: 查看内存:free -m 查看cpu:lscpu 查看cpu详细信息:cat /proc/cpuinif 查看内存详细信息:cat /proc/meminfo 14./root :超级管理员目录,家目录 15./sbin :超级命令,只能够使用的命令 16./selinux :selinux及他的配置文件存放位置 禁用selinux: 永久关闭: vim /etc/selinux/config 修改:SELINUX=disabled 临时关闭: setenforce 0 17./srv :一般存放第三方文件,一般需要自己创建 18./sys :虚拟目录 内存信息 一般用不到 19./tmp :垃圾回收站 一般存放临时的不重要的文件 20./usr :存放用户程序,第三方文件一般安装在这个目录 21./var :存放系统日志的目录,经常变化的文件 系统日志: /var/log/messages
2、创建用户
创建用户:useradd 【用户名称】切换用户:su 【用户名】
3、网卡命令相关
ifdown 【网卡的名称】 : 停止网卡 ifdown eth1ifup 【网卡的名称】: 开启一个网卡 ifup eth1重启网络的: systemctl restart network
4、查看磁盘及分区挂载
1、增加一块硬盘 10G为例 查看硬盘命令:lsblk2、做磁盘分区 1、开始磁盘分区 # 磁盘分区的命令: fdisk 【需要分区硬盘路径】 fdisk /dev/sdb 指令: m 帮助信息 n 新增一个分区 p 查看分区列表 w 写入分区到硬盘 Command (m for help): n # 选择指令 Partition type: 分区类型 p primary (0 primary, 0 extended, 4 free) 主分区 e extended 逻辑分区 `primary : 已经分过的分区 `extended : 已经分过的逻辑分区 `free : 总共还可以分多少个分区 Select (default p): p # 选择分区类型 Partition number (1-4, default 1): 3 # 选择分区的编号 First sector (2048-20971519, default 2048): 2048 # 分区开始的桶 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G # 分区结束的桶 Command (m for help): p # 查看分区列表 Device Boot Start End Blocks Id System /dev/sdb3 2048 209717247 104857600 83 Linux 分区的名称 开始的桶的编号 结束的桶的编号 桶的数量 当前硬盘的编号 文件系统 Command (m for help): w # 写入分区到列表 The partition table has been altered!3,格式化文件系统 # mkfs.xfs [文件系统分区的路径] mkfs.xfs /dev/sdb3 4,挂载使用 mount 【选项】 【磁盘分区的路径】 【挂载的路径】 mount /dev/sdb3 /mnt 卸载: umount [挂载的路径] umout /mnt # 注:卸载文件时,光标不能够在卸载的目录5,查看挂载 df -h
5、系统重要目录
1.查看当前系统ip 1.ip addr show =》 ip a lo 网卡 :回环网络 回环网络的意思是:本机自己访问自己 eth0网卡 :公网网卡ip eth1网卡 :私网网卡ip 2.ifconfig = ip a 但是ifconfig用于contos6中 3.nmtui :依赖于networdmanager 4.ipconfig :查看windows主机的网卡,在cmd中2.网卡配置文件: vim /etc/sysconfig/network-scripts/ifcfg-eth【网卡的名称】3.判断网络是否通畅 可以 ping 192.168.15.2 网关 可以 ping www.baidu.com 确认网关是否正确 vi /etc/sysconfig/network-scripts/ifcfg-eth04.管理网络 networt NetWorkManager(关闭) 如果两个都开启,就上不了网了
6、域名解析的配置文件
公网DNS: 114.114.114.114 223.5.5.5 8.8.8.8(备用的dns 国外的需要用他) 域名解析: /etc/hosts 本机相关配置文件: /etc/resolv.conf 临时修改dns: vim /resolv.conf 永久修改dns信息需要网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DNS1=114.114.114.114
7、修改主机名
主机名就相当于当前主机的名称。默认的localhost.localdomain1.修改主机名 修改主机名实际上是修改/etc/hostname 第一种方式: hostnamectl set-hostname 【主机名】 注:立即生效 第二种方式: vim /etc/hostname 注:重启生效2.作用 1.方便区分主机 2.在大规模集群中,方便链接 知识储备: scp:通过网络传输文件的 格式:scp 【当前主机的文件路径】 【传输到的系统的用户名】@ip:【路径】 知识储备: ansible :主机清单--》主机组
8、磁盘配置文件
/etc/fstab 文件是配置磁盘挂载的配置文件1.永久挂载 第一种方式:(做快照!!!) 将挂载信息配置到 /etc/fstab中/dev/mapper/centos-root / xfs defaults 0 0 分区路径 挂载的目录的路径 挂载的分区文件系统的类型 权限 是否备份 是否检查 /dev/sdb3 /mnt xfs defaults 0 0 注:当挂载信息出现问题时,linux 主机将无法正常开机 快照 在添加完配置信息之后,一定要检查语法是否正确 mount -n 检查语法是否正确 第二种方式: 开机自启动目录:/etc/rc.local 在开机自启动脚本中增加挂载命令 1.添加挂载命令到:/etc/rc.local mount /dev/sdb1 /mnt 2.添加可执行权限 chmod +x /etc/rc.d/rc.local 3.重启 reboot
9、修改root密码
1.关闭selinux(必须永久关闭)2.重启3再启动界面上按e键进入单用户模式4.在包含linux16这一行,将ro修改为rw并且在其后面增加init=/sysroot/bin/sh(让单用户默认进入sh命令行)5.按ctrl + x键,重新引导系统6.执行chroot /sysroot/ 切换到原来的系统中7.修改root密码 passwd 【指定需要修改的用户名】8.使密码生效 touch /.autorelabel9.重启 reboot
10、用户登录
su 【用户名】 :只加载~/.bashrc > /etc/bashrc su - 【用户名】 : /etc/profile ~/.bash_profile ~/.bashrc /etc/bashrcsu 切换用户相当于换一个用户,切换用户不切换目录su - 切换用户相当于重新登录一个用户,切换目录 知识储备: exit:退出登录
11、登录提示
/etc/motd :在登陆之后显示/etc/issue :在登陆之前显示
12、当前系统模式
runlevel 查看数字模式systemctl get-default 查看全称systemctl set-default 修改系统运行模式 【后面跟的是系统名称】
13、变量加载文件
1./etc/profile 初始化一些系统变量的2./etc/bashrc3./etc/profile.d/ 目录4.~/.bashrc5.~/.bashrc_profile
14、Linux安装软件的三种方式
1、解决nginx安装包没有的问题:需要下载epel源2、epel源仓库是CentOS扩展包的仓库3、安装epel源仓库 1、切换目录 cd /etc/yum.repos.d/ 2、编辑文件 vim epel.repo [epel] name="epel源" baseurl=https://repo.huaweicloud.com/epel/7/x86_64/ gpgcheck=0 3、更新源 yum clean all yum makecache wget [下载的文件URL] : 下载文件 wget 需要安装:yum install wget rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm nginx实现目录索引 autoindex on; autoindex_exact_size off; autoindex_localtime on;/user 是安装第三方软件的目录 · /user/local主要用来安装软件的目录 · /user/bin和/user/local/bin主要用来存放第三方二进制命令文件的
14.1、rpm安装
缺点:无法解决安装包依赖问题rpm -ivh [软件包名称]:安装软件rpm -Uvh [软件包名称]:更新软件 下载链接: https://repo.huaweicloud.com/centos/7/os/x86_64/Packages 安装: rpm -ivh +已经下载且上传好的或者写要安装的安装包链接 rpm -e [软件包名称]: 卸载软件 rpm -e +要卸载的软件名 rpm -q [软件包名称] : 查看该软件包是否安装 rpm -qa [软件包名称] : 打印当前系统中所有的已经安装了的安装包 跟软件包,则判断软件包是否安装 不跟软件包,则打印当前系统中所有的已经安装的软件包 rpm -ql [软件包名称] : 打印指定安装包中包含的所有文件 rpm -qc [软件包名称] : 打印指定安装包的配置文件安装包名称详解: zsh-5.0.2-34.el7_8.2.x86_64.rpm zsh : 软件包的名称 5.0.2: 软件包的版本号 34: 软件包的构建次数 el7: 软件包适用的平台8.2.x86_64: 适用于64位操作系统 .rpm: 扩展名
14.2、yum安装
优点:可以解决安装包依赖问题(即自动将需要其他安装包装好)缺点:无法自定义安装(无法选择需要什么不需要什么)格式: yum install [安装包的名称] : 安装安装包的名称选项: -y:不提示,默认确认卸载软件 yum remove [软件包名称] : 卸载软件包选项: -y : 不提示删除,默认确认更新软件 yum update [软件包] : 更新软件 1、跟软件包则更新软件包 2、不跟软件包则更新整个操作系统搜索软件 在仓库中搜索相关的软件包 yum search nginx
14.3、二进制编译安装
优点:能够定制安装 缺点:不能够解决依赖关系nhinx.org官网 点downloald下载源代码包:http://nginx.org/download/nginx-1.20.1.tar.gz解压文件: tar -xf nginx-1.20.1.tar.gz1.检查系统cd nginx-1.20.1.tar.gz检查:./configure缺少文件安装:yum install pcre pcre-devel zlib zlib-devel make gcc gcc-c++ -y2.编译编译make-j 多核编译的参数 但容易出错3安装编译安装make install测试root@localhost nginx]$systemctl stop nginx启动nginx服务root@localhost nginx]$/usr/local/nginx/sbin/nginx
15、搭建私有yum仓库
搭建私有yum仓库目标 1、能解决依赖 2、必须能够远程访问 yum的底层逻辑 第一步:执行yum install nginx安装命令 第二步:yum去/etc/yum.repos.d这个目录中 第三步:根据/etc/yum.repos.d中所有的.repo结尾的文件中保存的baseurl中的连接,去寻找对应的软件包 第四步:在寻找到的软件包中,下载软件,(/var/cache/yum/x86_64/7/[yum仓库名称]) 第五步:安装所有的软件 第六步:检测是否安装完毕并返回yum的配置文件 cat /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever 指定yum下载的软件包存放的路径 ($basearch == x86_64, $releasever == 7) keepcache=0 是否保存下载的软件包(0 == 不保存 , 1 == 保存) 源的配置文件(必须以.repo结尾,必须在/etc/yum.repos.d) [源的名称] name 源的简介(必须) baseurl 源的地址(必须) gpgcheck 是否验证源的安全性(1 == 验证, 0 == 不验证)第五步:安装所有的软件(rpm -ivh)第六步:检测是否安装完毕并返回实施1、创建目录,充当仓库 mkdir /yumrepo2、下载软件,存放于yum仓库中 cd /yumrepo mkdir Packages cd Packages wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm3、建立依赖关系 1、安装建立依赖关系的命令 yum install yum-utils createrepo 2、建立yum源的依赖关系 createrepo [仓库的路径] [root@python ~]$ createrepo /yumrepo/3、检查 cd /yumrepo/ ll ll repodata/ 4、编写yum源 vim local.repo cat local.repo 更新源 yum clean all yum makecache5、测试 yum remove zip yum install zip 6、安装远程软件,提供远程访问服务 1、恢复base源和epel源 cd /etc/yum.repos.d/ ll mv backup/* . ll 2、安装nginx远程web服务软件 yum install nginx -y 3、修改nginx的配置文件,使其能够代理yumrepo仓库的远程服务 1、将目录索引的配置文件添加进来 autoindex on; autoindex_exact_size off; autoindex_localtime on; 2、修改nginx代理的目录 root /yumrepo; 3、启动nginx服务 systemctl start nginx 4、在浏览器 http://192.168.15.201/4、修改local yum源 1、隐藏base源和epel源 pwd ll mv CentOS-Base.repo backup/ mv epel.repo backup/ 2、修改local源,使其支持远程访问 [local] name=本地yum源 baseurl=http://192.168.15.201/ gpgcheck=0 3、重新生成 yum clean all yum makecache5、测试 yum remove zip yum install zip
16、什么是系统负载
单位时间内,系统进程占用CPU的相对时间。 1个CPU 1个核 1 100% 1个CPU 2个核 1 50% 10:23:31 up 4 days, 22:06, 3 users, load average: 0.00, 0.86, 2.90 当前系统时间 当前系统状态(up\down) 启动时间 三个窗口 1分钟负载 10分钟负载 15分钟负载[root@python nginx]$ while true ; do w ; sleep 1; clear; done