十三、Linux目录结构

1、Linux目录结构特点

Linux目录结构时一个有层次的倒挂树形结构

”/“根是所有目录的顶点,一切从根开始

Linux目录和设备是分离的,设备可以随意挂载到任意目录

所有目录都按照一定类别有规律的组织和命名

磁盘等设备需要挂载后使用,未挂载到目录的设备不能正常使用

挂载点是磁盘访问的入口,是一个目录

绝对路径是以根为起点的路径,如/etc/sysconfig/network-scripts

相对路径是不以根为起点的路径,如sysconfig/network-scripts

2、Linux一级目录概述

[root@template ~]# tree -L 1 /
/
├── bin -> usr/bin      #/bin等同/usr/bin      普通用户使用的二进制命令目录
├── sbin -> usr/sbin    #/sbin等同/usr/sbin    root管理员使用的二进制命令目录
├── boot                #内核程序及引导程序所在目录
├── dev                 #设备目录
├── etc                 #系统基础服务配置文件所在目录(yum rpm安装的软件)
├── home                #普通用户家目录
├── root                #管理员家目录
├── lib -> usr/lib      #32位库文件所在目录
├── lib64 -> usr/lib64  #64位库文件所在目录
├── media               #媒体 光驱等挂载点
├── mnt                 #临时挂载点
├── opt                 #第三方软件目录
├── proc                #虚拟的文件系统,显示内核和进程信息的目录
├── sys                 #虚拟的文件系统(已弃用)
├── tmp                 #临时目录,所有用户对目录都是rwx权限(黑客跳板目录,需要监控)
├── usr                 #应用程序所在目录,相当于windows的c:/program file
└── var                 #数据变化的目录,日志文件存在目录

3、/etc 系统初始化及设置相关重要文件

3.1、/etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件

