最简单易懂的目录结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最简单易懂的目录结构相关的知识,希望对你有一定的参考价值。
1.linux中的常见目录和解释说明1 bin 命令文件保存的地方
2 sbin 只有root用户才可以使用的命令
3 boot (了解即可) Linux程序启动的时候信息保存的目录
4 dev 设备文件存在的目录
5 etc 文件配置信息和服务配置信息存在的目录
6 home 用户所在的目录(普通用户家目录)
7 root 用户所在的目录(超级管理员所在的家目录)
8 selinux: 保存selinux程序配置文件信息 和系统安全相关程序
9 lib (了解即可) 库文件
10 mnt 临时挂载目录
11 opt 存储第三方软件生成的信息
12 /usr/local 存储软件安装的信息
13 proc 目录中的数据都是存储在内存中的,进程信息和内核文件信息
14 tmp 临时存储文件的地方,相当于回收站
15 var 保存经常发生数据变化的文件(日志文件)
1.1.linux常见目录结构图
2./etc目录讲解
2.1 网卡配置文件详解
vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet 网络连接类型
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none 是否网络连接方式为dhcp(none:不设置任何连接;static:静态的连接)
DEFROUTE=yes 默认路由是否开启
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
设备名称
DEVICE=eth0
UUID=0ea55b05-db81-4dd0-a145-fa476c8b6045 服务器硬件标识符
ONBOOT=yes 网卡是否激活
IPADDR=10.0.0.200 网络的IP地址
PREFIX=24 子网掩码,设定一个局域网可以拥有多少台主机
GATEWAY=10.0.0.254 是否可以上外网
DNS1=223.5.5.5 进行域名的解析
IPV6_PRIVACY=no
2.1.1 网卡配置注意事项
网卡配置一旦修改,都必须重启网卡
centos 7:systemctl restart network
centos:6:/etc/init.d/network restart
重启单个网卡:ifdown eth0 && ifup eth0
ifdown eth0;ifup eth0
2.1.2 为什么需要IP,架构图进行讲解
2.1.3 为什么需要DNS,架构图进行讲解
2.1.4 为什么需要网关,架构图进行讲解
2.2 DNS域名解析配置
[root@oldboy666 ~]# vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5 服务名字 DNS地址
2.2.1 DNS域名解和网卡配置的DNS的先后顺序执行
未重启网卡前:DNS域名解析配置,首先加载的是DNS域名解析里面的配置文件
重启网卡后: DNS域名解析配置,首先加载的是网卡配置里面的文件
2.3 主机名的配置
2.3.1 9.3.3.1 centos6和centos7的永久配置路径
centos6.9的永久配置路径
[root@oldboy666 ~]# cat /etc/sysconfig/network
# Created by anaconda
centos7.6的永久配置路径
[root@oldboy666 ~]# cat /etc/hostname
oldboy666
[root@oldboy666 ~]#
[root@oldboy666 ~]#
[root@oldboy666 ~]#
2.3.2 centos7主机名配置的优势
[root@oldboy666 ~]# hostnamectl set-hostname oldboy6666
[root@oldboy666 ~]#
[root@oldboy6666 ~]#
2.4 永久挂载文件的配置
[root@oldboy6666 ~]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Fri Aug 30 12:11:39 2019
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=27114df9-3f54-4b94-acb7-0890b452e99f / xfs defaults 0 0
UUID=4260ed75-aad2-4389-b24a-2be6362c2597 /boot xfs defaults 0 0
UUID=8e7004ef-83c2-4b8d-b9db-b85768271eb2 swap swap defaults 0 0
#UUID=2018-11-25-23-54-16-00 /mnt iso9660 defaults 0 0
2.4.1 配置文件详解
第一列:硬件标识符信息,表示的是挂载的硬件设备,也可以写成/dev/???
第二列:磁盘需要挂载的目录
第三列:分区文件的类型
第四列:挂载的参数
第五列:备份设置(1为备份,0为不备份)
第六列:磁盘检查,0为永不检查;/目录分区为1,其他分区目录为2
2.5 本地解析配置文件
2.5.1 如何解析
[root@oldboy6666 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
格式
IP地址 主机名称
2.6 开机自启动配置文件详解
[root@oldboy6666 ~]# vim /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run ‘chmod +x /etc/rc.d/rc.local‘ to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
mount /dev/cdrom /mnt‘
2.6.1 centos7文件加入开机自启动的项不会生效的原因
因为没有执行权限造成的开机无法生效
[root@oldboy6666 ~]# ls -l /etc/rc.local
lrwxrwxrwx. 1 root root 13 Aug 30 12:12 /etc/rc.local -> rc.d/rc.local 这个是链接文件,需要查看真正的文件
[root@oldboy6666 ~]#
[root@oldboy6666 ~]# ls -l /etc/rc.d/rc.local
-r--------. 1 root root 495 Sep 6 19:13 /etc/rc.d/rc.local 这个真实的文件只有读权限
[root@oldboy6666 ~]#
[root@oldboy6666 ~]# chmod 777 /etc/rc.d/rc.local 修改文件权限
[root@oldboy6666 ~]# ls -l /etc/rc.d/rc.local
-rwxrwxrwx. 1 root root 495 Sep 6 19:13 /etc/rc.d/rc.local 目前拥有了执行权限,可以正常的开机
[root@oldboy6666 ~]#
2.7 系统环境变量配置文件
2.7.1 什么是环境变量
是系统模式设置的变量
系统变量名称都是大写的,例如:PATH
2.7.2 如何修改环境变量
(1).临时修改
export PATH=$PATH
[root@oldboy6666 ~]# echo $PATH 查看当前的系统环境变量可以匹配的路径有哪些
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@oldboy6666 ~]# mv /bin/cp /tmp 将/bin/cp的命令移动到tmp里面
[root@oldboy6666 ~]# ls
1.txt anaconda-ks.cfg passwd
[root@oldboy6666 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@oldboy6666 ~]# touch aa.txt 创建一个文件
[root@oldboy6666 ~]# cp -rf aa.txt /opt/ 开始复制文件
-bash: cp: command not found 发现cp命令找不到
[root@oldboy6666 ~]# export PATH=$PATH:/tmp 临时将tmp目录加入环境变量里面
[root@oldboy6666 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp 添加成功
[root@oldboy6666 ~]# cp -rf aa.txt /opt/ 再次复制发现已经成功
[root@oldboy6666 ~]#
(2).永久修改[root@oldboy6666 ~]# echo PATH=$PATH:/tmp >> /etc/profile >>这个是追加,千万别写成>这样会清空文件
2.7.3 命令的执行原理
(1).执行命令
(2).执行环境变量PATH=(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
(3).查看执行的变量,在这些环境变量的里面吗
(4).如果在其中一个路径里面,则可以使用该命令;否则,会报命令找不见(上述的临时修改环境变量里面就是因为将cp命令移动到了tmp目录下面,导致cp找不见,后面将/tmp路径添加进去PATH环境变量里面则可以使用)
以上是关于最简单易懂的目录结构的主要内容,如果未能解决你的问题,请参考以下文章
HashMap的工作原理(图文+例子)详解,绝对简单通俗易懂