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

一.Linux系统目录结构介绍

1.Linux 与 Windows目录结构对比

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

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

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

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--a7fe-af1925bd4d2f #网卡uuid克隆虚拟机需要删除。
HWADDR=:0c::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-
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)
单用户模式 root密码忘记 故障
多用户模式 (不能使用NFS软件)
完全的多用户模式 文本模式 命令行模式
没有使用
桌面模式 X11
重启 (不要把运行级别永久设置为0)

CentOS-7运行级别

如何查看
systemctl get-default 如何修改
systemctl set-default 运行级别 运行级别
[root@oldboy ~]# ll /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. root root Jul : /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. root root Jul : /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. root root Jul : /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. root root Jul : /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. root root Jul : /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. root root Jul : /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. root root Jul : /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= #环境变量统一大写(普通变量随意),名称不要与系统中已经定义好的变量冲突
查看
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设备,作用:.清空磁盘数据 .产生空设备文件
/dev/null #黑洞设备,作用:销毁操作系统输出信息使用
上一篇:ReactDom.render和React.render的区别


下一篇:牛顿法/拟牛顿法/DFP/BFGS/L-BFGS算法