linux目录结构: 一切从根开始,一个倒挂的树node
windows目录结构:按照盘符进行划分 C盘:linux
linux系统中的挂载技术shell
让用户能够将一个目录做为一个存储设备的挂载点,经过挂载点能够看到存储设备中的数据数据库
实际操做演示linux系统挂载过程vim
第一个步骤:拥有一个存储设备-光驱 使光驱加载光盘windows
第二个步骤:在linux系统中找到光驱设备centos
[root@jarvis ~]# ls -l /dev/cdrom device 设备目录 lrwxrwxrwx. 1 root root 3 Mar 29 12:02 /dev/cdrom -> sr0
第三个步骤:须要将存储设备进行挂载安全
挂载命令语法格式:mount 挂载设备文件信息 挂载点(目录信息)bash
mount /dev/cdrom /mnt服务器
PS:挂载点目录必须存在
[root@jarvis /]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only mount: /dev/sr0 是一个写保护的设备,挂载以后目录是一个只读状态 [root@jarvis /]# cd /mnt [root@jarvis mnt]# ls CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
FHS目录规范标准
bin 说明:命令,二进制文件的存放目录 备注:binary /bin==/usr/bin
sbin 说明:超级命令,只有root用户能用的命令 备注:super binary /sbin==/usr/sbin
boot 说明:系统引导程序和系统内核
dev 说明:设备 光驱 硬盘 备注:device:挂载才能使用
etc 说明:存放系统或服务的配置文件
home 说明:普通用户的家目录
root 说明:root用户的家目录
lib 说明:库文件存放目录 备注:libary
lib64 说明:库文件存放目录(64位系统)
lost+found 说明:磁盘、文件系统损坏 断电 临时存放文件 备注:数据恢复会用到
mnt 说明:临时的挂载点目录 备注:挂载点:给设备临时挂载用
opt 说明:第三方软件安装在这里
proc 说明:虚拟目录,显示内存中信息(进程 服务信息 内核)备注:目录中的数据都存储到磁盘
/etc/selinux 说明:selinux及它的配置文件存放的位置 备注:管理一些root用户
sys 说明:虚拟的目录 内存信息
tmp 说明:临时的文件的存放位置 垃圾堆
usr 说明:存放用户的程序 user/unix software resource
var 说明:常常变化的文件 系统日志 相关服务日志文件 备注:variable
系统中将命令分为了两个大类
网卡配置文件
文件内容信息
检查网卡配置文件 [root@jarvis ~]# ls /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0 查看网卡配置文件 [root@jarvis ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 须要了解的 TYPE=Ethernet --指定网络类型 以太网Ethernet BOOTPROTO=none --网络启动协议 如何让主机获得IP地址 本身手动配置 none static(静态) 自动获取地址 dhcpd(了解) NAME=eth0 --主机网卡的名称 逻辑名称 UUID=31d48995-e74f-4f99-8e19-0da439ea257b -- 虚拟主机,会给每一个硬件一个标识 DEVICE=eth0 -- 主机网卡的名称 设备名称物理名称 ONBOOT=yes -- 设置网卡是否处于开启状态(激活状态) IPADDR=10.0.0.200 -- 静态配置IP地址 标识主机身份 PREFIX=24 -- 定义局域网网络中能够有多少主机 GATEWAY=10.0.0.2 -- 网关,局域网网络出口 DNS1=223.5.5.5 -- DNS(创建名称和IP地址的对应关系,域名解析)14.215.177.38 -- 名称 Linux系统中服务配置文件被修改后,不会当即生效,须要重启服务(从新加载读取配置文件过程),才能使配置生效。
配置文件修改重启服务 方法一: systemctl restart network 针对全部网卡进行重启 systemctl status network 针对全部网卡进行开启 方法二:企业中常见用法 ifdown eth0 && ifup eth0 针对指定网卡进行重启 &&表明前一个命令执行成功后,再执行后面的命令 异常问题:网卡配置文件正确,没法重启网络服务 systemctl stop NetworkManager 网络管理服务关闭
DNS解析配置文件
网卡配置里面的DNS配置更优 [root@jarvis ~]# vi /etc/resolv.conf #Generated by NetworkManager search com nameserver 10.10.10.10
主机名称文件配置文件
DNS解析映射文件
磁盘挂载文件
umount /mnt 卸载挂载点的设备
df 查看磁盘挂载状况/查看磁盘使用状况
查看swap
/etc/fstab --- 实现存储设备开启自动挂载配置文件
[root@jarvis ~]# vi /etc/fstab [root@jarvis ~]# cat /etc/fstab UUID=e2fc8646-2b36-47cc-a35a-8c1vi3208f4d0b / xfs defaults 0 0 UUID=34fc45ba-c38c-42bc-a120-90f9d5dd2382 /boot xfs defaults 0 0 UUID=62100743-6f8a-4f83-a37d-e2088c4830e2 swap swap defaults 0 0 定义存储设备文件信息 挂载点 /dev/cdrom /mnt ??? defaults 0 0
开机自动加载文件
检查开机加载文件是否存在 [root@jarvis ~]# ls -l /etc/rc.local 设置开机加载文件 [root@jarvis ~]# vi /etc/rc.local 里面添加一条命令systemctl start sshd 检查文件开头那一段是否存在x [root@jarvis ~]# ls -l /etc/rc.local 检查源文件开头那一段是否存在x [root@jarvis ~]# ls -l /etc/rc.d/rc.local 没有x输入 [root@jarvis ~]# chmod +x /etc/rc.d/rc.local
总结:rc.loacl文件做用
文件中的内容信息,会在系统启动以后进行加载
文件中的编写内容,必定是命令信息
系统运行级别:
windows--系统出现故障--安全模式
系统启动:服务程序 网络 安全服务 --启动级别
系统服务启动 -- 启动级别
查看系统运行级别方法:
切换运行级别:
临时调整:
永久调整:
centos6:
centos7:
查看全部target信息
[root@jarvis ~]# ls -l /usr/lib/systemd/system/runlevel*target /usr/lib/systemd/system/runlevel0.target -> poweroff.target /usr/lib/systemd/system/runlevel1.target -> rescue.target /usr/lib/systemd/system/runlevel2.target -> multi-user.target /usr/lib/systemd/system/runlevel3.target -> multi-user.target /usr/lib/systemd/system/runlevel4.target -> multi-user.target /usr/lib/systemd/system/runlevel5.target -> graphical.target /usr/lib/systemd/system/runlevel6.target -> reboot.target
永久设置运行级别
[root@jarvis ~]# systemctl set-default rescue.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/rescue.target.
检查默认运行级别
[root@jarvis ~]# systemctl get-default rescue.target
centos6启动级别
centos7启动级别:target目标
总结
变量加载文件
设置变量方法
调取变量方法($)
脚本概念:
脚本文件
[root@jarvis ~]# vi test.sh dir=abc mkdir /$dir/01 mkdir /$dir/02 mkdir /$dir/03 执行脚本 [root@jarvis ~]# sh test.sh
/etc/profile
做用:让变量信息永久生效
vi /etc/profile
直接让文件生效方法:
source /etc/profile
系统中变量的类型:
which 命令名 查看命令存放目录
环境变量PATH做用
打印环境变量 [root@jarvis ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 查看cat命令存放路径 [root@jarvis ~]# which cat /usr/bin/cat 使用cat命令 [root@jarvis ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.200 oldboyedu.com 将cat命令剪切走 [root@jarvis ~]# mv /usr/bin/cat /jarvis 原来cat命令路径下没有cat名了 [root@jarvis ~]# ls /usr/bin/cat ls: cannot access /usr/bin/cat: No such file or directory 没法使用cat命令 [root@jarvis ~]# cat /etc/hosts -bash: /usr/bin/cat: No such file or directory 修改PATH环境变量方法: 临时修改: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/jarvis 永久设置: vi /etc/profile export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/jarvis
系统别名概念
[root@jarvis ~]# ls -l /etc/hosts -rw-r--r--. 1 root root 184 Apr 3 09:09 /etc/hosts [root@jarvis ~]# ll /etc/hosts -rw-r--r--. 1 root root 184 Apr 3 09:09 /etc/hosts 说明: ll命令就是ls -l命令的别名 做用: 别名可使命令操做更加简单
需求01: 如何让一下命令操做简单
cat /etc/sysconfig/network-scripts/ifcfg-eth => catnet
查看系统别名默认设置: [root@jarvis ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 设置命名的语法: alias 别名名称='命令信息' [root@jarvis ~]#alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
需求02:rm 命令执行 == echo "rm command is weixian,not use"
alias rm='echo rm command is weixian,not use' [root@jarvis ~]# rm -rf /jarvis/ rm command is weixian,not use -rf /jarvis/ 使别名功能失效: 01. 取消别名 unalias rm 02. 利用撬棍 \rm -rf /jarvis 03. 绝对路径方式执行命令 /usr/bin/rm -rf /jarvis 总结:/etc/profile文件做用 01. 永久设置变量信息 02. 设置别名信息
修改用户家目录中.bashrc
查看隐藏数据方法
[root@jarvis ~]# ls -a . .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc 说明:linux系统中隐藏文件都是以点开头 vi /root/.bashrc #alias rm='rm -i' 总结:和环境变量配置以及别名配置相关的文件有哪些 01 /etc/profile == /etc/bashrc 全局生效 02 ~/.bashrc == ~/.bash_profile 指定用户生效(优先)
登陆以后提示文件
/etc/motd cat /etc/motd vi /etc/motd 做用:能够对操做系统的用户进行注意事项说明
登陆以前提示文件
/etc/issue /etc/issue.net 查看登录以前提示文件 [root@jarvis ~]#cat /etc/issue \S Kernel \r on an \m 查看登录以前提示文件 [root@jarvis ~]#cat /etc/issue.net \S Kernel \r on an \m 如何清空文件内容 echo "" >/etc/issue -- 清空文件 >/etc/issue -- 清空文件 [root@jarvis ~]# >/etc/issue [root@jarvis ~]# >/etc/issue.net 在文件中添加信息 [root@jarvis ~]# echo '欢迎使用' >/etc/issue
/usr/local
系统中如何安装软件
下载安装软件利用yum方式
第一个里程:本地配置源文件
[root@jarvis ~]# cd /etc/yum.repos.d/ [root@jarvis yum.repos.d]# ll -rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/? release=$releasever&arch=$basearch&repo=os&infra=$infra 统一yum安装的环境: https://opsx.alibaba.com/mirror curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 命令做用: 从阿里云下载一个yum源文件,更新默认的/etc/yum.repos.d/CentOS-Base.repo,使下载环境统一
第二个里程:安装软件命令
yum install 软件名称
yum install -y vim tree wget net-tools nmap bash-completion(补全centos7的部分命令参数)
总结:yum安装软件常见问题
ll /var/log/
两个重要的系统日志文件
messages -- 记录系统或服务程序运行的状态信息 和 错误信息
secure(安全) -- 用户登陆信息 做用:能够进行监控文件的信息,检查是否有过多登录失败记录
[root@jarvis ~]# cat /var/log/secure Apr 4 11:35:29 oldboyedu sshd[3568]: Accepted password for root from 10.0.0.1 port 54913 ssh2 Apr 4 11:35:29 oldboyedu sshd[3568]: pam_unix(sshd:session): session opened for user root by (uid=0) 01 02 03 04 01. 用户是什么时间登陆的 02. 登陆的主机名称 03. 使用什么方式进行远程登陆 04. 登陆状况说明 正确登陆状况说明 错误登陆状况说明 如何查看日志信息 head -5 /etc/profile --- 查看前面几行信息 (默认查看前面10行内容) tail -6 /etc/profile --- 查看倒数几行信息(默认查看倒数10行内容) tail -f /var/log/secure --- 查看日志文件方法 一直追踪查看文件内容的变化
CPU:
利用文件进行查看:
cat /proc/cpuinfo model name: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz -- CPU品牌型号 physical id : 0 -- 表示CPU颗数 1颗 processor : 0 -- 表示CPU核数 1核 cpu cores : 1 physical id : 0 第一段 physical id : 0 -- 有两颗CPU physical id : 0 第二段 physical id : 1 第三段 physical id : 1 physical id : 1 第四段 physical id : 0 processor : 0 -- 一颗CPU有两个核心 physical id : 0 processor : 1 cpu cores : 2 physical id : 1 processor : 0 -- 一颗CPU有两个核心 physical id : 1 processor : 1 cpu cores : 2 总共服务器有多少颗CPU 有多少核心 有两颗CPU --> 2路的服务器 有4核心
利用命令进程查看:
lscpu --> 调取cpuinfo文件中的内容 Socket(s):(插槽) 2 --- 显示服务器CPU颗数 Core(s) per socket: 2 --- 每颗CPU有几核 CPU(s): 4 --- 整个服务器有几核
负载(CPU处理任务过多)
利用文件进行查看:(监控) [root@jarvis ~]#cat /proc/loadavg 0.00 0.01 0.05 负载值CPU核数有关 1分钟平均 5分钟平均负载 15分钟平均负载 利用命令进行查看: [root@jarvis ~]#w 12:41:06 up 38 min, 2 users, load average: 0.00, 0.01, 0.05 eg: 服务器4核的服务器 -- 负载值3左右,就要关注 服务器128核的服务器 -- 负载值100(数据库服务器)
内存使用状况
利用文件进行查看:
[root@jarvis ~]# cat /proc/meminfo MemTotal: 2030172 kB --- 内存总的容量 MemFree: 1738164 kB --- 内存的空闲容量 MemAvailable: 1714096 kB --- 内存的可用容量 Buffers: 2076 kB --- baffer空间 Cached: 90616 kB --- cacahe空间 SwapCached: 0 kB --- 交换分区使用状况
利用命令进程查看:
[root@oldboyedu ~]# free -h --- 以人类可读方式显示内存容量信息 total used free shared buff/cache available(*) Mem: 1.9G 137M 1.7G 9.5M 148M 1.6G Swap: 1.0G 0B(*) 1.0G
磁盘信息/挂载信息
利用文件进行查看:
[root@jarvis ~]#cat /proc/mounts /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
利用命令进程查看:
[root@jarvis ~]# df -h 以人类可读方式显示磁盘容量信息 Filesystem Size Used Avail Use% Mounted on /dev/sda3 49G 1.6G 48G 4% / devtmpfs 981M 0 981M 0% /dev tmpfs 992M 0 992M 0% /dev/shm tmpfs 992M 9.6M 982M 1% /run tmpfs 992M 0 992M 0% /sys/fs/cgroup /dev/sda1 197M 102M 95M 52% /boot tmpfs 199M 0 199M 0% /run/user/0