最简单易懂的目录结构

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环境变量里面则可以使用)

以上是关于最简单易懂的目录结构的主要内容,如果未能解决你的问题,请参考以下文章

初识最简单的android application目录结构

HashMap的工作原理(图文+例子)详解,绝对简单通俗易懂

最全的 eclipse web 项目目录结构以及Tomcat的各个目录的作用

在 C# 中存储和比较目录的最有效数据结构是啥?

Android Studio目录结构浅析!!!

java web项目最简单的结构