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                      #黑洞设备,作用:销毁操作系统输出信息使用

 

posted @ 2018-09-14 18:54  Milford  阅读(361)  评论(0编辑  收藏  举报