文件属性是什么?

[root@luffy_boy-001 /]# ls -lhi /etc/hosts
129822 -rw-r--r--. 2 root root 198 Jan 11 2019 /etc/hosts

文件属性就是 ls  -lhi 命令输出结果每一列的含义

l   list one file per line
i --inode print the index number of each file
h --human-readable with -l, print sizes in human readable format
(e.g., 1K 234M 2G)
129822      # inode号码
- # 文件类型
rw-r--r--. # 文件的权限.(.与selinux有关)
2 # 文件硬链接数量
root # 主人
root # 家人
198 # 文件大小
Jan 11 2019 # 最后修改时间
/etc/hosts # 文件名不是文件的属性

inod和block简介

我们从获得一个硬盘,到可以向硬盘中存放数据,都经历了哪些阶段?

做一个比喻,把硬盘比作房子的话。

有房子----------------->买了个硬盘

划分隔断-------------->分区

装修-不同风格-------->格式化创建文件系统

安装门窗--------------->挂载

住人--------------------->存数据

inode

1、inode的含义

用来存放文件属性的空间

我们通过iNode号码来找到这个空间

inode号码----家庭住址
inode空间----家

文件名不存放在inode中。

2、inode怎么出来的

通过格式化创建文件系统,得到

3、inode的特点

  1. inode存放文件属性
  2. 存放block的位置(指向block的指针)
  3. 创建一个文件要占用一个inode
  4. inode节点号相同的文件,互为硬链接文件,可以认为是一个文件的不同入口
  5. inode在某一个文件系统(分区),是唯一的

4、怎么使用inode和查看

[root@luffy_boy-001 /]# df -i (系统里面inode用了多少,剩余多少)
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 462384 55433 406951 12% /
tmpfs 488562 1 488561 1% /dev/shm
/dev/sda1 51200 39 51161 1% /boot
/dev/sr0 0 0 0 - /mnt
[root@luffy_boy-001 /]# df -ih (-h人类可读)
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 452K 55K 398K 12% /
tmpfs 478K 1 478K 1% /dev/shm
/dev/sda1 50K 39 50K 1% /boot
/dev/sr0 0 0 0 - /mnt
[root@luffy_boy-001 /]# ls -ilh (查看某些文件的inode)
total 122K
143585 drwxr-xr-x. 3 root root 4.0K Jan 12 2019 app
29 dr-xr-xr-x. 2 root root 4.0K Jan 10 2019 bin
2 dr-xr-xr-x. 5 root root 1.0K Jan 10 2019 boot
143562 drwxr-xr-x. 2 root root 4.0K Jan 10 2019 data
143552 drwxr-xr-x. 3 root root 4.0K Jan 10 2019 data_bak
4 drwxr-xr-x. 20 root root 3.7K Jan 10 2019 dev
129795 drwxr-xr-x. 78 root root 4.0K May 20 01:08 etc
30 drwxr-xr-x. 3 root root 4.0K Jan 11 2019 home

block

1、block的含义

数据块,实际存放数据的位置

2、block是怎么来的

也是格式化创建文件系统

3、block的特点

  1. block是实际存放数据的位置
  2. block 默认4k(centos 6.x) 1k 8k
  3. 创建大文件会占用多个block,如果文件很小1k,4k剩余的空间会被浪费。
  4. 创建一个非空文件要占用一个inode和至少1个block
  5. 每读取一个block就会消耗一次磁盘I/O(input/output 磁盘读写)。

4、怎么使用和查看

[root@luffy_boy-001 /]# df -h  (查看磁盘block使用情况)
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.9G 1.5G 5.1G 22% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sr0 3.7G 3.7G 0 100% /mnt
[root@luffy_boy-001 /]# ls -lh
total 122K
drwxr-xr-x. 3 root root 4.0K Jan 12 2019 app
dr-xr-xr-x. 2 root root 4.0K Jan 10 2019 bin
dr-xr-xr-x. 5 root root 1.0K Jan 10 2019 boot
drwxr-xr-x. 2 root root 4.0K Jan 10 2019 data
drwxr-xr-x. 3 root root 4.0K Jan 10 2019 data_bak
drwxr-xr-x. 20 root root 3.7K Jan 10 2019 dev

