Linux文件系统结构树:
目录中颜色的含义:
- 青色:
指向另外一个位置,软连接
ls显示文件夹中的文件链接指向位置:ls folder/ -l - 蓝色:
一个文件夹 - 绿色:
可执行文件 - 红色:
特殊可执行文件 - 白色:
普通文件 - 查看文件夹中文件总数:
ls | wc -l
目录的功能:
linux中不存在盘符概念,所有分区都挂载到根目录下的某个目录。
目录是一个特殊的文件。
目录名称对大小写敏感。
- /:根目录
- /bin:包含常用命令
用户bin:/bin,/usr/bin,/usr/local/bin
系统bin:/sbin,/usr/sbin,/usr/local/sbin - /media,/mnt:挂载点
/media为系统自动挂载点。
/mnt为用户自定义挂载点。 - /etc:相当于注册表
- /tmp,/var/tmp:临时文件
- /boot:存放kernel、驱动和引导程序
- /var:存放业务数据(email、web等)
- /lib,/lib64:32位和64位库文件
- /proc,/sys:不是目录
是内存中的微型文件系统,这两个目录在文件系统中的入口。
/proc:只读的内核可视化接口,可读取硬件信息。
/sys:可读写的内核可视化接口。
Inodes:节点表
ext文件系统使用节点表存放每个文件的文件元数据:
- file metadata:文件元数据的三个作用
- 指向文件的内容
- 指向文件所在目录(.代表当前目录…代表当前目录的父目录)
- 描述文件的链接
目录的功能是将文件名映射为节点号,供计算机读取。
描述文件的信息:从前到后依次代表
- 文件系统标识符:
-:正规文件
d:目录
l:软连接
b:块设备(通常带很大缓存,硬盘)
c:字符设备(键盘)
p:命名管道
s:socket - 权限
- 链接数(描述在操作系统中有多少目录指向这个目录)
- 归属用户
- 归属组
- 文件大小
- 最后修改日期
- 文件/目录名称
stat 查看文件的元数据:
access:文件最后访问时间
modify:文件最后修改时间
change:文件元数据最后修改时间
文件cp的过程:
创建文件需要节点表有空余、文件数据区域有空余。
- 从节点表中申请一个空余。
- 在目录中新建一个入口(dentry)。
- 将真正的文件复制到指定位置。
文件mv的过程:
- 重命名:
在目录文件中将旧文件名修改为新文件名。 - 剪切到其他目录:
- 从目标目录的节点表中申请一个空余。
- 在目录中新建一个入口(dentry)。
- 将源文件从源目录复制到指定位置。
- 将源文件重源目录删除。
- 同一个文件系统中mv不需要数据块迁移。
文件rm的过程:
从节点表中将相应信息删除。
文件只是在文件系统中删除,文件本身没有删除。
shred:粉碎文件,先将数据覆盖为0。之后rm删除。
文件连接:
硬连接:不常用
ln 源文件 连接文件名称
硬连接只能在同一文件系统内使用。
让文件在文件系统中有若干个入口。可以在任何位置,任何文件名。
软连接:
类似于windows的快捷方式。软连接将文件重定向到新的文件。
- 创建软连接:
ln -s 源文件名称 软连接名称
如果连接的源文件被删除,连接文件将显示为红色
检查剩余空间:
ext文件系统,硬盘快满时对文件系统伤害很大。
-h选项:占用空间以便于人类阅读的方式展现
du:统计目录大小
du -sh /etc //统计etc目录占用的总空间
du -sh /etc/* //统计etc目录中每个文件占用的空间
df:查看文件系统的使用状态
df -Th //显示文件系统类型
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 50G 9.6G 41G 20% /
devtmpfs devtmpfs 32G 0 32G 0% /dev
tmpfs tmpfs 32G 172K 32G 1% /dev/shm
tmpfs tmpfs 32G 3.3G 29G 11% /run
tmpfs tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/md126p1 xfs 495M 159M 337M 33% /boot
/dev/mapper/centos-home xfs 1.7T 73G 1.6T 5% /home
10.1.1.2:/mnt/nas nfs 26T 80G 26T 1% /mnt/nas
tmpfs tmpfs 6.3G 16K 6.3G 1% /run/user/42
tmpfs tmpfs 6.3G 0 6.3G 0% /run/user/0
- 第一列:物理/逻辑设备名称
- 第二列:文件系统类型(常见的类型有:ext3、ext4、xfs、nfs等)
- 第三列:总容量
- 第四列:已使用容量
- 第五列:可用容量
- 第六列:容量使用率
- 第七列:挂载点
文件系统操作常用命令:
cd:改变目录
cd .. //返回上一层目录
cd / //切换到根目录
cd ~ //当前用户home目录
cd - //回到刚才的目录
ls:列出文件
ls -l //详细信息(等同于”ll“命令)
ls -a //显示隐藏文件
l. //只显示隐藏文件
ls -d */ //只查看目录
ls -R //显示目录的所有子目录
ls -ld //查看目录自身
ls -i //显示目录节点号
cp:复制
源可以有多个,目的只能有一个。
如果目的地不存在,系统会认为是重命名文件操作。
cp 源1 源2 … 目的目录 //拷贝操作
cp 文件1 . //拷贝到当前目录(当前目录可用.或./表示)
cp 文件1 newfile //拷贝到当前目录,并且命名为newfile
mv:剪切
mv命令也常用语重命名文件。
mv 文件1 文件2 //将文件1重命名为文件2
mv 源1 源2… 目的目录 //剪切文件
touch:创建空文件
touch 文件名 //创建文件或更新已有文件修改时间
rm:删除
*为通配符
rm -f //强制删除
rmdir //删除目录和其中文件
rm -r //删除目录和其中文件
rm -I //删除之前询问
mkdir:创建目录
mkdir 目录名 //创建目录
ln:连接
ln 源文件 连接文件名称,硬链接
ln -s 源文件名称 连接文件名称,软连接
file:判断文件类型
file 文件 //判断文件类型
file -s 文件 //确定设备中文件系统类型