Linux系统目录结构:重要目录文件、文件管理

重要目录文件

网卡配置文件

文件信息:/etc/sysconfig/network-scripts/ifcfg-eth0  
ip a
作用:
1、查看网卡配置
  [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

  [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens32

  或
  ip address show 或 nmtui
2、重载网卡信息
  # 方式一
  [root@localhost ~]# systemctl restart network
  # 方式二
	ifdown [网卡名称] && ifup [网卡名称]
		
  关闭网络管理器(因为已经有了network)
		systemctl  stop NetworkManager
		systemctl  disable NetworkManager
		或
		systemctl  disable --now  NetworkManager
		
3、判断SSH服务是否开启
   [root@localhost ~]# systemctl status sshd

1113510-20170614182256790-1747672277

解析配置文件

文件信息:/etc/resolv.conf
作用:用于设置DNS解析地址,网卡中配置优于此文件配置

#查看DNS信息
 [root@test1 data]# cat /etc/reslov.conf  #临时dns配置文件
 nameserver 114.114.114.114  #中国电信

  223.5.5.5/223.6.6.6	 #中国阿里云
  8.8.8.8 谷歌

解析映射文件

文件信息:/etc/hosts
作用:用于设置DNS域名与IP地址对应关系

#查看解析映射文件(dns解析)
   [root@localhost ~]# cat /etc/hosts
   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
   ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

#查看系统版本
   [root@localhost ~]# cat /etc/redhat-release
   CentOS Linux release 7.6.1810 (Core) 

主机名称文件

文件信息:/etc/sysconfig/network
作用:配置主机名称信息

  修改主机名
   #查看主机名:
    [root@localhost ~]# ehco $HOSTNAME
    
   #临时修改
    [root@localhost ~]# hostname baidu
    
   #永久修改
    [root@baidu ~]# vim /etc/hostname	  #需要重启生效
    [root@baidu ~]# hostnamectl set-hostname admin	#立即生效

磁盘挂载文件

文件信息:/etc/fstab
作用:实现指定设备文件信息,进行开机自动挂载

#查看磁盘挂载文件
[root@localhost ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Mon Dec 13 11:38:54 2021
#
# 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
#
/dev/mapper/centos-root /        xfs     defaults    0 0  #挂载在根(/)目录
UUID=9f8a98b0-805c-4adf-b9ef-517a2b527f89 /boot      xfs     defaults   0 0 #挂载在/boot目录

开机加载脚本

文件信息:/etc/rc.local
作用:开启开机自启动脚本

1、编辑开机自启动脚本
	vim /etc/rc.local
	 #写入
	 echo 'hello worl'
2、设置开机自启动权限
	chmod +x /etc/rc.d/rc.local
3、重启系统

系统启动级别文件

文件信息:/etc/inittab

作用:设置系统启动级别
 0、关机
 1、单用户模式(无法通过xshell的方式使用)
 2、多用户无网络模式
 3、完全多用户模式
 4、待定
 5、桌面模式
 6、reboot (Do NOT set initdefault to this) 重启

设置系统级别:
 init [编号]	#临时设置
 systemctl set-default [系统启动级别]

通过单用户模式修改密码
 1、重启
 2、在启动选择系统内核界面,按 e 键进入单用户模式
 3、找到 linux16 开头行,删除 ro ,并且在 ro 处添加 rw init=/sysroot/bin/sh
 4、按 ctrl + x 进行系统重新引导
 5、执行 chroot /sysroot
 6、执行 passwd root
 7、执行 touch /.autorelabel
 8、执行 Ctrl + D 重启系统

变量加载文件

# 在Linux中添加环境变量怎么添加呢?

文件信息:/etc/profile
作用:配置环境变量和别名文件
  文件
    /etc/profile
    /etc/bashrc
    ~/.bash_profile
    ~/.bash_rc
  文件夹
   /etc/profile.d/

增加环境变量有两种方式:
  1、临时添加
  2、永久添加

增加环境变量的格式:
 export PYTHON_HOME='D:/python'
	
查看本机的环境变量:
  echo $PYTHON_HOME  #查看某一个环境变量
  printenv           #查看所有的环境变量

读取环境变量的几种情况,并且测试出使用文件的先后顺序
 1、重启
  /etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile
 2、切换用户
  /etc/profile.d --> /etc/bashrc --> ~/.bashrc
  知识储备
    创建用户:
      useradd [用户名]
    切换用户:
      su [用户名]
 3、重新登录用户
  1、su - [用户名]
   /etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile
			
  2、ssh root@192.168.15.101
   /etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile

登录提示文件

文件信息:/etc/motd

作用:登录成功之后显示的信息。


文件信息:/etc/issue

作用:登录系统之前显示的信息。

编译安装目录

文件信息:/usr/local  #安装第三方软件的目录

作用:编译安装软件的默认目录


下载rpm安装包
  # yum安装python
    [root@localhost ~]# yum install python3
  # 查看软件安装路径
    [root@localhost ~]# which python3
    
    
知识储备:当前为DVD镜像需要设置阿里云的源
 #第一步:把之前的源备份换个位置
 [root@localhost ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/bak

 #第二步:下载阿里云源repo文件
 [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
 
 #第三步:下载阿里云源的epel文件
 [root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

image-20211214173804157

重要日志文件

  • 系统日志目录:/var
    • 绝大部分的日志都存放在该目录下
系统日志文件
文件信息:/var/log/messages
作用:软件安装运行以及系统运行异常日志文件

  #查看日志
  [root@localhost /]# cat /var/log/messages

重要信息文件

  • 保存系统运行状态的目录:/proc
保存CPU信息情况的文件
文件信息::/proc/cpuinfo
相关命令:lscpu
  
  
保存内存信息情况的文件
文件信息:/proc/meminfo
相关命令:free 
  
  
保存系统负载信息情况的文件,用于衡量系统繁忙程度
文件信息:/proc/loadavg
相关命令:w
  [root@localhost /]# cat /proc/loadavg  #查看CPU负载
    0.00  #1分钟内的CPU负载
    0.01  #5分钟内的CPU负载
    0.05  #15分钟内的CPU负载

 负载:当前系统的所有进程占用CPU的时间比
	
	
保存系统挂载信息文件
文件信息:/proc/mounts
  mount
  umount
  

文件管理

Linux 系统的单根⽬录结构

linux与windows的⽬录结构对⽐

⽂件的时间

ls -l ⽂件名 仅看的是⽂件的修改时间
Linux⽂件有
三种时间,⽤stat查看
    
例如:stat anaconda-ks.cfg
    
访问时间:atime,查看内容,⽤cat检测
修改时间:mtime,修改内容
改变时间:ctime,修改内容,修改权限等属性,凡是有改动都会变

文件类型概念说明

1、文件详细信息详解

[root@localhost ~]# ls -lhi
 总用量 8K
 134319695 -rw-------. 1 root root 1.7K Dec 8 12:08 anaconda-ks.cfg
 134319707 -rw-r--r--  1 root root  12 Dec 13 11:48 index

文件属性信息详述图

image-20211216191817853

2、inode编号

  • Linux系统中文件的唯一编号,就相当于身份证号。
Linux系统内部不使用文件名,而使用inode编号来识别文件
  对于系统来说,文件名只是inode编号便于识别的别称或者绰号,表面上用户通过文件名打开文件
  实际上系统内部这个过程分成立三步:
  		首先:系统找到这个文件名对应的inode编号
  		其次:通过ionde编号获取inode信息
  		最后:根据ionde信息找到文件数据所在的block,读出数据
  		
  使用ls -i命令可以看到文件对应额inode编号
   [root@localhost data]# ls -i
    16781387 test

硬链接和软链接

1、什么是硬链接

  • 硬链接:不具有完整的文件结构,它的文件名直接指向文件节点,它和源文件节点一致。
    • 硬链接用来指向(保存)inode编号。

2、什么是软链接

  • 软链接:具有完整的文件结构,最后指向的是目标文件名,它和源文件节点不一致。
    • 相当于Windows中的快捷方式,主要用来指向(保存)对应文件的路径。

3、创建命令

  • ln 默认创建的就是硬链接
    • 参数: -s 创建的就是软链接
# 硬链接示例:ln [源文件] [链接文件名]  
 [root@localhost test]# echo 'hello world' >> a.txt  #创建源文件添加数据
    
 [root@localhost test]# ls -i 1.txt  #查看的inode编号
  16781390 1.txt 
     
 [root@localhost test]# ln 1.txt 2.txt   #创建硬链接
 [root@localhost test]# ls -i 1.txt
  16781390 1.txt
 [root@localhost test]# ls -i 2.txt  #两个文件的inode编号一模一样,数据也一样
  16781390 2.txt
     
# 软链接示例:ln -s [源文件] [链接文件名] 
 [root@localhost haha]# echo '123' >> a.txt  #创建源文件添加数据
    
 [root@localhost haha]# ls -i a.txt  #查看的inode编号
  33712451 a.txt
     
 [root@localhost haha]# ln -s a.txt b.txt  #创建软链接
 [root@localhost haha]# ls -i a.txt  
  33712451 a.txt
 [root@localhost haha]# ls -i b.txt  #两个文件的inode编号不一样,数据也一样
  33712452 b.txt
  
			
# 删除文件的底层逻辑
   1、删除的是硬链接
   2、判断该文件硬链接数是否为0
   3、如果为0,则在磁盘中将其删除
   4、如果不为0,则只删除一个硬链接
   
   
# 删除源文件软链接和硬链接的影响
查看软链接文件,查看的文件不存在。和windows一样,删除源文件,快捷方式也用不了。但是删除源文件,为什么硬链接文件还可以查看呢?
这里要简单说下i节点了。i节点是文件和目录的唯一标识,每个文件和目录必有i节点,不然操作系统就无法识别该文件或系统,就像没有上户口的黑户。linux操作系统是不识别些字母的。

通俗理解:
硬链接文件相当于文件硬链接数+1,在windows里没这个概念,删除文件删除的是硬链接数,硬链接数为0时,数据就没了
软连接就是指向文件的路径,文件删除了,路径就不存在了,所以软连接找不到了  

文件类型

Linux⽂件没有扩展名!!!

#⽅法⼀:
 ls -l ⽂件名  #看第⼀个字符
- #普通⽂件(⽂本⽂件,⼆进制,压缩⽂件,电影,图⽚。。。),例如:/bin/ls
   [root@localhost ~]# ls -l
   -rw-r--r-- 1 root root   0 12月 14 19:11 1

d #⽬录⽂件,例如/home/ 
   [root@localhost home]# ls -l
   drwx------ 2 test test 63 12月 14 19:13 test


b #设备⽂件(块设备)存储设备硬盘,U盘,例如:/dev/sda   
   [root@localhost dev]# ll
   brw-rw---- 1 root disk    8,   0 12月 16 19:39 sda


c #设备⽂件(字符设备)打印机,例如:/dev/ttycc
   [root@localhost dev]# ll
   crw-rw-rw- 1 root tty     5,   0 12月 16 19:39 tty


s #套接字⽂件(socket),例如: /var/lib/mysql/
   [root@localhost mysql]# ll
   srwxrwxrwx 1 mysql mysql   0 12月 16 21:52 mysql.sock


p #管道⽂件,例如:/run/systemd/initctl/fifo
   [root@localhost initctl]# ll
   prw------- 1 root root 0 12月 16 19:39 fifo

l #链接⽂件,例如:/bin
   [root@localhost bin]# ll
   lrwxrwxrwx.   1 root root   6 12月 13 11:40 apropos -> whatis
   
   
ps:通过颜⾊判断⽂件的类型是错误的!!!

# 准备套接字文件
  #安装mysql数据库
	 [root@localhost run]# yum install mariadb* -y
	#启动
   [root@localhost run]# systemctl start mariadb    
    
   
   
# ⽅法⼆:大致判断文件的类型
[root@xxx ~]# file /etc/krb5.conf
  /etc/krb5.conf: ASCII text

.conf #配置文件
.log  #日志文件
.sh   #脚本文件
.py   #脚本文件 
posted @ 2021-12-14 15:42  山风有耳  阅读(125)  评论(0编辑  收藏  举报