Linux的文件属性图1

图1   linux的文件属性

ls -lhi

-l 长格式

-h 人性化

-i inodo

-d 看目录自己的信息

inode

源自于文件系统

分区

平面设计图

格式化

施工

文件系统

windows

NTFS

FAT32(淘汰)

允许的单个文件大小不超过4G

Linux

ext4

xft

inode包含文件的元信息,具体来说有以下内容

*文件的字节数

*文件拥有者的User ID

*文件的Group ID

*文件的读、写、执行权限

*

文件的时间戳,共有三个,ctime指inode上一次变动的时间,mtime指文件上一次变动的时间,atime指文件上一次打开的时间

*链接数,即有多少个文件名指向inode

*文件数据block的位置

[root@localhost ~]# ls -lhd /etc/

drwxr-xr-x. 75 root root 8.0K Oct 21 10:49 /etc/

[root@localhost ~]# du -sh /etc/

31M/etc/

df -ih

Linux系统文件类型

ls -l /tmp/test //看第一个字符

格式          说明

-    普通文件(文本文件,二进制文件,压缩文件,图片文件)

d    目录文件(深蓝色)

b    设备文件(块设备)存储设备硬盘 /dev/sda,/dev/sda1

c    设备文件(字符设备),终端/dev/tty1,/dev/zero

s    套接字文件,进程间通信

p    管道文件

l    链接文件(浅蓝色)

//示例

[root@localhost ~]# ls -ld /etc/hosts /tmp /bin/ls /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/systemd/initctl/fifo

-rwxr-xr-x. 1 root root 117608 Aug 20 14:25 /bin/ls

srw-rw-rw-  1 root root      0 Oct 21 08:40 /dev/log

brw-rw----  1 root disk   8, 0 Oct 21 08:41 /dev/sda

crw--w----  1 root tty    4, 1 Oct 21 08:41 /dev/tty1

lrwxrwxrwx. 1 root root     22 Oct 18 18:41 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

-rw-r--r--. 1 root root    158 Jun  7  2013 /etc/hosts

prw-------  1 root root      0 Oct 21 08:40 /run/systemd/initctl/fifo

drwxrwxrwt. 7 root root    211 Oct 21 12:00 /tmp

查看文件类型命令file

[root@localhost ~]# file /etc/hosts

/etc/hosts: ASCII text

[root@localhost ~]# file /tmp/

/tmp/: sticky directory

[root@localhost ~]# 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]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped

[root@localhost ~]# file /dev/sda

/dev/sda: block special

[root@localhost ~]# file /dev/log

/dev/log: socket

[root@localhost ~]# file /dev/tty1

/dev/tty1: character special

[root@localhost ~]# file /etc/grub2.cfg

