一、文件管理概述
谈及到 Linux 文件管理,首先我们需要了解的就是,我们要对文件做些什么事情?其实无非就是对一个文件进行创建、复制、移动、查看、编辑、压缩、查看、删除等等
二、系统目录结构
首先我们知道 Linux 的目录结构为树状结构,最顶级的目录为根目录 /
,其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们,以此类推形成了树状的文件结构,由于其结构很像一棵树的分支,所以该结构又被成为“目录树”。不过在刚开始我们需要了解什么是绝对路径与相对路径
- 绝对路径:路径的写法,由根目录
/
写起,例如/usr/share/doc
这个目录 - 相对路径:路径的写法,不是由根目录
/
写起,例如/usr/share/doc
要到/usr/share/man
底下,可以写成cd ../man
这就是相对路径的写法
了解完了绝对路径和相对路径,我们需要了解一下 CentOS 的目录结构
三、常见的文件目录
1. 存放命令相关的目录
方法 | 说明 |
---|---|
/bin |
普通用户使用的命令:/bin/ls ,/bin/date |
/sbin |
管理员使用的命令:/sbin/service,poweroff,useradd... |
所以看见 bin 路径,就应该意识到存放的是可执行文件
2. 存放用户相关数据的家目录
例如:在 Windows 中不同的用户登录系统显示的桌面壁纸不一样
方法 | 说明 |
---|---|
/home |
普通用户的家目录,默认为 /home/username |
/root |
超级管理员 root 的家目录,普通用户无权操作 |
注意:环境变量中的东西千万不要删掉,否则会出现一些不可预知的错误
3. 系统文件目录
方法 | 说明 |
---|---|
/usr |
相当于 Windows 中 C:Windows |
/usr/local |
软件安装的目录,相当于 C:Program |
/usr/bin |
普通用户使用的应用程序(重要) |
/usr/sbin |
管理员使用的应用程序(重要) |
/usr/lib |
库文件 Glibc 32bit |
/usr/lib64 |
库文件 Glibc 64bit |
[root@contos7 ~]# df -h # 查看系统中文件的使用情况
[root@contos7 ~]# df Size /dev/sda3 # 分割区的总容量
[root@contos7 ~]# du -sh # 查看当前目录下各个目录文件及目录占用空间大小
4. 启动目录
/boot
存放的系统启动相关的文件,例如:kernel,grub(引导装载程序)
ls /boot # Linux 内核,启动机器时可以选择启动模式
其中两个绿色的文件就是我们启动系统时,选择的启动模式
5. 配置文件目录
方法 | 说明 |
---|---|
/etc |
极其重要,后续所有服务的配置都在这个目录中 |
/etc/sysconfig/network-script/ifcfg- |
网络配置文件 |
/etc/hostname |
系统主机名配置文件,主机名很重要 有些特殊服务要依赖主机名,没有主机名会报错起不来修改了要重启:reboot |
/etc/resolv.conf |
dns 客户端配置文件,域名解析服务器,一般我们不配置 因为网卡的配置好了,会覆盖掉他,网卡的优先级高 |
/etc/hosts |
本地域名解析配置文件,域名解析,先找到自己的 hosts,再去域名解析 |
/etc/hosts 对应 Windows 中的 C:Windows/system32/drivers/etc/hosts 黑客钓鱼网站
6. 可变的目录与临时目录
方法 | 说明 |
---|---|
/var |
存放一些变化文件,比如 /var/log/ 下的日志文件,登录日志 |
/var/tmp |
进程产生的临时文件 |
/tmp |
系统临时目录(类似于卫生间),谁都可以使用 |
# 查看登录日志
[root@contos7 ~]# cat /var/log/secure
7. 设备目录文件
方法 | 说明 |
---|---|
/dev |
存放设备文件,比如硬盘,硬盘分区,光驱等等 |
/dev/sd |
硬件设备 |
/dev/null |
黑洞设备,只进不去。类似于垃圾回收站 |
/dev/random |
生成随机数的准备 |
/dev/zero |
能源源不断地产生数据,类似于取款机,随时随地取钱 |
# sda sdb sdc sda1 sdb4
在 Linux 中磁盘文件叫 sd,第一个硬盘叫 a,第二个叫 b
sda1 表示第一个磁盘的第一个分区,sdb4 表示第二个磁盘的第四个分区(服务可以插很多硬盘)
# 黑洞设备
[root@contos7 ~]# ls >/dev/null
# 生成随机数
[root@contos7 ~]# echo $RANDOM
# 源源不断取数据
[root@contos7 ~]# dd if=/dev/zero of=/opt/test.txt bs=1M count=1024
"""
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
if=文件名:输入文件名,缺省为标准输入。即指定源文件 < if=input file>
of=文件名:输出文件名,缺省为标准输出。即指定目的文件 < of=output file>
bs=bytes:同时设置读入/输出的块大小为 bytes 个字节
count=blocks:仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数
"""
8. 虚拟的文件系统
方法 | 说明 |
---|---|
/proc |
反映系统当前进程的实时状态:process |
PS:类似于小汽车的仪表板,能够看到汽车是否有故障,或者是否缺油了
[root@contos7 ~]# ls /proc # 可以看到很多 ID 号,pid 号,进程号都是唯一