[root@template ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=00:0C:29:9F:E1:6F    #MAC地址
TYPE=Ethernet               #上网类型:以太网
BOOTPROTO=none              #启动协议,获取配置IP方式,有none|bootp|dhcp三个选项
IPADDR=10.0.0.101           #IP地址
PREFIX=24                   #子网掩码
GATEWAY=10.0.0.254          #网关
DNS1=10.0.0.254             #域名解析服务器
DEFROUTE=yes                #使用默认路由
NAME=eth1                   #网卡逻辑设备名
UUID=d53eb767-cc73-3dd1-bd89-1c37bddb805e  #唯一标识,当克隆的虚拟机无法启动网卡,可删除此项
DEVICE=eth1                 #网卡逻辑设备名
ONBOOT=yes                  #网卡随着系统开机启动

3.2、/etc/resolv.conf:过时的DNS客户端配置文件

当网卡重启后,会被ifcfg-eth0中的dns配置覆盖

[root@template ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 10.0.0.254

3.3、/etc/hostname:主机名配置文件

[root@template ~]# cat /etc/hostname
template

[root@template ~]# hostname
template

[root@template ~]# uname -n
template
修改主机名方法:

1、nmtui

2、hostnamectl set-hostname newname

3、vi /etc/hostname

3.4、/etc/hosts:系统本地DNS解析文件

内部测试、临时访问
内部调用,ip变化影响小

[root@template ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.100  baidu www.baidu.com

[root@template ~]# ping baidu
PING baidu (10.0.0.100) 56(84) bytes of data.
64 bytes from baidu (10.0.0.100): icmp_seq=1 ttl=64 time=0.037 ms
64 bytes from baidu (10.0.0.100): icmp_seq=2 ttl=64 time=0.039 ms
^C
--- baidu ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.037/0.038/0.039/0.001 ms
[root@template ~]# 

3.5、/etc/fstab:配置开机设备自动挂载的文件

3.5.1、临时挂载(重启后失效)

未挂载的物理设备是不能访问的

[root@template ~]# ls /dev/cdrom
/dev/cdrom

[root@template ~]# cd /dev/cdrom
-bash: cd: /dev/cdrom: Not a directory
挂载后可查看设备内容

[root@template ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only

[root@template ~]# ls /mnt
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL 

[root@template ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        900M     0  900M   0% /dev
tmpfs           910M     0  910M   0% /dev/shm
tmpfs           910M  9.4M  901M   2% /run
tmpfs           910M     0  910M   0% /sys/fs/cgroup
/dev/sda3        13G  2.1G   11G  17% /  #自动挂载
/dev/sda1       253M  164M   90M  65% /boot  #自动挂载
tmpfs           182M     0  182M   0% /run/user/0
/dev/sr0        4.4G  4.4G     0 100% /mnt  #挂载结果

3.5.2、永久挂载

永久挂载/dev/cdrom

[root@template ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Sep 25 12:09:01 2022
#
# 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=9ddefb02-6774-4e84-a318-3ac2ba024144    /        xfs      defaults   0 0
UUID=009d46dc-0854-41df-bac9-2c2b0ce22b75    /boot    xfs      defaults   0 0
UUID=44192dcd-3105-48e7-8dad-a66546dec121    swap     swap     defaults   0 0
/dev/cdrom                                   /mnt     iso9660  defaults   0 0
/etc/fstab参数列说明
第1列可填设备名称或UUID或磁盘标签,通过blkid查看设备UUID
第2列设备挂载点,即访问设备的入口
第3列设备的文件系统类型 
第4列挂载的属性
第5列是否进行备份,0:不备份
第6列是否开机时做磁盘检查,0:不检查、1:检查、2:检查

3.5.3、/etc/fstab配置错误导致无法开机

1、输入root密码登录

2、 重启挂载根后修改/etc/fstab

mount -o rw,remount /

vi /etc/fstab

3、重启修复

init 6

3.6、/etc/rc.local:存放开机自启动程序命令的文件

软连接到/etc/rc.d/rc.local
[root@template ~]# ls -l /etc/rc.local 
lrwxrwxrwx. 1 root root 13 Sep 26 14:27 /etc/rc.local -> rc.d/rc.local

默认不能用,必须给执行权限
[root@template ~]# ls /etc/rc.d/rc.local -l
-rw-r--r--. 1 root root 473 Sep  1 22:57 /etc/rc.d/rc.local

给执行权限
[root@template ~]# chmod +x /etc/rc.d/rc.local
[root@template ~]# ls /etc/rc.d/rc.local -l
-rwxr-xr-x. 1 root root 473 Sep  1 22:57 /etc/rc.d/rc.local

3.7、/etc/issue:登录系统前显示信息的文件

显示系统版本,内核版本
[root@template ~]# cat /etc/issue
\S
Kernel \r on an \m

为了防止泄露服务器版本,一般会把它们都清空
[root@template ~]# >/etc/issue
[root@template ~]# cat /etc/issue

3.8、/etc/motd:登录系统后显示提示内容的文件

提醒用户自己或提醒使用服务器人员
[root@template ~]# cat /etc/motd
[root@template ~]# echo "welcome to login this server" >/etc/motd
[root@template ~]# cat /etc/motd
welcome to login this server

3.9、/etc/redhat-release:显示系统版本号和名称信息的文件

[root@template ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

查看内核版本
[root@template ~]# uname -r
3.10.0-1160.76.1.el7.x86_64

查看所有
[root@template ~]# uname -a
Linux template 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

3.10、/etc/sysctl.conf:Linux内核参数设置文件

用来优化Linux内核

直接编辑完不生效,通过如下命令生效
sysctl -p

3.11、 /etc/profile、/etc/bashrc :配置系统的环境变量/别名等的文件

修改文件内容后生效:
    方法一、重启系统
    方法二、source 文件
 
配置文件生效顺序
/etc/bashrc==》~/.bashrc==》~/.bash_profile==》/etc/profile

4、/usr目录重要文件(应用程序目录)

/usr/local/编译安装软件默认的位置路径,一般用来存放用户自编译安装的软件
/usr/src存放源码文件的目录,一般用来存放再网上下载的软件源代码,可按需修改

5、/var目录重要文件(可变化的目录)

/var/log/message系统默认日志信息
/var/log/secure系统用户的登录信息,可查看是否有黑客登录攻击
/var/log/dmesg记录硬件信息加载情况的日志文件,常用dmesg查看

6、/proc目录重要文件(进程和内核信息的文件)

/proc/meminfo内存信息,常用free -h查看
/proc/cpuinfocpu信息,常用lscpu查看
/proc/loadavg系统的负载(系统繁忙程度),常用uptime查看
/proc/mounts显示系统挂载信息,常用df -h查看
/proc/interrupts当前系统中断信息文件

7、/dev设备目录重要文件

/dev/hd[a-t]IDE设备
/dev/sd[a-z]SCSI设备
/dev/null无限数据接收设备,相当于黑洞
/dev/zero无限零资源
/dev/cdrom光驱
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值