/etc/grub2.cfg: symbolic link to `../boot/grub2/grub.cfg'

[root@localhost ~]# file /run/systemd/initctl/fifo

/run/systemd/initctl/fifo: fifo (named pipe)

注:

通过文件后缀跟颜色判断文件类型不一定准确

文件扩展名不代表任何含义,仅为了好识别

Linux系统链接文件

软链接

Linux里的软链接文件类似于Windows系统中的“快捷方式”里面具体存放的是源文件的路劲,并指向源文件实体,因此通过访问这个

“快捷方式”可迅速访问到源文件。软链接文件类型是l。

我们只需要执行命令“ln -s 源文件 软链接文件”完成软链接创建

注意:软链接和源文件是不同类型的文件,所以inode也不同

软链接实际应用示例 图2

图2       软链接现实生活应用图(例)

//文件软链接示例

[root@localhost ~]# ln -s 1.txt 1.txt.bak

[root@localhost ~]# ls -l 1.txt*

-rw-r--r-- 1 root root 26 Oct 21 15:42 1.txt

lrwxrwxrwx 1 root root  5 Oct 21 15:45 1.txt.bak -> 1.txt

//目录软链接演示

[root@localhost ~]# ln -s /etc/ etc.link

[root@localhost ~]# ls -lid /etc/ etc.link

16777281 drwxr-xr-x. 75 root root 8192 Oct 21 10:49 /etc/

33594255 lrwxrwxrwx   1 root root    5 Oct 21 15:51 etc.link -> /etc/

生产软链接的作用

1、软件升级

2、企业代码发布

3、不方便目录移动

注意:

软链接要使用绝对路径

软链接既可以对文件也可以对目录

硬链接

Linux文件系统中,多个文件名指向同一个索引节点(Inode)是正常且允许的(文件的多个有效的入口),这种

情况的文件称为硬链接。通过执行“ln 源文件 硬链接文件”给文件设置硬链接,来防止重要文件被误删。

注意:目录不能创建硬链接,硬链接文件可以用rm命令删除

硬链接与备份的区别  图三

图3               硬链接与备份的区别

//文件硬链接演示

ln 1.txt 1.txt.bak

[root@localhost ~]# ls -lid 1.txt*

33594220 -rw-r--r-- 2 root root 26 Oct 21 15:42 1.txt

33594256 lrwxrwxrwx 1 root root  5 Oct 21 16:27 1.txt.bak -> 1.txt

33594220 -rw-r--r-- 2 root root 26 Oct 21 15:42 1.txt.hard

Linux软链接与硬链接的区别

1、1n命令不能创建硬链接,ln-s命令创建软链接

2、目录不能创建硬链接,并且硬链接不能跨越分区系统

3、目录软链接特别常用,并且软链接支持跨越分区系统

4、硬链接文件与源文件的inode相同,软链接文件与源文件inode不同

5、删除软链接文件,对源文件及硬链接文件无任何影响

6、删除文件的硬链接文件,对源文件及链接文件无任何影响

7、删除链接文件的源文件,对源文件无影响,会导致软链接失效

8、删除源文件及其硬链接文件,整个文件会被真正的删除

linux文件系统与链接的更多相关文章

  1. 理解 Linux 的硬链接与软链接(待研究)

    从 inode 了解 Linux 文件系统 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux ...

  2. linux文件系统软链接硬链接

    引子 目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统).ext3.ext4.ZFS和Reiserfs等等. 不论哪一种文件系统,总是需要存储数据.硬盘的最小存储单位是扇 ...

  3. Linux文件系统简介和软链接和硬链接的区别

    Linux有着极其丰富的文件系统,大体可分为如下几类: 网络文件系统:如nfs.cifs等: 磁盘文件系统:如ext3.ext4等: 特殊文件系统:如prco.sysfs.ramfs.tmpfs等: ...

  4. 【Linux学习】Linux文件系统4—Linux文件硬链接与软连接

    Linux文件系统4-Linux文件硬链接与软连接 inode:索引节点 (连接文件)link 一.文件硬链接 1.Linux文件系统中,inode只相同的文件是硬链接文件 2.不同文件名,inode ...

  5. linux文件系统体系结构 和 虚拟文件系统(VFS)

    图 1. Linux 文件系统组件的体系结构 用户空间包含一些应用程序(例如,文件系统的使用者)和 GNU C 库(glibc),它们为文件系统调用(打开.读取.写和关闭)提供用户接口.系统调用接口的 ...

  6. Linux系统硬链接和软链接介绍

    1.链接的概念 在Linux系统中链接分为硬链接和软连接两种,一种为硬链接,另一种为软连接或符号链接(symbolic Link).ln命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建 ...

  7. Linux文件系统

    今天学习了Linux文件系统,现在来做个小总结. 首先Linux中一切都是文件,下面这个清单是Linux系统的顶层目录结构. 清单 1. Linux 系统的顶层目录结构 / 根目录 ├── bin 存 ...

  8. linux 文件系统简介

    linux文件系统简介   文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录.挂载基 ...

  9. linux文件系统节点详解

    linux文件系统有两层结构,逻辑结构和物理结构.也就是inode和block. 每个文件都有一个inode, 记录文件属性:权限,时间还有最重要的block号码. block是实际存放文件内容的地方 ...

随机推荐

  1. POJ 3911:Internet Service Providers

    Internet Service Providers Time Limit: 2MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I ...

  2. mnist lenet caffe 测试

    # -*- coding: utf-8 -*-import sysimport numpy as npimport structfrom PIL import Imageprint "hel ...

  3. 不使用.h .lib文件使用DLL内的函数

    #include <windows.h> typedef int (*Func)(const char *fmt, ...); //这里声明一个函数指针,typedef 关键字是必须的,好 ...

  4. tensorflow之最近邻算法实现

    最近邻算法,最直接的理解就是,输入数据的特征与已有数据的特征一一进行比对,最靠近哪一个就将输入数据划分为那一个所属的类,当然,以此来统计k个最靠近特征中所属类别最多的类,那就变成了k近邻算法.本博客同 ...

  5. java课程之团队开发之用户模板和用户场景

    用户模板与用户场景: 姓名:孙某 性别年龄:男 19岁 职业;学生 收入:无 知识层次能力:大学生,用电脑熟练. 生活/工作状况:正常进行上课,学霸. 动机目的,困难:喜欢依据自己的兴趣进行学习. 用 ...

  6. ArrayList扩容原理分析

    1:代码解读和分析 1.1:构造方法分析 1: public ArrayList(int initialCapacity) { ) { this.elementData = new Object[in ...

  7. docker入门2---docker的初体验

    Tomxin7 Simple, Interesting | 简单,有趣 第一个Docker镜像? 尝试运行docker自带的镜像"hello-world",了解docker镜像的下 ...

  8. 【leetcode困难】968. 监控二叉树

    968. 监控二叉树 瞎**分析评论区Rui大佬的答案,这题想直接递归return min还是有坑的,分计数和状态.有个状态转换的思想

  9. Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.postgresql.util.PSQLException: 栏位索引超过许可范围:2,栏位数:1

    执行mybaits sql <delete id="delete4BatchesByLineCi" parameterType="java.util.List&qu ...

  10. Django2.0——中间件

    Django中间件middleware本质是一个类,在请求到返回的中间,类中不同的方法会在指定的时机中被触发.setting.py的变量MIDDLEWARE_CLASSES中的每一个元素都是中间件,且 ...