AI智能
改变未来

Linux 目录结构及详细操作

[toc]

Linux 目录结构及详细操作

目录结构

常见的目录结构

  • Windows下:D: \\ProgramFiles
  • Linux下:
      /etc/sysconfig

    根目录结构示意图(倒挂树),图中的箭头代表软连接的关系,相当于Windows的快捷方式

    目录结构的特点

    1. Linux系统中的目录一切从根开始
    2. Linux系统中的目录结构拥有层次
    3. Linux系统中的目录需要挂载使用

    目录结构挂载

    系统目录可以挂载任何磁盘设备上

    磁盘空间没有被挂载是不能使用的

    # 挂载命令及格式mount [磁盘路径] [挂载的路径]# 查看本机挂载的命令[root@localhost dev]# df -h# 卸载挂载的磁盘[root@localhost dev]# umount /mnt/

    目录结构发展

    • 第一块磁盘:用来存放系统程序 —> /
    • 第二块磁盘:存储数据(数据盘)—> /usr
    • 第三块磁盘:用于分类管理用户 —> /home

    关闭selinux(了解)

    临时关闭[root@localhost ~]# setenforce 0永久关闭[root@localhost ~]# vim/etc/selinux/config修改文件内参数SELINUX=disabled

    重要目录说明(etc目录说明)

    etc目录详细操作

    1、网卡配置文件

    1、文件信息如下:

    # 网卡配置文件(有以下几种情况,通过ip a 查看自己的名称)/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1/etc/sysconfig/network-scripts/ifcfg-ens32/etc/sysconfig/network-scripts/ifcfg-ens33

    2、重载网卡信息:

    # 查看本机网络信息的命令ip a 或 ip address show  (老版本的命令:ifconfig)# 重载网卡信息systemctl restart network或ifdown [网卡名称] && ifup [网卡名称]# 确认网卡配置是否正确vim /etc/sysconfig/network-scripts/ifcfg-eth0# 关闭网络管理器(因为已经有了network)systemctl  stop NetworkManagersystemctl  disable NetworkManager或systemctl  disable --now  NetworkManager

    2、解析配置文件

    作用:用于设置DNS解析地址

    文件信息:/etc/resolv.conf  #  临时dns配置文件nameserver 114.114.114.114# 判断SSH服务是否开启systemctl status sshd# 查看操作系统的DNS:[root@localhost sys]# cat  /etc/resolv.confnameserver 114.114.114.114# DNS可以修改,# vim  /etc/resolv.conf# 多种DNS114.114.114.114 中国电信223.5.5.5/223.6.6.6	中国阿里云8.8.8.8 谷歌

    3、主机名称文件

    文件信息:/etc/hostname

    配置主机名称信息,永久生效

    # 主机名称文件1、查看当前主机名称信息/临时修改查看:hostname临时修改:hostname baidu2、永久修改[root@baidu ~]# vim /etc/hostname	# 需要重启生效[root@baidu ~]# hostnamectl set-hostname oldboy # 立即生效# 区别上3、ps:自定义系统登录用户信息PS1 环境变量[root@localhost ~]# echo $PS1[\\u@\\h \\W]\\$[root@localhost ~]# PS1=\'[\\u@\\h --- \\W]\\$\'# 补充:通过域名查看ip地址,百度举例[root@localhost ~]# ping www.baidu.comPING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.# 远程的ip地址:112.80.248.75

    4、解析映射文件

    相当于windows 系统中,C:\\Windows\\System32\\drivers\\etc\\hosts;

    解析映射文件相当于本地的DNS;

    • 文件信息:/etc/hosts

    • 作用说明:用于设置DNS域名与IP地址对应关系

    # 本地解析,可以在windows中的hosts文件中添加解析106.13.91.75  《==》 www.test.com# 这样通过ip地址或者映射后的域名都可以访问到服务器

    5、磁盘挂载文件

    • 文件信息:/etc/fstab
    • 作用说明:实现指定设备文件信息,进行开机自动挂载
    [root@localhost /]# cat /etc/fstab## /etc/fstab# Created by anaconda on Thu Dec  9 18:57:52 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 0UUID=046a66f5-d610-42fd-a0ec-c98793ff6320 /boot                   xfs     defaults# 通过df -h 查看挂载信息[root@localhost /]# df -hFilesystem               Size  Used Avail Use% Mounted ondevtmpfs                 475M     0  475M   0% /devtmpfs                    487M     0  487M   0% /dev/shmtmpfs                    487M  7.6M  479M   2% /runtmpfs                    487M     0  487M   0% /sys/fs/cgroup/dev/mapper/centos-root  100G  2.2G   98G   3% //dev/sda1                509M  132M  378M  26% /boottmpfs                     98M     0   98M   0% /run/user/0可以发现/boot和/的挂载信息是一样的

    6、开机加载脚本

    • 文件信息:/etc/rc.local
    • 作用说明:实现系统启动后,读取文件中的命令,从而实现一些操作随系统启动自动运行
    • 使用方法:chmod +x /etc/rc.d/rc.local (centos7中需要执行此命令,才能使用此文件)

    说明:类似Windows中开机启动的文件,可以通过任务管理器中的启动查看在Windows中开机启动的程序有哪些

    # 验证Linux中开机自启动示例# 在/etc/rc.local中加入执行语句vim /etc/rc.localecho \'hello\' > test# 设置开机自启动权限chomd +x /etc/rc.d/rc.local# 重启系统reboot# 查看test文件是否写入了hellocat test

    7、系统启动级别

    级别对应参数一览表:

    启动级别 级别对应命令 描述
    0 shutdown.target 关机(不要设置,不然会一直关机)
    1 emergency.target 单用户模式,root权限
    2 rescure.target 多用户模式,没有NFS和网络支持
    3 multi-user.target 完整的多用户文本模式,有NFS和网络,登录后进入控制台命令行模式
    4 待定
    5 graphical.target 图形化模式,登录后进入图形GUI模式
    6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启
    • 命令格式:

      systemctl [command] [unit.target]

  • command参数如下表

  • 参数 描述
    get-default 取得当前的target
    set-default 设置指定的target为默认的运行级别
    isolate 切换到指定的运行级别
    unit.target 上面列出的运行级别
    • 设置系统级别:

      init [编号]			---临时设置systemctl set-default [系统启动级别] ---永久
    • 查看系统级别文件保存路径

      [root@localhost /]# cd /usr/lib/systemd/system[root@localhost system]# lslrwxrwxrwx. 1 root root   15 Dec  9 18:58 runlevel0.target -> poweroff.targetlrwxrwxrwx. 1 root root   13 Dec  9 18:58 runlevel1.target -> rescue.targetdrwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel1.target.wantslrwxrwxrwx. 1 root root   17 Dec  9 18:58 runlevel2.target -> multi-user.targetdrwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel2.target.wantslrwxrwxrwx. 1 root root   17 Dec  9 18:58 runlevel3.target -> multi-user.targetdrwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel3.target.wantslrwxrwxrwx. 1 root root   17 Dec  9 18:58 runlevel4.target -> multi-user.targetdrwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel4.target.wantslrwxrwxrwx. 1 root root   16 Dec  9 18:58 runlevel5.target -> graphical.targetdrwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel5.target.wantslrwxrwxrwx. 1 root root   13 Dec  9 18:58 runlevel6.target -> reboot.target
    • 示例如下:

      # 1、获得当前的运行级别[root@localhost ~]# systemctl get-defaultmulti-user.target# 2、设置默认的运行级别为mulit-user[root@localhost ~]# systemctl set-default multi-user.target[root@localhost ~]# systemctl get-defaultmulti-user.target# 3、在不重启的情况下,切换到运行级别mulit-user下[root@localhost ~]# systemctl isolate multi-user.target# 4、在不重启的情况下,切换到图形界面下[root@localhost ~]# systemctl isolate graphical.target
    • 补充:解决忘记密码问题,通过单用户模式解决

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

    8、变量加载文件(环境变量)

    • 文件信息:/etc/profile

    • 作用说明:配置环境变量和别名文件

    • 增加环境变量有两种方式:

      临时添加

    • 永久添加
  • 增加环境变量的格式:

      export ’[环境变量名] = [路径]

    示例如下:

    export PYTHON_HOME=\'D:/python\'
  • 查看本机的环境变量:

      printenv命令 : 查看所有的环境变量
    • echo $PYTHON_HOME : 查看某一个环境变量

    示例如下:

    # 修改或添加环境变量主要修改以下四个文件和目录内添加.shw# 修改下面两个文件/etc/profile/etc/bashrc# 修改下面两个文件~/.bash_profile~/.bashrc# 目录/etc/profile.d/  # 在该目录下创建文件后要添加执行权限# 读取环境变量的几种情况,以及使用文件的先后顺序1、重启/etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile2、切换用户/etc/profile.d --> /etc/bashrc --> ~/.bashrcps:useradd [用户名]su [用户名]3、重新登录用户1、su - [用户名]/etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile2、ssh root@192.168.15.101/etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile

    9、登录提示文件

    • 文件信息 1:/etc/motd (登录之后提示的信息)
    • 作用说明:文件中内容,会在用户登录系统之后进行显示
    • 文件信息 2:/etc/issue (登录之前提示的信息)
    • 作用说明:文件中内容,会在用户登录系统之前进行显示

    示例如下:

    # 登录之后提示小火龙图画,issue文件也是一样的[root@localhost ~]# vim /etc/motd\\                    / \\  //\\\\    |\\___/|      /   \\//  \\\\/0  0  \\__  /    //  | \\ \\/     /  \\/_/    //   |  \\  \\@_^_@\'/   \\/_   //    |   \\   \\//_^_/     \\/_ //     |    \\    \\( //) |        \\///      |     \\     \\( / /) _|_ /   )  //       |      \\     _\\( // /) \'/,_ _ _/  ( ; -.    |    _ _\\.-~        .-~~~^-.(( / / )) ,-{        _      `-.|.-~-.           .~         `.(( // / ))  \'/\\      /                 ~-. _ .-~      .-~^-.  \\(( /// ))      `.   {            }                   /      \\  \\(( / ))     .----~-.\\        \\-\'                 .~         \\  `. \\^-.///.----..>        \\             _ -~             `.  ^-`  ^-_///-._ _ _ _ _ _ _}^ - - - - ~                     ~-- ,.-~/.-~

    重要目录说明(/usr目录说明)

    • 文件信息:/usr/local
    • 作用说明:编译安装软件的默认目录

    示例如下:

    # yum安装python:yum install python3

    重要目录说明(/var目录说明)

    1. 重要文件-重要日志文件1:

        文件信息:/var/log/messages
      • 作用说明:软件安装运行以及系统运行异常日志文件
    2. 重要文件-重要日志文件2:

        文件信息:/var/log/secure (说明:此文件具有日志切割功能)

      • 作用说明:系统用户登录情况日志信息

      • 文件使用:grep \’Failed\’ /var/log/secure

    查看日志:

    # 先查看5行吧,太多了占地[root@localhost log]# head -5 /var/log/messagesDec 12 16:13:02 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-55.el7" x-pid="1470" x-info="http://www.rsyslog.com"] rsyslogd was HUPedDec 12 16:47:59 localhost systemd: Started Delayed Shutdown Service.Dec 12 16:47:59 localhost systemd-shutdownd: Shutting down at Sun 2021-12-12 16:57:59 CST (poweroff)...Dec 12 16:48:08 localhost systemd-shutdownd: Shutdown canceled.Dec 12 17:01:01 localhost systemd: Started Session 3 of user root.

    重要目录说明(/proc目录说明)

    1. 重要文件-重要信息文件1:
        文件信息:/proc/cpuinfo
      • 作用说明:用于查看系统CPU信息情况文件
      • 相关命令:lscpu
    [root@localhost proc]# lscpu或[root@localhost proc]# cat cpuinfoArchitecture:          x86_64CPU op-mode(s):        32-bit, 64-bitByte Order:            Little EndianCPU(s):                1On-line CPU(s) list:   0Thread(s) per core:    1Core(s) per socket:    1Socket(s):             1NUMA node(s):          1Vendor ID:             GenuineIntelCPU family:            6Model:                 158Model name:            Intel(R) Core(TM) i5-8300H CPU @ 2.30GHzStepping:              10CPU MHz:               2303.999BogoMIPS:              4607.99Hypervisor vendor:     VMwareVirtualization type:   fullL1d cache:             32KL1i cache:             32KL2 cache:              256KL3 cache:              8192KNUMA node0 CPU(s):     0
    1. 重要文件-重要信息文件
        文件信息:/proc/meminfo
      • 作用说明:用于查看系统内存信息情况文件
      • 相关命令:free -h

    示例如下:

    [root@localhost proc]# head  -5  /proc/meminfoMemTotal:         995676 kBMemFree:          689728 kBMemAvailable:     672864 kBBuffers:            2104 kBCached:            94548 kB# 用free看内存信息会更直观[root@localhost proc]# free -htotal        used        free      shared  buff/cache   availableMem:           972M        185M        673M        7.5M        113M        656MSwap:            0B          0B          0B
    1. 重要文件-重要信息文件
        文件信息:/proc/loadavg
      • 作用说明:用于查看系统负载信息情况文件,用于衡量系统繁忙程度
      • 相关命令:w

    示例如下:

    [root@localhost proc]# cat loadavg0.13 0.04 0.05 1/113 18390.13 :1分钟内CPU负载0.04 :5分钟内CPU负载0.05 :15分钟内CPU负载负载:当前系统的所有进程占用CPU的时间比[root@localhost proc]# w19:19:11 up  1:55,  1 user,  load average: 0.08, 0.04, 0.05USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATroot     pts/0    192.168.15.1     17:24    7.00s  0.10s  0.01s w# w命令的数据来源是/proc/loadavg
    1. 重要文件-重要信息文件

        文件信息:/proc/mounts

      • 作用说明:用于查看系统挂载信息情况文件

      • 相关命令:mount : 挂载

        ​ umount : 卸载挂载

        ​ df – h : 查看挂载

    示例如下:

    [root@localhost proc]#[root@localhost proc]# df -hFilesystem               Size  Used Avail Use% Mounted ondevtmpfs                 475M     0  475M   0% /devtmpfs                    487M     0  487M   0% /dev/shmtmpfs                    487M  7.6M  479M   2% /runtmpfs                    487M     0  487M   0% /sys/fs/cgroup/dev/mapper/centos-root  100G  2.2G   98G   3% //dev/sda1                509M  132M  378M  26% /boottmpfs                     98M     0   98M   0% /run/user/0

    补充知识:

    • dev是操作硬件的入口
    • 解析文件顺序,先本地(hosts)后配置

  • 赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » Linux 目录结构及详细操作