linux文件管理 -> 系统目录结构

时间:2021-02-15 10:31:09

几乎所有的计算机操作系统都是用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件, 而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支, 所以该结构又被称为“目录树”。

Linux系统中也沿用了这种文件结构, 所有目录和文件都在 "根目录"下, 目录名为"/"。FHS(文件系统层次标准)定义了在根目录下的主要目录以及每个目录应该存放什么文件。

 

linux文件管理 -> 系统目录结构

/etc        系统重要配置文件, 以及常用服务配置文件
/var        存放系统引导启动时产生的可变文件,文件通常动态更改的,例如: 缓存目录,日志文件
/run        系统启动后, 运行的程序产生的运行时数据, 包括进程的pid文件,锁文件等
/home       普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME
/root       超级管理员的主目录, 普通用户无权操作
/tmp        存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限
/boot       存放系统引导时候需要的文件
/dev        存放设备文件
/usr        安装的软件, 共享库, 重要的子目录有
/usr/bin    用户命令目录
/usr/sbin   管理员命令目录
/usr/local  本地自定义安装的软件
/bin    二进制文件 命令
/sbin 供root用户使用的二进制命令
/lib library/lib64 library
/lost+found 系统宕机 临时保存数据位置
/mnt 默认的临时挂载点
/opt 第三方软件的安装位置
//注意:在Linux7系统中, /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下,例如: /bin --> /usr/bin /sbin --> /usr/sbin lib -> usr/lib lib64 -> usr/lib64

需要掌握的目录与文件:

/etc目录

1 ./etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置

DEVICE=eth0 —— 设备名称
TYPE=Ethernet —— 网络类型
ONBOOT=yes —— 是否自启动
BOOTPROTO=none —— 网络模式,dhcp(自动获取IP)或static(指定静态IP)或者none
IPADDR=10.0.0.200 —— IP地址
PREFIX=24 #NETMASK=255.255.255.0 —— 子网掩码
GATEWAY=10.0.0.2 —— 网关
DNS1=223.5.5.5 —— DNS
DNS2=223.6.6.6 —— 备用DNS

2 .etc/fstab 开机自动挂载列表,开机时设备与入口的对应关系

某些时候当Linux系统下划分了新的分区后,需要将这些分区设置为开机自动挂载,否则,Linux是无法使用新建的分区的。 /etc/fstab 文件负责配置Linux开机时自动挂载的分区。

UUID=7b2054b6-036c-4352-b261-1a846b78d508 /                       ext4    defaults        1 1
UUID=92e4212d-b33b-4e97-a3e7-3be20dc6d9c4 /boot                   ext4    defaults        1 2
UUID=51bfa6f9-90b5-4c0d-8a26-3e09ef179f8e swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

每一列的含义:
1列可以是实际分区名,也可以是实际分区的卷标(Lable)。

2列是挂载点。
挂载点必须为当前已经存在的目录,为了兼容起见,最好在创建需要挂载的目标目录后,将其权限设置为777,以开放所有权限。

3列为此分区的文件系统类型。
Linux可以使用ext2、ext3等类型,此字段须与分区格式化时使用的类型相同。也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载。

4列是挂载的选项,用于设置挂载的参数。

5列是dump备份设置。
当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;

6列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。

3 ./etc/sysconfig/network 修改主机名

**配置信息: ** 主机名配置信息

配置内容:

NETWORKING=yes
HOSTNAME=oldboyedu49-lnb

4 ./etc/hosts 主机名解析文件,解析域名的

配置信息:
IP地址与主机名对应关系,也可配置快速域名解析,用于搭建测试网站

配置内容:

127.0.0.1   localhost localhost.localdomain
IP地址      主机名    域名

5 ./etc/resolv.conf DNS配置文件

配置信息:
DNS配置信息

配置内容:
nameserver 10.0.0.2

注:网卡中的DNS配置优先

6 ./etc/inittab 运行级别的配置文件

Linux的7个运行级别:

0    关机
1    单用户模式(可在root密码忘记时候使用)
2    多用无模式(无NFS 无网络连接)
3    完整的多用户模式
4    未定义
5    X11 图形界面模式
6    重启

查看运行级别:runlevel

修改运行级别:
  临时修改:init 6 (重启)
  永久修改:编辑/etc/inittab文件

7 ./etc/rc.local 文件开机自启动命令

配置信息:
开机自启动的软件或命令

查看Linux开机自启动软件或命令:

①    chkconfig
②    cat /etc/rc.local

8 ./etc/bashrc 别名的存放位置

配置信息:
别名

说明:
家目录的配置路径为~/.bashrc

9 ./etc/profile 别名

配置信息:
别名与环境变量

举例:
如修改rm的别名,或修改PS1的环境变量,需要在此配置文件下添加,添加后,source生效

10./etc/issue 文件在用户登陆之前显示
11./etc/motd 文件在用户登陆之后显示

 

/proc目录

这是一个详细讲解的连接->传送门

/proc/cpuinfo

 
 #查看系统cpu信息
 processor : 0 第几个核心 
 physical id : 0 第几颗CPU
 
 #也可通过lscpu查看

/proc/meminfo

#查看系统内存信息
cat /proc/meminfo

#也可通过free –h查看

/proc/loadavg

查看系统平均负载信息  
分别显示最近1分钟、5分钟、15分钟的平均负载
一般平均负载大于单个CPU核心数量时,认为系统负载大

也可通过`uptime`,`w`命令查看

/proc/mounts

查看系统的挂载信息

挂载光盘过程:
将光盘插入光驱或虚拟光驱后,执行
mount /dev/cdrom /mnt 将光盘挂载在mnt目录

卸载光盘:
umount /mnt 可将挂载的光盘卸载

 

/usr目录

/usr/local/ 编译安装软件的默认的位置   ==   windows:(C:\program files\ )

首先注意usr 指 Unix System Resource,而不是User

然后通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变
/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件

①yum安装
安装方法:yum install -y
查看已经安装了哪些包:yum grouplist

②rpm安装
安装命令:rpm -ivh 
查看安装包:rpm -qa
查找包里的内容:rpm -ql

③编译安装
./configure
make
make install

 

/var目录

详细讲解/var目录->传送门

/var/log/messages     系统默认的日志

包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中

/var/log/secure 用户的登录信息

谁 什么时候 登录系统 是否成功
不要用cat 去查看 --- 日志信息太大,用cat会卡,或者一直运行停不下来
多用: head tail grep less

/var/log/dmesg     — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
/var/log/auth.log   — 包含系统授权信息,包括用户登录和使用的权限机制等。
/var/log/boot.log   — 包含系统启动时的日志。
/var/log/daemon.log  — 包含各种系统后台守护进程日志信息。
/var/log/dpkg.log   — 包括安装或dpkg命令清除软件包的日志。
/var/log/kern.log   — 包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog   — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
/var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
/var/log/user.log   — 记录所有等级用户信息的日志。
/var/log/Xorg.x.log  — 来自X的日志信息。
/var/log/alternatives.log — 更新替代信息都记录在这个文件中。
/var/log/btmp     — 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
/var/log/cups     — 涉及所有打印信息的日志。
/var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
/var/log/yum.log   — 包含使用yum安装的软件包信息。
/var/log/cron     — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。
/var/log/secure    — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
/var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
/var/log/faillog   – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。