zoukankan      html  css  js  c++  java
  • Linux基础-文件属性,文件类型,软硬链接

    一, Linux文件属性

    ls -l filename -- 看第一个字符

    格式:
    - : 普通文件(文本文件,二进制文件,压缩文件,图片文件等)
    d : 目录文件(深蓝色)
    b : 设备文件(块设备)存储设备硬盘 /dev/sda /dev/sda1
    c : 设备文件(字符设备)打印机,终端 /dev/tty1 /dev/zero
    s : 套接字文件,进程间通信
    p : 管道文件
    l : 链接文件(浅蓝色)

    ls -lhi
    -l 长格式
    -h 人性化
    -i inode,i节点
    -d 查看目录自身信息

    [root@bogon ~]# ls -ldh ssx-test/
    drwxr-xr-x 2 root root 42 Mar 9 02:33 ssx-test/
    [root@bogon ~]# ls -lh ssx-test/
    total 4.0K
    -rw-r--r-- 1 root root 0 Mar 9 02:32 1
    -rw-r--r-- 1 root root 0 Mar 9 02:32 3.txt
    -rw-r--r-- 1 root root 1.3K Mar 9 02:33 passwd
    [root@bogon ~]# ls -ilh ssx-test/
    total 4.0K
    33574994 -rw-r--r-- 1 root root 0 Mar 9 02:32 1
    33575028 -rw-r--r-- 1 root root 0 Mar 9 02:32 3.txt
    33678691 -rw-r--r-- 1 root root 1.3K Mar 9 02:33 passwd
    [root@bogon ~]#

    inode
    源自于文件系统
    分区
    平面设计图
    格式化
    施工
    文件系统
    windows
    NTFS
    FAT32(淘汰)
    允许的单个文件大小不超过4G
    Linux
    ext4
    xfs

    inode包含文件的元信息,具体来说有以下内容:
    1. 文件的字节数
    2. 文件拥有者的User ID
    3. 文件的Group ID
    4. 文件的读,写,执行权限
    5. 链接数,既有多少文件名指向这个inode
    6. 文件数据block的位置

    [root@bogon ssx-test]# df -ih
    Filesystem Inodes IUsed IFree IUse% Mounted on
    /dev/mapper/centos-root 8.5M 71K 8.5M 1% /
    devtmpfs 119K 387 119K 1% /dev
    tmpfs 122K 1 122K 1% /dev/shm
    tmpfs 122K 740 122K 1% /run
    tmpfs 122K 16 122K 1% /sys/fs/cgroup
    /dev/sda1 512K 326 512K 1% /boot
    tmpfs 122K 1 122K 1% /run/user/0
    [root@bogon ssx-test]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/centos-root 17G 1.7G 16G 10% /
    devtmpfs 476M 0 476M 0% /dev
    tmpfs 488M 0 488M 0% /dev/shm
    tmpfs 488M 7.7M 480M 2% /run
    tmpfs 488M 0 488M 0% /sys/fs/cgroup
    /dev/sda1 1014M 132M 883M 14% /boot
    tmpfs 98M 0 98M 0% /run/user/0
    [root@bogon ssx-test]#

    注意:
    磁盘满了有两种可能:
    a. 很多大文件,占满了空间(常见)
    b. 小文件(空文件等)太多,每个文件都会有一个inode信息,磁盘上的inode节点数
    量是有限的,inode节点过多也会占满磁盘空间

    补充:
    [root@bogon ~]# du -sh ssx-test/
    4.0K ssx-test/
    [root@bogon ~]# du -sh ssx-test/*
    0 ssx-test/1
    0 ssx-test/3.txt
    4.0K ssx-test/passwd
    [root@bogon ~]#

    二,文件类型

    注意:
    Linux文件扩展名不代表任何含义,仅为了好识别
    通过颜色或者后缀判断文件类型不一定准确

    查看文件类型的命令 -- file
    [root@bogon ssx-test]# ll
    total 25628
    -rw-r--r-- 1 root root 14029671 Sep 11 10:34 08_python_fullstack_s15day33_?叱????芙?.mp4
    -rw-r--r-- 1 root root 0 Mar 9 02:32 1
    -rw-r--r-- 1 root root 0 Mar 9 06:32 10.rmvb
    -rw-r--r-- 1 root root 0 Mar 9 06:32 11.docx
    -rw-r--r-- 1 root root 188550 Mar 4 10:21 ???图片_20190304102144.jpg
    -rw-r--r-- 1 root root 0 Mar 9 06:30 2.mp3
    -rw-r--r-- 1 root root 0 Mar 9 06:30 3.mp4
    -rw-r--r-- 1 root root 0 Mar 9 02:32 3.txt
    -rw-r--r-- 1 root root 0 Mar 9 06:30 5.jpg
    -rw-r--r-- 1 root root 0 Mar 9 06:31 6.sh
    -rw-r--r-- 1 root root 0 Mar 9 06:31 7.avi
    -rw-r--r-- 1 root root 0 Mar 9 06:31 8.png
    -rw-r--r-- 1 root root 0 Mar 9 06:32 9.zip
    -rw-r--r-- 1 root root 1252 Mar 9 02:33 passwd
    drwxr-xr-x 2 root root 6 Mar 9 06:41 test
    drwxr-xr-x 2 root root 6 Mar 9 06:41 test1
    drwxr-xr-x 2 root root 6 Mar 9 06:41 test2
    -rw-r--r-- 1 root root 188550 Mar 4 10:21 test.jpg
    -rw-r--r-- 1 root root 11818011 Mar 9 06:44 test.tgz
    [root@bogon ssx-test]# file 08_python_fullstack_s15day33_线程锁总结.mp4
    08_python_fullstack_s15day33_线程锁总结.mp4: ISO Media, MPEG v4 system, version 1
    [root@bogon ssx-test]# file test.tgz
    test.tgz: gzip compressed data, from Unix, last modified: Sat Mar 9 06:44:49 2019
    [root@bogon ssx-test]# file test.jpg
    test.jpg: JPEG image data, JFIF standard 1.01
    [root@bogon ssx-test]# file 3.txt
    3.txt: ASCII text
    [root@bogon ssx-test]# file 6.sh
    6.sh: empty
    [root@bogon ssx-test]#

    三,软硬链接

    1. 软连接
      Linux里的软链接文件类似于Windows系统中的'快捷方式',里边具体存放的是源文件的路径,并指向源文件实体,因此通过访问这个'快捷方式'可以迅速访问到源文件.软链接的文件类型是l.
      我们只需要执行命令'ln -s 源文件 软连接文件'完成软链接创建

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

    [root@localhost ssx-test]# touch 2.txt
    [root@localhost ssx-test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Mar 11 06:04 2.txt
    [root@localhost ssx-test]# ln -s 2.txt 2_tmp.txt
    [root@localhost ssx-test]# ll
    total 0
    lrwxrwxrwx 1 root root 5 Mar 11 06:04 2_tmp.txt -> 2.txt
    -rw-r--r-- 1 root root 0 Mar 11 06:04 2.txt
    [root@localhost ssx-test]#

    目录软链接示例

    [root@localhost ssx-test]# mkdir test
    [root@localhost ssx-test]# ll
    total 0
    drwxr-xr-x 2 root root 6 Mar 11 06:07 test
    [root@localhost ssx-test]# ln -s test test_temp
    [root@localhost ssx-test]# ll
    total 0
    drwxr-xr-x 2 root root 6 Mar 11 06:07 test
    lrwxrwxrwx 1 root root 4 Mar 11 06:11 test_temp -> test
    [root@localhost ssx-test]#

    生产环境下软链接作用:
    1. 软件升级
    2. 企业代码发布
    3. 不方便目录移动
    注意:
    1. 软链接要使用绝对路径
    2. 软链接既可以对文件也可以对目录

    1. 硬链接
      Linux文件系统中,多个文件名执行同一个索引节点(inode)是正常允许的(文件的多个有效的入口),这种情况的文件称为硬链接.通过执行'ln 源文件 硬链接文件'给文件设置硬链接,来防止重要文件误删.
      注意:
      目录不能创建硬链接,硬链接文件可以使用rm命令删除

    2. 软硬链接区别
      Linux下软链接和硬链接的区别:

      1. ln命令创建硬链接,ln -s命令创建软链接
      2. 目录不能创建硬链接,并且硬链接不可以跨越分区系统
      3. 目录软链接特别常用,并且软链接支持跨越分区系统
      4. 硬链接文件与源文件的inode相同,软链接文件与源文件inode不同
      5. 删除软链接文件,对源文件以及硬链接文件无任何影响
      6. 删除文件的硬链接文件,对源文件及链接文件无任何影响
      7. 删除链接文件的源文件,对硬链接无影响,会导致软链接失效
      8. 删除源文件及其硬链接文件,整个文件会被真正的删除
  • 相关阅读:
    计蒜客 跳跃游戏2
    计蒜客 跳跃游戏
    2018 计蒜之道-初赛 第一场 A-百度无人车
    poj 3625 (最小生成树算法)
    poj 3623(贪心)
    poj2386(dfs搜索水题)
    poj 2761 主席树的应用(查询区间第k小值)
    POJ 2456 编程技巧之------二分查找思想的巧妙应用
    POJ 1995(有关快速幂运算的一道水题)
    1441:【例题2】生日蛋糕
  • 原文地址:https://www.cnblogs.com/s-sx/p/11845810.html
Copyright © 2011-2022 走看看