1、文件系统结构

1、目录功能介绍(CentOS 7)

  • /etc

主要用于存放系统管理相关的配置文件以及子目录。其中比较重要的有系统初始化文件/etc/rc、用户信息文件/etc/passwd等,相关网络配置文件和服务启动文件也在该目录下

文件名和目录 主要作用
passwd 用户库文件、每个用户的用户名、UID、GID和工作目录等都存放在该文件中
shadow 存放用户密码的文件,每个用户的密码加密后都放入此文件
group 主要存储用户组信息
fstab 系统开机启动自动挂载分区列表,需要设置开机自动挂载的分区,都可以在此文件中加入
systemd systemd的配置文件目录,此目录是Linux启动的重要部分,用来完成对整个系统的基本初始化配置(CentOS 7后加入)
hosts 设定用户自己的IP与名字的对应表
resolv.conf 客户端DNS配置文件
systemd/system/*.wants 此目录包含所有服务启动脚本,开机时系统将自动启动这些服务(CentOS 7新增)
sysconfig/network-scrripts/ifcfg–eth0 IP地址配置文件(CentOS 7后网卡名从类似eth0、eth1的标识变为enp0s3、enps4标识)
X11 X-Window的配置文件
rsyslog.conf 系统日志输出配置文件
crontab 系统级别的守护进程配置文件
sysctl.conf 系统内核参数配置文件(在CentOS 7后,内核参数配置文件转移到了/usr/lib/sysctl.d目录下,但sysctl.conf文件仍有效,并且可覆盖/usr/lib/sysctl.d中的配置)
services 定义系统服务与端口的对应关系
profile 系统全局环境变量配置文件
  • /usr

主要用于存放应用程序和文件。如果在系统安装的时候选择了很多安装软件包,那么这些软件包默认会安装到该目录下,平时安装的一些软件默认情况下也会安装在该目录内

文件或目录 主要作用
lib64以及local/lib64 64位操作系统中的函数库目录
src 该目录包含所有程序的源代码,其中主要是Linux核心程序源代码
local 该目录存放本地安装的软件和其他文件,与LInux无关
bin以及local/bin 使用者可执行的二进制文件目录
lib以及local/lib 32位操作系统使用的函数库目录
sbin以及local/sbin 该目录存放系统管理员才能执行的指令
include 此目录包含c语言的头文件,文件扩展名大多数为.h
share 该目录存放共享的文件和数据库
  • /var

主要用于存放系统运行以及软件运行的日志信息

文件或目录 主要作用
log 该目录存放各种应用程序的日志文件,这里的文件是经常变动的,因此需要定期清理
lib 该目录存放系统正常运行时需要改变的库文件
spool 该目录是mail、new、打印机队列和其他队列输入、输出的缓冲目录
tmp 该目录允许比/tmp存放更大的文件
lock 该目录存放被锁定的文件,很多程序都会在/var/lock下产生一个锁文件,以保证其他程序不能同时使用这个设备或文件
local 该目录存放/usr/local中所安装程序的可变数据
account 该目录存放已经格式化的man页
run 该目录包含到下次系统启动前的系统信息
  • /dev

包含系统所有的设备文件

设备名 具体含义
fd* 代表软盘设备,fd0代表第一个软盘设备,fd1代表第二个软盘设备
audio* 代表声卡设备
hd* 代表IDE硬盘设备。hda代表第一块IDE硬盘,hdb代表第二块IDE硬盘
sd* 代表SCSI设备,sda代表第一块SCSI硬盘,sdb代表第二块SCSI硬盘
lp* 代表并行串口
pty* 代表网络中登录的远程终端设备
ram* 代表系统内存
tty* 代表Linux上的虚拟控制台,也叫字符控制台。tty1代表第一个虚拟控制台,tty2代表第二个虚拟控制台,以此类推,Linux上一共有6个虚拟控制台
ttyS* 代表串行端口。
console 代表系统控制台,也就是桌面控制台,可以直接连接到显示器
null 输出空设备
  • /proc

此目录是虚拟目录,目录中所有信息都是内存的映射,通过这个虚拟的内存映射目录,可以和内核内部数据结构进行交互,获取有关进程的有用信息,同时也可以在系统运行中修改内核参数。与其他目录不同,/proc存在于内存中,而不是硬盘上

文件或目录 说明
cpuinfo 关于系统CPU的详细信息,包含CPU名称、型号和类型
meninfo 内存信息,包含物理内存和虚拟内存
filesystems 当前系统支持的文件系统类型
devices 内核中的设备驱动程序列表
net 网络使用协议以及状态信息
dma 当前使用的dma通道
ioports 当前使用的I/O端口
modules 当前系统加载的内核模块信息
stat 系统的各种状态信息
uptime 系统总的启动时间和空闲时间,以秒为单位
version 内核版本信息
loadavg 系统平均负载
kcore 系统物理内存的映像,与物理内存大小完全一样,但实际不占用那么大空间
kmsg 内核输出信息,同时被输出到rsyslog
  • /boot

该目录存放的是启动Linux是的核心文件,具体包含一些镜像文件和链接文件,因此这个目录非常重要,,如果遭到破坏,系统将无法启动

  • /bin 和 /sbin

这两个目录存放的是可执行的二进制文件。bin其实是binary的缩写,/bin目录下存放的就是我们经常使用的Linux命令。sbin中的s其实是Super User的意思,也就是,只有超级用户才可以执行这些命令

  • /home

该目录是系统中每个用户的工作目录

  • /lib

该目录存放的是共享程序库和映像问津,,可供很多程序使用。通过这些共享映射文件,每个程序就不必分别保存自己的库文件,Linux提供一组可供所有程序使用的文件。在该目录中,还包含引导进程所需的静态库文件

  • /root

该目录是Linux超级用户root的默认主目录。如果通过root登录系统,就会自动进入次目录,一般用户没有进入这个目录的权限

  • /run

该目录是外在设备的自动挂载点目录,用来自动挂载光驱和U盘。另外还有一个/media目录,与/run目录作用基本类似,在CentOS 7之前使用。还有一个/mnt目录,主要用来手动挂载一些移动设备

  • /lost+found

该目录用于保存丢失的文件。不恰当的关机操作和磁盘错误均会导致文件丢失,这些丢失的文件会临时放在/lost+found下,系统重启后,引导进程会运行fsck程序,该程序就会发现这些文件爱你。除了’/‘分区上的这个目录外,在每个分区上均有一个lost+found目录

  • /tmp

该目录为临时文件目录,主要用于存放临时文件,这些临时文件可能会随时被删除,也可以随时删除

2、基础命令 (部分命令见Linux学习笔记)

  • 显示命令帮助信息:man 命令名称

1、Linux硬件资源管理

  • 查看系统PCI设备:lspci
  • 查看CPU信息:more /proc/cpuinfo
    • 查看物理CPU数:cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
    • 查看每个物理CPU中的内核的个数:cat /proc/cpuinfo | grep "cpu cores"
    • 查看系统所有逻辑CPU个数:cat /proc/cpuinfo | grep "processor" | wc -l
  • 查看系统内存信息:more /proc/meminfo
  • 查看磁盘分区信息:df -l

2、Linux外在设备的使用

  • 设备的挂载:mount -t 文件系统类型 设备名 挂载点
  • 设备的卸载:umount 挂载目录

3、系统服务管理工具systemd

1、服务管理

  • 启动服务:如,systemctl start httpd.service
  • 停止服务:如,systemctl stop httpd.service
  • 重启服务
    • 如果服务在运行中,则重启服务,若不在运行中,则将会启动:如,systemctl restart httpd.service
    • 只在服务已存在运行的状态下启动服务:如,systemctl try-restart httpd.service
    • 重新加载配置文件:如,systemctl reload httpd.service
  • 使用enable/disable控制服务是否开机启动,如设置开机启动, systemctl enable httpd.service
    • 使用status查看运行状态:如,systemctl status httpd.service

2、系统电源管理

systemctl命令 含义
systemctl poweroff 关闭系统
systemctl reboot 重启系统
systemctl suspend 进入待机模式
systemctl hibernate 进入休眠模式
systemctl hybrid-sleep 进入混合休眠模式

4、磁盘管理与维护

  • 检查Linux磁盘空间占用情况:df [选项]
  • 显示文件或目录所占用的磁盘空间情况:du [选项] 文件或目录
  • 检查文件系统并尝试修复错误:fsck [选项] [-t <文件类型系统>] [设备名]
  • 强制将内存中的数据写入磁盘:sync

5、网络设置与维护

  • 配置网络或显示当前网络接口状态

ifconfig [选项] [interface] [inet | down | netmask | addr | broadcast]

选项:

-a : 显示所有的网络接口信息,包含活动的和非活动的

-s : 仅显示每个接口的摘要信息,是有关接口活动性的,每个接口显示一行信息

-v : 如果每个网络接口出现错误,,将返回错误信息,一帮助发现和处理故障

interface: 网络接口名

up: 激活一个网路接口

down: 使指定的网络接口无效

netmask: 为一个指定的网络接口指定子网掩码

addr: addr为网络接口指定的IP地址

broadcast: 为指定的接口设置广播地址

示例:

在网卡enp0s3上配置IP地址:ifconfig enp0s3 192.168.60.136 netmask 255.255.255

修改MAC地址:ifconfig enp0s3hw ether MAC地址

将网卡enp0s3禁用:ifconfig enp0s3 down

  • 两个Linux间传输文件或目录

远程到本地: scp 远程用户名@ip地址:文件的绝对路径 本地Linux系统路径

本地到远程: scp 本地Linux系统文件路径 远程用户名@ip地址:远程系统文件绝对路径

  • 显示本机网络连接、运行端口和路由表等信息

netstat [选项]

选项:

-a : 显示本机所有连接和监听端口

-n : 以网络IP地址的形式显示当前建立的有效连接和端口

-r : 显示路由表信息

-s : 显示协议的统计信息。

-v : 显示当前的有效连接

-t : 显示所有的TCP协议连接情况

-u : 显示所有的UDP协议连接情况

-c<秒数> : 后面跟的秒数,表示每个几秒就刷新一次显示

-i : 显示自动配置接口的状态

-l : 仅显示连接状态为“LISTEN”的服务的网络状态

-p : 显示连接对应的PID与程序名

  • 显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况

traceroute [选项] [远程主机名或IP地址] [数据包大小]

选项:

-i<网络接口> : 使用指定的网络接口发送数据包

-n : 直接使用IP地址而不使用主机名

-v : 详细显示命令的执行过程

-w<超时秒数> : 设置等待远程主机回应的时间

-x : 开启或者关闭对数据包的正确性校验

-s<来源IP> : 设置本机主机发送数据包的IP地址

-g<网关地址> : 设置来源的路由网关,最多可设置8个

  • 通过telnet协议与远程主机通信或者获取远程主机对应端口的信息

telnet 主机名或者IP地址端口

示例

查看本地80端口:telnet 127.0.0.1 80

  • 下载软件

wget [要下载软件的地址]