美文网首页
Day6 文件类型与文件链接

Day6 文件类型与文件链接

作者: 梦幻新阳 | 来源:发表于2019-07-31 14:32 被阅读0次

    今天学习的主要内容:

    1.使用ls -l 查看的详细信息,每一列都是干什么的,
    2.文件类型,怎么精准定位一个文件到底是什么类型的,
    3.链接文件,
    4.命令的执行流程,

    1.文件属性

    -rw-r--r--. 1 root root 672 Jul 30 15:28 1.txt
    -rw-r--r--. 1 root root 56M Jul 30 15:31 access.log.0
    -rw-r--r--. 1 root root 2.5K Jun 16 2018 Centos-7.repo
    -rw-r--r--. 1 root root 3.5K Jul 25 17:57 day2.txt
    -rw-r--r--. 1 root root 0 Jul 29 14:12 file
    -rw-r--r--. 1 root root 0 Jul 29 14:24 file1

    第一列第一个字符 表示文件类型--->
    rw-r--r-- 权限
    1 这个文件被链接次数
    root 文件的拥有者(用户)
    root 文件的拥有组(用户组 ==>家族)
    672 文件大小
    Jul 31 08:49 文件的日期,以及创建的文件的时间
    1.txt 文件名称

    2.文件类型

    [root@oldboy ~]# ll -d /etc/hosts /tmp /bin/ls /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log
    -rwxr-xr-x. 1 root root 117680 Oct 31 2018 /bin/ls
    srw-rw-rw-. 1 root root 0 Jul 31 10:50 /dev/log
    brw-rw----. 1 root disk 8, 0 Jul 31 10:51 /dev/sda
    crw--w----. 1 root tty 4, 1 Jul 31 10:51 /dev/tty1
    lrwxrwxrwx. 1 root root 22 Jul 26 20:42 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
    -rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts
    drwxrwxrwt. 15 root root 4096 Jul 31 11:23 /tmp

    - 文件 (普通文件 图片 压缩包)
    s socket 本地进程与进程间的一种通信方式 (mysql)
    b 块设备文件 (硬盘 光盘 分区)
    c 字符设备 用于提供用户的输入与输出
    l 链接文件 类似windows的快捷方式
    d 目录 类似windows的文件夹

    对于一些文件无法精准的区分类型, 可以使用file命令查看

    1.无法精准判断这个文件到底是什么类型

    [root@oldboy ~]# ll /bin/ls 1.txt access.log
    -rw-r--r--. 1 root root 672 Jul 30 15:28 1.txt
    -rw-r--r--. 1 root root 58112885 Jul 30 15:31 access.log
    -rwxr-xr-x. 1 root root 117680 Oct 31 2018 /bin/ls

    2.使用file能精准查看出文件是什么类型

    [root@oldboy ~]# file /bin/ls 1.txt access.log
    /bin/ls: ELF 64-bit LSB executable, x86-64, ve rsion 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b, stripped
    1.txt: ASCII text
    access.log: ASCII text, with very long lines

    因为Linux不区分后缀, 后缀通常都是用来表示的,为了方便我们自己好识别

    3.链接文件

    1.软链接 (类似于WIndows的快捷方式)
    软链接使用场景 (很少对文件做软连接)
    1.软件升级 软件回退

    [root@oldboyedu.com~]# mkdir qq_v1.1
    [root@oldboyedu.com~]# ln -s /root/qq_v1.1/ /root/qq

    升级

    [root@oldboyedu.com~]# mkdir qq_v1.2
    [root@oldboyedu.com~]# rm -f /root/qq && ln -s /root/qq_v1.2/ /root/qq

    回退

    rm -f qq && ln -s /root/qq_ v1.1/ /root/qq
    2.代码升级 秒级回退
    3.不方便移动的目录
    . 硬链接 ln /root/file /root/file_hard

    5.硬链接与软链接区别

    1)ln命令创建硬链接,ln -s命令创建软链接
    2)目录不能创建硬链接,并且硬链接不可以跨越分区系统。
    3)目录软链接特别常用,并且软链接支持跨越分区系统。
    4)硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
    5)删除软链接文件,对源文件及硬链接文件无任何影响。
    6)删除文件的硬链接文件,对源文件及链接文件无任何影响。
    7)删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
    8)删除源文件及其硬链接文件,整个文件会被真正的删除。

    软链接与硬链接的区别?

    1.软连接就是一个快捷方式,删除软连接不会影响源文件.
    2.硬链接,类似于一个文件副本,删除硬链接不影响原文件,只有删除所有的硬链接及其源文件,这个文件才算彻底被删除.

    4.命令执行流程[扩展了解]

    1.当我们执行一个命令, 整个命令执行流程如下:
    1) 判断命令是否通过绝对路径执行
    2) 判断命令是否存在alias别名
    3) 判断用户输入的是内置命令还是外置命令
    4) Bash内部命令直接执行,外部命令检测是否存在缓存

    5) 通过$PATH变量查找命令,有执行,无报错 command not found
    绝对路径-->alias--->hash缓存-->$PATH变量路径--->有执行--->没有command not found

    今日总结

    1.文件的属性

    怎么看    ls -l
    

    2.文件的类型

    -     文件 ( 不一定)
    d     目录
     s    套接字文件 本地进程与进程之间的通讯
     l     链接文件
     c    字符设备 接收用户的输入,和系统返回的输出结果
     b     块设备 (硬盘 分区 光盘 ....)
    

    3.如何确定文件是什么类型

     file命令
     PS: linux不严格区分文件的后缀,仅仅只是为了我们好识别.
    

    4.文件链接

     inode 索引(权限 属性 大小 唯独没有文件名) ----> block 真实数据
     软链接 多个不同的inode指向同一个block
     硬链接 多个相同的inode指向同一个block (不支持目录 也不支持跨分区)
    

    相关文章

      网友评论

          本文标题:Day6 文件类型与文件链接

          本文链接:https://www.haomeiwen.com/subject/jvizrctx.html