• linux目录文件及系统启动知识


    一.Linux系统目录结构介绍

    1.Linux 与 Windows目录结构对比

    Linux与Windows的目录结构对比见下图。

    Linux 目录特点: /etc/hosts      /root/data/oldboy.txt

    2.Linux系统目录结构基础特点

    Linux 下一切从根开始

    Linux 下的目录是一个有层次的目录结构

    在 LInux中每个目录可以挂载到不同的设备(磁盘)上

    Linux 下设备部能使用,不挂载的设备相当于没门没窗户的监狱(进不去出不来),挂载相当于给设备创造了一个入口(挂载点,一般为目录)

    二.Linux的目录结构详解

    1.目录层次标准 FHS

    文件系统层次结构标准(FHS) 定义了在类Unix系统中的目录结构和目录内容。它由Linux基金会维护,最新版为2015年六月三日发布的3.0版,仅用于Linux的各类发行版中。

      官网: http://www.pathname.com/fhs/

    2.根下目录结构详解重要的LInux系统文件介绍

    目录

    说明

    /lost

    found系统修复

    /bin

    二进制命令所在的目录。

    /boot

    系统引导程序所需的文件目录。安装系统分区的时候一般单独要分一个boot分区,大小可谓128-256M,该分区数据增长神效

    /dev

    (Device flies)设备软件目录,比如磁盘、光驱…..

    /etc

    系统配置,启动程序

    /home

    普通用户的家,目录默认数据存放目录

    /lib

    启动系统和运行命令所需的共享库文件和内核模块存放

    /mnt

    临时挂载存储设备的挂载点, u盘直接插入光驱无法使用,要先挂载后使用

    /opt

    额外的应用软件包

    /proc

    操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是虚拟文件系统的挂载点,proc并不是真正的文件系统,它的定义可以参见/etc/ fstab,系统运行很多信息都在这个目录下。

    /proc/loadavg

    <==系统负载(系统繁忙程度)

    /proc/memrino

    <==系统内存信息

    /proc/cpuinfo

    <==系统cpu信息

    /proc/mounts

      <==系统挂载信息。

    /root

    Linux超级用户root的家目录:root类似win32管理员administrator

    /sbin

    和管理系统相关的命令(超级管理员用)

    /tmp

    (Temporary files)临时文件目录, 这个目录可以被用作回收站使用

    /usr

    用户或系统软件应用程序目录

    /var

    这个目录的内容是经常变动的。是个用来存放系统日志的目录,系统日志的路径/var/log/messages; /var/lib用来存放一些库文件

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

        /etc/sysconfig/network-scripts/ifcfg-eth0  #网卡配置文件
        /etc/resolv.conf                       #Linux系统DNS配置文件
        /etc/sysconfig/network                 #CentOS-6主机名配置文件
        /etc/hostname                          #CentOS-7主机名配置文件
        /etc/syscconfig/i18n                   #CentOS-6字符集配置文件
        /etc/locale.conf                       #CentOS-7字符集配置文件  
        /etc/hosts                             #ip地址与域名快速解析的文件
        /etc/fstab                             #配置开机设备自动挂载的文件
        /etc/rc.local                          #存放开机自启动程序命令的文件
        /etc/inittab                           # centos7设定运行级别等配置的文件
        /etc/systemd/system/default.target     #centos7设定运行级别等配置的文件
        /usr/lib/systemd/system/runlevel*.target  #centos7运行级别
        /etc/profile及/etc/bashrc             #配置系统的环境变量/别名等的文件
        /etc/profile.d                         #用户登录后执行的脚本所在的目录
        /etc/issue和/etc/issue.net            #配置在用户登录终端前显示信息的文件
        /etc/init.d                            #软件启动程序所在的目录
        /etc/motd                              #配置用户登录系统之后显示提示内容的文件
        /etc/redhat-release                    #声明RedHat版本号和名称信息的文件
        /etc/sysctl.conf                       #Linux内核参数设置文件

    4.网卡配置文件详解

     修改网卡配置文件之后,需要重启网卡才能生效

    systemctl   restart   network

    [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
    UUID=30126a53-c912-4552-a7fe-af1925bd4d2f    #网卡uuid克隆虚拟机需要删除。
    HWADDR=00:0c:29:fe:f9:8a                     #mac地址,网卡唯一标识,克隆虚拟机要删除。
    NM_CONTROLLED=no                             #要不要被网络管理器控制,选no
    USERCTL=no                                   #USER ConTrol普通用户是否可以管理网卡,no
    PEERDNS=yes                                  #要不要覆盖/etc/resolv.conf文件(DNS客户端文件)
    IPV6INIT=no                                  #是否支持ipV6
    DEVICE=eth0                                  #网卡设备的名字,eth0是第一块。
    ONBOOT=yes                                   #开机时,是否和系统一起启动
    TYPE=Ethernet                                #以太网
    BOOTPROTO=none                               #启动协议.dhcp(动态主机配置协议).static/none(静态ip)
    IPADDR=10.0.0.200                            #IP地址
    NETMASK=255.255.255.0                        #子网掩码(也可以是24)
    GATEWAY=10.0.0.2                             #网关
    DNS1=223.5.5.5                               #第一个DNS
    DNS2=223.6.6.6                               #第二个DNS

    配置DNS的配置文件

    两种方法

     /etc/sysconfig/network-scripts/ifcfg-eth0

    配置方法:DNS1=xxx.xxx.xxx.xxx   DNS2=xxx.xxx.xxx.xxx

    此配置文件配置好DNS后是需要重启网卡配置文件才能生效。

     /etc/resolv.conf

    配置方法:nameserver   xxx.xxx.xxx.xxx    nameserver  xxx.xxx.xxx.xxx

    此配置配置完成后是实时生效的

    优先级: 网卡中>/etc/resolv.conf

    5.修改主机名

    CentOS-6:

    命令修改 #修改之后需要重新登录终端生效(临时生效,重启系统之后失效)

    hostname  新的主机名

    配置文件修改  #修改后需要重启系统(永久生效)

    修改配置文件 /etc/sysconfig/network

    CentOS-7

    命令修改 #修改之后需要重新登录终端生效(临时生效,重启系统之后失效)

    hostnamctl   set-hostname   新的主机名

    配置文件修改  #修改后需要重启系统(永久生效)

    修改配置文件 /etc/hostname

    6.修改字符集(中文乱码)

    如何查看系统的字符集
    echo $LANG
    
    命令修改  #临时生效,重启系统之后失效
    export LANG=zh_CN.UTF-8
    localectl set-locale LANG=en_US.utf8 #需重新加载配置文件生效
    
    配置文件修改 
    CentOS-6修改配置文件/etc/syscconfig/i18n
    CentOS-7修改配置文件/etc/locale.conf
    生效(永久生效)
    source    配置文件

    7.运行级别

    CentOS-6运行级别

    如何查看
    runlevel
    
    如何修改
    init  级别   /  或者修改运行级别配置文件/etc/inittab
    
    运行级别及对应含义
    0   关机状态  (不要把运行级别永久设置为0)
    1   单用户模式  root密码忘记  故障 
    2   多用户模式  (不能使用NFS软件)
    3   完全的多用户模式  文本模式 命令行模式 
    4   没有使用 
    5   桌面模式 X11 
    6   重启     (不要把运行级别永久设置为0)

    CentOS-7运行级别

    如何查看
    systemctl   get-default
    
    如何修改
    systemctl  set-default   运行级别
    
    运行级别
    [root@oldboy ~]# ll /usr/lib/systemd/system/runlevel*.target 
    lrwxrwxrwx. 1 root root 15 Jul 23 17:05 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
    lrwxrwxrwx. 1 root root 13 Jul 23 17:05 /usr/lib/systemd/system/runlevel1.target -> rescue.target
    lrwxrwxrwx. 1 root root 17 Jul 23 17:05 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
    lrwxrwxrwx. 1 root root 17 Jul 23 17:05 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
    lrwxrwxrwx. 1 root root 17 Jul 23 17:05 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
    lrwxrwxrwx. 1 root root 16 Jul 23 17:05 /usr/lib/systemd/system/runlevel5.target -> graphical.target
    lrwxrwxrwx. 1 root root 13 Jul 23 17:05 /usr/lib/systemd/system/runlevel6.target -> reboot.target

    8.别名

    查看系统中已经定义的别名
    alias      #alias  命令
    命令设置 (临时生效,重启系统之后失效)
    alias  rm=' echo rm command bny'
    配置文件修改
    vim   /etc/profile| /etc/bashrc (别名所有用户可用)#国法 
    vim   ~/.bashrc| ~/.bash_profile(别名当前用户可用)#家规
    生效(永久生效)
    source  配置文件名
    取消别名
    unalias   有别名的命令

    9.环境变量

    如何查看系统已经存在的环境变量
    env
    命令设置(临时生效,重启系统之后失效)
    export  TEST=123   #环境变量统一大写(普通变量随意),名称不要与系统中已经定义好的变量冲突
    查看
    echo   $TEST
    配置文件定义  
    vim     /etc/profile(所有用户可用)#国法 
    vim     ~/.bash_profile(当前用户可用)#家规
    生效(永久生效)
    source   配置文件
    取消环境变量
    unset   TEST
    对系统的一个小优化
    cat >>/etc/profile.d/color.sh<<"EOF"
    alias ll='ls -l --color=auto --time-style=long-iso'
    PS1='[e[32;1m][u@h W]$ [e[0m]'
    EOF
    source  /etc/profile

    10. /usr目录的重要知识介绍

    /usr/local/:编译安装软件默认的位置路径

    /usr/src:存放源码文件的目录

    yum

    yum  install  -y  tree  xxxx            #安装软件
    yum  grouplist                      #查看已安装的软件包            
    yum  groupinstall                       #安装指定的软件包
    yum  provides                           #查询命令属于哪个软件包
    yum  remove   sl   -y               #删除一个软件包

    rpm

    -ivh   rpm –ivh              #软件包  
    -e     rpm –e               #卸载软件包 
    -qa    rpm –qa              #查询所有软件包
    -ql    rpm –ql               #查看软件包里的文件列表
    -qf    rpm –qf              #查询命令或文件属于哪个软件包
    -qc    rpm  -qc           #查询软件的主配置文件

    编译安装三部曲

    ./conflgure             #编译参数选项
    make                  #开始编译
    make install            #开始安装

    11. /var目录下的路径知识

    /var/log              #记录系统及软件运行信息文件所在的目录
    /var/log/messages     #系统级别日志文件
    /var/log/secure       #用户登录信息日志文件
    /var/log/dmesg        #记录硬件信息加载情况的日志文件

    12. /proc目录下的重要路径知识

    /proc/meminfo       #系统内存信息
    /proc/cpuinfo       #关于处理器的信息,如类型,厂家,型号,性能等
    /proc/loadavg       #系统负载信息,uptime的结果
    /proc/mounts        #已加载的文件系统的列表

    13. /dev目录下的路径知识

    /dev/sd*                        #磁盘设备
    /dev/sr0或者/dev/cdrom         #光驱设备文件
    /dev/zero                      #写0设备,作用:1.清空磁盘数据 2.产生空设备文件
    /dev/null                      #黑洞设备,作用:销毁操作系统输出信息使用
  • 相关阅读:
    客户端组建调用
    串口开发
    C/C++,系统知识考点
    API进程线程函数
    做WEB2.0网站可以参考的十九条规则
    javascript中动态添加事件!!
    常用正则表达式收集!
    CuteChat for Community Server 2.0 beta 3!
    发现一个下载.Text Skin 的好网站.
    如何控制Linux终端打印字符颜色和位置
  • 原文地址:https://www.cnblogs.com/gongcheng-/p/9648269.html
Copyright © 2020-2023  润新知