Linux系统重要目录与文件详解

Posted magicsimba

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统重要目录与文件详解相关的知识,希望对你有一定的参考价值。

系统重要目录

目录 功能 目录 功能
bin 存储普通用户命令 sbin 存储超级用户命令
etc 存储程序的配置文件 opt 存储第三方软件数据
lib 存储32位库文件 lib64 存储64位库文件
root 管理者用户目录 home 普通用户目录
var 存储经常发生数据变化的文件如日志文件 boot 系统启动引导目录
mnt 临时挂载点 tmp 缓存目录
dev 存储系统设备文件 usr 根目录替身
proc 存储系统进程和内核文件(数据一般在内存中)

系统重要文件

网络服务配置文件

  • 用于存储网络配置信息
    /etc/sysconfig/netwwork-scripts/ifcfg-eth0

  • 网络服务配置文件配置信息

名称 含义 参数
TYPE=Etherent 网络类型 以太网网络类型
BOOTPROTO=none 获取地址方式 手动静态配置
DEFROUTE 是否开启默认路由
UUID 设备硬件标识信息
ONBOOT 网卡激活状态
PREFIX 子网掩码 决定一个局域网内可以有多少个IP地址
GATEWAY 网关 实现某一网络主机和其他网络主机进行通讯
DNS(domain name system) 域名解析系统 通过DNS服务器转换IP地址为网页地址

子网掩码为255进制

  • 配置文件生效方法

    1. 重启网络服务
      systemctl restart network
    • 异常问题
      • 配置文件信息错误或缺失
      • NetworkManager服务冲突
        关闭NetworkManager服务后重启网络服务
    1. 针对不同网卡进行重启操作
      ifdown eth0 ; ifup eth0
      ifdown etho && ifup eth0
  • 修改网卡名称方法

    • 修改网卡文件中的名称
      NAME=eth0
      DEVICE=eth0

    • 修改网卡文件本身名称
      cd /etc/sysconfig/network-scripts/
      mv ifcfg-ens33 ifcfg-eth0

    • 修改系统内核配置文件
      vim /etc/default/grub
      GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 rhgb quiet"

    • 使配置文件生效
      grub2-mkconfig -o /boot/grub2/grub.cfg

    • 重启系统

域名解析配置文件

  • 配置DNS服务器地址
    /etc/resolv.conf
  • 文件配置信息
    Generated by NetworkManager
    nameserver 10.0.0.254
    
  • 配置文件生效的两种方法
    • 直接配置resolv.conf, 会立即生效
    • 在网卡中配置DNS, 重启网络服务

解析名称信息

  • 配置域名和IP地址解析记录
    /etc/hosts
  • 文件配置信息
    127.0.0.1   	localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         	localhost localhost.localdomain localhost6 localhost6.localdomain6
    182.61.200.7    www.baidu.com
    10.0.0.41       backup
    
  • 配置文件生效方法
    文件配置完毕, 立即生效

主机名称配置文件

  • 存储本地主机名称
    /etc/hostname
  • 主机名称修改方法
centos6 centos7
临时修改 hostname 新主机名 hostnamectl set-hostname 新主机名
永久修改 vim /etc/sysconfig/network contos7下没有临时永久之分

启动后自动执行命令配置

  • 文件中的命令信息会在系统启动时自动执行
    /etc/rc.local
  • 文件配置信息
    vim /etc/rc.local
    技术图片
  • 配置文件生效方式
    • 修改文件权限:
      chmod +x /etc/rc.d/rc.local
      • 什么是脚本文件:
        将多个命令操作可以整合在一个文件中, 这个文件就是脚本文件
      • 脚本文件编写
      #!/bin/bash
      mkdir -p /oldboy/oldboy01/oldboy02
      touch /oldboy/oldboy.txt
      echo oldboy67 >/oldboy/oldboy.txt
      mount /dev/cdrom /mnt
      
      • 脚本文件运行:
        • 加上sh命令执行脚本文件中信息
          sh test_01.sh
        • 不要加上sh命令直接运行脚本文件
          /server/scripts/test_01.sh

