佳豪哥哥教你学Linux的第十一天

千金一刻莫空度,老大无成空自伤。这篇文章主要讲述佳豪哥哥教你学Linux的第十一天相关的知识,希望能为你提供帮助。
?文件的属性及类型?文件属性

[root@localhost ~]# ll
- rw-r--r-- 1 root root 56479 Mar 25 10:11 blog.driverzeng.com_access.log
d rwxr-xr-x 2 root root 6 Mar 29 08:39 zls
# 以空格为分隔符第一列:
文件的类型
-:普通文件 touch
d:directory 目录 mkdir
l:link 软链接文件(windows快捷方式) ln
-----------------------------------------------------------
c:设备文件(char字符设备文件)和字符相关的设备,举例:打印机,终端
b:设备文件(block块设备文件)和存储相关的设备,举例:硬盘,U盘,磁盘分区
s:socket安全套接字文件,网络编程
p:pipe管道文件,父进程与子进程之间的通信文件
# 以空格为分隔符第二列:
文件的权限:Permission denied(权限被拒绝)
rw- r-- r--
rwx rwx rwx
r:read 读
w:write 写
x:exec 执行
-:该权限位上没有权限
# 以空格为分隔符第三列:
指该文件的硬链接数
# 以空格为分隔符第四列:
该文件的属主
# 以空格为分隔符第五列:
该文件的属组
# 以空格为分隔符第六列:
该文件的大小
# 第七列
文件的创建时间
# 最后一列
文件名

文件类型查看命令
file
## 语法:
file [选项] 文件...
[root@wu ~]# file blog.driverzeng.com_access.log
blog.driverzeng.com_access.log: ASCII text, with very long lines
[root@wu ~]# file salary.txt
salary.txt: UTF-8 Unicode text

[root@wu ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b, stripped

系统的链接文件一个文件在Linux中,会被分为两部分:
  • 真实数据:文件中的真实内容
  • 元数据:用来形容一个文件数据
一个文件在Linux中,存储也会被分为两部分:
  • inode:用来存储,文件的元数据
  • block:用来存储,文件的真实数据,一个block是4k

## 查看磁盘空间
df
## 选项
-h:human人类可读
-i:查看inode空间

## 举例
# 查看磁盘的block
[root@wu ~]# df -h
FilesystemSizeUsed Avail Use% Mounted on
/dev/sda319G1.3G18G7% /
devtmpfs476M0476M0% /dev
tmpfs487M0487M0% /dev/shm
tmpfs487M7.7M479M2% /run
tmpfs487M0487M0% /sys/fs/cgroup
/dev/sda1497M120M378M25% /boot
tmpfs98M098M0% /run/user/0


# 查看磁盘的inode
[root@wu ~]# df -hi
FilesystemInodes IUsed IFree IUse% Mounted on
/dev/sda39.3M33K9.3M1% /
devtmpfs119K377119K1% /dev
tmpfs122K1122K1% /dev/shm
tmpfs122K708121K1% /run
tmpfs122K16122K1% /sys/fs/cgroup
/dev/sda1250K326250K1% /boot
tmpfs122K1122K1% /run/user/0

链接文件的种类
  • 软连接文件
软连接相当于windows的快捷方式,软连接文件会将inode指向源文件的block?

ls
-i:查看该文件的inode号

## 创建软链接的命令
ln:link 链接,创建链接文件
-s:soft 软,创建软链接文件
ln -s 源文件 链接文件的位置

[root@wu ~]# ln -s /root/1.txt /tmp/
[root@wu ~]# ll /tmp/
total 16
lrwxrwxrwx.1 root root11 Mar 29 18:45 1.txt -> /root/1.txt

[root@wu ~]# ln -s /root/1.txt /tmp/
[root@wu ~]# ll /tmp/
total 16
lrwxrwxrwx 1 root root 11 Mar 29 10:54 1.txt -> /root/1.txt
lrwxrwxrwx 1 root root 11 Mar 29 10:55 2.txt -> /root/1.txt


# 1.软链接文件,会受到源文件的影响,如果源文件删除,软链接文件也无法使用
[root@wu ~]# cat /tmp/1.txt
123456
a
[root@wu ~]# cat /tmp/2.txt
123456
a
[root@wu ~]# cat /root/1.txt
123456
a
[root@wu ~]# rm -f /tmp/1.txt
[root@wu ~]# cat /tmp/2.txt
123456
a
[root@wu ~]# cat /root/1.txt
123456
a
[root@wu ~]# rm -f /root/1.txt
[root@wu ~]# cat /tmp/2.txt
cat: /tmp/2.txt: No such file or directory
[root@wu ~]# ll /tmp/2.txt
lrwxrwxrwx 1 root root 11 Mar 29 10:55 /tmp/2.txt -> /root/1.txt


  • 硬链接文件
若一个inode号对应多个文件名,则称这些文件为硬链接。换句话说,硬链接就是同一个文件使用了多个别名

## 创建硬链接的命令
ln
ln 源文件 链接文件的位置
[root@wu ~]# ln /root/info.txt /opt/
[root@wu ~]#ln /root/info.txt /opt/info1.txt

## 查看
[root@wu ~]# ls -li /root/info.txt
33597435 -rw-r--r--. 3 root root 19 Mar 29 19:13 /root/info.txt
[root@wu ~]# ls -li /opt/info.txt
33597435 -rw-r--r--. 3 root root 19 Mar 29 19:13 /opt/info.txt
[root@wu ~]# ls -li /opt/info1.txt
33597435 -rw-r--r--. 3 root root 19 Mar 29 19:13 /opt/info1.txt

## 查看文件内容
[root@wu ~]#cat /root/info.txt
wujiahao
dashuaige
[root@wu ~]# cat /opt/info.txt
wujiahao
dashuaige
[root@wu ~]#cat /opt/info1.txt
wujiahao
dashuaige

## 特性
1.硬链接文件,不会受到原文件的影响
2.所有硬链接文件的inode号与源文件相同
3.修改一个文件,其他文件都会改变
4.不允许给目录创建硬链接
5.默认情况下,新创建的目录,有两个硬链接,一个是目录本身,一个是该目录下的.目录

硬链接和软链接的区别
企业面试题当前磁盘空间还剩余500G,但是就无法往里面写入数据,报错,磁盘空间满了。
# 1.首先磁盘存储被划分为两块
inode:存储文件的元数据
block:存储文件的真实数据
# 2.在问题当中剩余500G,这500G指的是block
# 3.应该是inode被占满了
# 4.这种情况,一般是系统中,小文件太多导致的
# 5.找到系统中的小文件(没用的),并删除
##### 使用find命令

思维导图【佳豪哥哥教你学Linux的第十一天】

    推荐阅读