oldboyfile寻宝

经典案例:磁盘空间不足

no space left on device磁盘空间不足-因为block满了。
seq 100000000 >/tmp/big
#第一个里程碑-看看到底哪里满了
[root@oldboyedu01-nb ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 8.8G 0 100% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot #第二个里程碑-是哪一个目录占得空间大,最终定位到目录或文件
[root@oldboyedu01-nb ~]#
[root@oldboyedu01-nb ~]# du -sh /*|grep G
1.1G /usr
7.4G /var
[root@oldboyedu01-nb ~]# du -sh /var/*|grep G
7.3G /var/log
[root@oldboyedu01-nb ~]# du -sh /var/log/*|grep G
7.3G /var/log/messages
[root@oldboyedu01-nb ~]# ls -lh /var/log/messages
-rw------- 1 root root 7.3G Oct 16 19:20 /var/log/messages
#第三个里程碑-问清楚是否可以删除,然后在操作。 【Y】企业案例:如果向磁盘写入数据提示如下错误:No space left on device(磁盘空间不足),通过df -h查看磁盘空间,发现没满,请问可能原因是什么?企业场景什么情况下会导致这个问题发生?
inode用光了。 模拟环境的命令。
mkdir -p /app/logs
dd if=/dev/zero of=/dev/sdc bs=8K count=10
ls -l /dev/sdc
mkfs.ext4 /dev/sdc mount -o loop /dev/sdc /app/logs [root@oldboyedu01-nb ~]# cd /app/logs/
[root@oldboyedu01-nb logs]# touch stu{1..6}.log
touch: cannot touch `stu6.log': No space left on device
[root@oldboyedu01-nb logs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.8G 1.6G 6.9G 19% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[root@oldboyedu01-nb logs]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 593344 58530 534814 10% /
tmpfs 488562 1 488561 1% /dev/shm
/dev/sda1 51200 39 51161 1% /boot
/dev/sdc 16 16 0 100% /app/logs

解决办法:删除一些不需要的文件,释放一些inode

linux文件类型和扩展名

常见文件类型的种类

- f    file           普通文件
  d   directory  目录
   l   softlink     软链接(快捷方式)

普通文件的分类

普通文件 都显示的是 - ,但是也是有区别的,怎么查看不同类型的普通文件呢?
[root@oldboyedu01-nb ~]# ls -l /tmp/etc.tar.gz /bin/ls /etc/hosts
-rwxr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls
-rw-r--r--. 2 root root 200 Sep 25 20:19 /etc/hosts
-rw-r--r-- 1 root root 9744299 Oct 20 2017 /tmp/etc.tar.gz

用file 查看文件详细类型
##二进制文件 命令
[root@oldboyedu01-nb ~]# 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.18, stripped ##文本文件
[root@oldboyedu01-nb ~]# file /etc/hosts
/etc/hosts: ASCII text ##数据文件 data
[root@oldboyedu01-nb ~]# file /tmp/etc.tar.gz
/tmp/etc.tar.gz: gzip compressed data, from Unix, last modified: Fri Oct 20 01:36:16 2017

Linux下面的扩展名

windows     windows下通过扩展名区分不同类型的文件。
linux           扩展名是用来给我们自己看的。就算手动修改或者添加了扩展名,他的文件类型还是不会改变

# 创建压缩包文件
[root@luffy_boy-001 ~]# tar zcf /oldbo_y.txt /oldboy/alex.txt
tar: Removing leading `/' from member names
# 查看文件
[root@luffy_boy-001 ~]# cat /oldboy.txt
Dz Y@P²'PؽF;MpM

Linux之文件属性的更多相关文章

  1. linux系统文件属性及企业精典故障案例

    linux系统文件属性: [root@nginx_back ~]# stat keepalived-1.2.7.tar.gz 查看文件属性 File: "keepalived-1.2.7.t ...

  2. linux系统文件属性

    1  硬链接概念 硬链接是指通过索引节点(Inode)来进行链接,在Linux(ext2,ext3)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(I ...

  3. linux系统文件属性-硬连接、软连接

    1 硬链接概念 硬链接是指通过索引节点(Inode)来进行链接,在Linux(ext2,ext3)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(In ...

  4. 八.linux系统文件属性知识

    1.文件属性权限是12位,现在只看9位,其中每3个一组,为:属主权限.属组权限.其他权限,其中r可读,w可写,x可执行,如图: 2.文件属性之软硬链接   linux系统中有两种链接,为硬链接(ln) ...

  5. 第四篇、linux系统文件属性三

    一.linux文件属性之文件权限体系介绍 二.linux中连接介绍 三.软连接 四.图解 五文件删除原理 主要内容

  6. linux中文件属性

    一. linux系统如何管理文件 1.1. 硬盘中的静态文件和inode a. 文件平时都在存放在硬盘中的,硬盘中存储的文件以一种固定的形式存放的,我们叫静态文件. b. 一块硬盘中可以分为两大区域: ...

  7. Linux之文件属性、权限

    Linux中的3种身份:1. owner(文件所有者) 2. group(用户组) 3. others(其他) Linux中的3中权限:1. r(可读) 2. w(可写) 3. x(可执行) * 所有 ...

  8. Linux的文件属性

    在Linux中,文件的拥有者可以将文件的属性设置成三种属性,可读(r).可写(w)和可执行(x).文件又分为三个不同的用户级别,文件的拥有者(u),文件的所属组(g),其他用户(o). 第一个字符显示 ...

  9. Linux 改变文件属性与权限

    常用的修改文件组或文件的命令有三个:chgrp.chown.chmod. 1 chgrp 改变文件所属的用户组 改变一个文件的用户组直接以chgrp来改变即可,这个命令时change group 的简 ...

随机推荐

  1. 操作失败: 无法更改关系,因为一个或多个外键属性不可以为 null

    报错:操作失败: 无法更改关系,因为一个或多个外键属性不可以为 null  . 同时修改主表和从表的数据,想用EF主表T_ReviewPlan中某个对象item删除item对应的从表T_ReviewS ...

  2. Java多线程之wait、notify/notifyAll 详解,用wait 和notifyAll 以及synchronized实现阻塞队列,多线程拓展之ReentrantLock与Condition

    前言:这几天看了很多关于多线程的知识,分享一波.(但是目前接触的项目还未用到过,最多用过线程池,想看线程池 请看我之前的博客) 关于基本的理论等 参考如下: https://www.cnblogs.c ...

  3. ubuntu中subline无法使用搜狗输入法

    今天使用subline编写python程序,发现在ubuntu下无法调用搜狗输入法输入中文,结果一番搜索发现github上的sublime-text-imfix项目能修复此问题,项目地址是:https ...

  4. No.3 数组中重复的数字 (P39)

    题目1:找出数组中重复的数字 [题目描述] 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个 ...

  5. JS实现异步提交

    什么是XMLHttpRequest? XMLHttpRequest对象用于在后台与服务器交换数据 XMLHttpRequst的作用 在不重新加载页面的情况下更新网页 在页面已加载后从服务器请求数据 在 ...

  6. python爬虫入门urllib库的使用

    urllib库的使用,非常简单. import urllib2 response = urllib2.urlopen("http://www.baidu.com") print r ...

  7. date('Y-m-d H:i:s',time()) 与 date('Y-m-d h:i:s',time())区别是什么

    date('Y-m-d H:i:s',time()) 按24小时制 date('Y-m-d h:i:s',time()) 按12小时制

  8. C#Thread的方法、Start()、Sleep(int)、Abort()、Suspend()、Resume()

    Thread类有几个至关重要的方法 Start():启动线程: Sleep(int):静态方法,暂停当前线程指定的毫秒数: Abort():通常使用该方法来终止一个线程: Suspend():该方法并 ...

  9. js 毫秒转天时分秒

    formatDuring: function(mss) { var days = parseInt(mss / (1000 * 60 * 60 * 24)); var hours = parseInt ...

  10. 小程序实践(二):swiper组件实现轮播图效果

    swiper组件类似于Android中的ViewPager,实现类似轮播图的效果,相对于Android的Viewpager,swiper实现起来更加方便,快捷. 效果图: 首先看下swiper支持的属 ...