开机自动挂载操作文件

  • 挂载操作的目的
    实现数据存储至磁盘中

  • 挂载语法

    mount /dev/cdrom /cd-rom
    挂载命令  存储设备  挂载点
    
  • 卸载语法

    umount  /cd-rom
    挂载命令  挂载点
    

卸载时需先退出挂载目录

  • 开机后自动挂载文件中指定的分区
  • /etc/fstab
  • 文件配置信息
UUID=8814f471-53b4-4eb7-aee9-a20b2ce6fe64	/		xfs     defaults        0		0
UUID=7f45bd81-656c-45c3-8c9b-01105857d65a	/boot	xfs     defaults        0		0
UUID=79d951d0-06a4-4f9f-9d10-e273dc25d4d1	swap	swap    defaults        0		0
		  01				 				 02		 03        04          05 	   06
  • (01) 存储设备文件信息
  • (02) 挂载点目录信息
  • (03) 文件系统类型
  • (04) 默认挂载参数信息
  • (05) 是否进行磁盘数据备份
  • (06) 是否检查磁盘信息
    可以使用UUID或者/dev/sdax进行配置
root@oldgirledu ~]# blkid 
/dev/sr0:  UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="7f45bd81-656c-45c3-8c9b-01105857d65a" TYPE="xfs" 
/dev/sda2: UUID="79d951d0-06a4-4f9f-9d10-e273dc25d4d1" TYPE="swap" 
/dev/sda3: UUID="8814f471-53b4-4eb7-aee9-a20b2ce6fe64" TYPE="xfs" 
  • 配置文件生效方法
    • 重启系统
    • mount -a

查看/设置系统默认运行级别

  • 存储系统运行级别的配置文件
    • contos6:/etc/inittab
    • contos7:/usr/lib/systemd/system/runlevel*target
  • 修改系统运行级别
centos6 centos7
临时配置 init 级别编号
永久配置 修改inittab下id:级别编号:initdefault: systemctl set-default 模式信息
运行级别 0 - halt(关机级别) poweroff.target
1 - Single user(单用户级别) rescue.target
3 - multi user(多用户有网络) multi-user.target
5 - 图形化级别 graphical.target
6 - reboot(关机级别) reboot.target

ll /usr/lib/systemd/system/runlevel*target 查看模式信息
systemctl set-default multi-user.target 配置模式信息

环境变量配置文件

 /etc/profile		 	系统环境变量配置文件
~/.bash_profile			用户环境变量配置文件
 /etc/profile.d/*.sh 	应用程序环境变量配置文件
  • 变量
    • 如何应用变量
      • 给一个变量赋值
        oldboy=123456
      • 应用
        echo $oldboy
    • 变量存在的意义: 在脚本中存在
    #!/bin/bas
    info=oldgirl
    echo /oldboy/$info-01/$info-02/$info-03
    /oldboy/oldgirl-01/oldgirl-02/oldgirl-03
    

    指定一些经常变化的信息, 利用变量可以快速修改调整

  • 环境变量PATH
    • 系统默认已经设置好的变量
    • 环境变量都是大写字母表示
    • 环境变量可以被所有用户调用
    • 系统环境变量都有具体存在价值
      echo $PATH
      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:root/bin
      
  • 修改环境变量
    • 临时修改环境变量
      直接输入命令添加,每个路径用:分隔
      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin
    • 永久修改环境变量
      进入/etc/profile下修改配置文件,每个路径用:分隔
      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin
  • 配置文件生效
    • 重新连接
    • 利用命令记录加载
      source /etc/profile

别名的配置

/etc/bashrc			系统别名配置文件
~/.bashrc			用户别名配置文件
  • 别名的作用
    • 简化复杂命令便于重复输入
    • 将危险命令进行转换
  • 别名的配置
临时配置 永久配置
直接执行命令 编辑配置文件
alias 别名=‘命令信息‘ vim /etc/profile
alias rm=‘mv -t /tmp/‘ alias rm=‘mv -t /tmp/‘
将代码添加到配置文件中

用户别名优先于系统别名,但仅影响所属用户

  • 别名的临时取消(rm命令为例)
    • 临时取消
      unalias rm
    • 临时使用命令的绝对路径
      /bin/rm xxx.txt
    • 在别名前加上
      m xxx.txt

系统信息提示文件

/etc/issue	用户登录系统之前显示的提示信息
/etc/issue.net
/etc/motd	用户登录系统之后显示的提示信息

第三方软件安装目录

  • /usr/local
  • /opt

日志文件目录

  • /var/log/secure 记录用户登录系统情况信息
  • /var/log/mesages 记录系统或者软件运行情况
    用户登录成功信息
    Oct 22 12:13:45 linux67 sshd[8410]: Accepted password for root from 10.0.0.1 port 51635 ssh2
    Oct 22 12:13:45 linux67 sshd[8410]: pam_unix(sshd:session): session opened for user root by (uid=0)
    用户断开连接信息
    Oct 22 12:14:42 linux67 sshd[8410]: pam_unix(sshd:session): session closed for user root
    用户登录错误信息
    Oct 22 12:15:41 linux67 unix_chkpwd[8437]: password check failed for user (root)
    Oct 22 12:15:41 linux67 sshd[8435]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1  user=root
    Oct 22 12:15:41 linux67 sshd[8435]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
    Oct 22 12:15:43 linux67 sshd[8435]: Failed password for root from 10.0.0.1 port 51642 ssh2
    Oct 22 12:15:47 linux67 sshd[8435]: error: Received disconnect from 10.0.0.1 port 51642:0:  [preauth]
    Oct 22 12:15:47 linux67 sshd[8435]: Disconnected from 10.0.0.1 port 51642 [preauth]
    01         02       03              04
    
    1. 登录连接时间信息
    1. 显示主机名称信息
    1. 登录方式
    • sshd(远程连接)
    • login(本地连接)
    1. 登录过程详细信息
    cat head -n 文件信息		查看文件前n行信息
    cat tail -n 文件信息		查看文件后n行信息
    cat tail -f 文件信息		实时查看日志文件最新内容
    
  • grep命令 : 筛查
    grep 选项 n ‘指定信息‘ 文件信息
选项 含义
-B 查看指定信息以及前面n行信息
-A 查看指定信息以及后面n行信息
-C 查看指定信息以及前后n行信息
-i 忽略指定信息大小写后查询
-c 仅显示包含指定信息的行数
grep -A 5 -i ‘error‘ /var/log/secure	查看‘error‘以及后面5行信息
grep -c error /var/log/secure		统计‘error‘出现的次数
  • uniq命令 : 去重
选项 含义
  • wc命令 : 行数统计
选项 含义
-c 统计文件的字节数
-m 统计文件的字符数
-l 统计文件中的行数
-w 统计文件中的词数

进程内核文件

  • 资产管理记录文件
    /proc/cpuinfo CPU硬件信息 lscpu
    /proc/meminfo内存硬件信息 free -h
    /proc/mounts磁盘硬件信息 df -h
    /proc/loadavg系统负载情况 w uptime top
physical id: 0	不同的数字有几个就有几颗CPU
processor  : 0	不同的数字有几个就有几个CPU核心

MenTotal		服务器总内存数量
MemFree			空闲内存数量
MemAvailable	可用内存数量
Buffers			缓冲区,用于加快数据写入
Cached			缓冲区,用于加快数据读取
  • w查看用户登录情况
15:39:53 up 15 min,  1 user,  load average: 0.00, 0.05, 0.13
USER     TTY      FROM     	LOGIN@   IDLE   JCPU   PCPU		WHAT
root     pts/0    10.0.0.1 	15:26    2.00s  0.12s  0.01s	 w
01	 	  02	   03	      04	  05	     06 		 07
  • 1.已登录系统的用户信息
  • 2.登录系统方式
    • pts/x 远程登录
    • ttyx 本地登录
  • 3.远程登录主机用户IP地址信息
  • 4.用户登陆主机时间
  • 5.用户登录主机空闲时间
  • 6.用户操作占用系统CPU情况
  • 7.用户当前操作内容
    • w --执行w命令
    • -bash --进行基础命令操作
    • vim --编辑文件状态
      -sh xxx --执行xxx脚本

以上是关于Linux系统重要目录与文件详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件系统的目录结构详解(转)

Linux文件系统目录结构详解

Linux文件目录结构详解

Linux文件目录结构详解

Linux文件目录结构详解

深入理解linux系统的目录结构--详解