Linux下七种文件类型、文件属性及其查看方法

1、七种文件类型

普通文件类型
Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]
目录文件
就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]
块设备文件
块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]
字符设备
字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]
套接字文件
这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型
管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]
链接文件
类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]

2、查看文件类型的三种方法


ls-l/ls-ld 或者ll [ls-l ---查看文件 ls-ld ---查看路径 ll ----跟ls -l 一样]

 ll anaconda-ks.cfg                       //看第一个字符
-rw-------. 1 root root 2460 6月   1 23:37 anaconda-ks.cfg
[root@localhost log]# ls -ld /etc   
drwxr-xr-x. 81 root root 4096 Jan 29 03:25 /etc


file 命令

[root@localhost data]# file a.txt 
a.txt: ASCII text


stat 命令

[root@localhost data]# stat a.txt      //查看文件的详细属性(其中包括文件时间属性)
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800
Modify: 2018-01-28 20:55:27.181876154 +0800
Change: 2018-01-28 20:55:27.181876154 +0800

3、Linux中文件扩展名

windows里通过扩展名来区分文件类型的。linux里文件扩展名和文件类型没有关系。但为了容易区分和兼容用户使用windows的习惯,我们还是会用扩展名来表示文件类型。举例如下:
● 源码.tar、.tar.gz、.tgz、.zip、.tar.bz表示压缩文件,创建命令一般为tar,gzip,zip等。
● .sh表示shell脚本文件,通过shell语言开发的程序。
● .pl表示perl语言文件,通过perl语言开发的程序。
● .py表示python语言文件,通过python语言开发的程序。
● .html、.htm、.php、.jsp、.do表示网页语言的文件。
● .conf表示系统服务的配置文件。
● .rpm表示rpm安装包文件。

4、文件属性

[root@localhost /]# ls -lhi
total 90K
    12 dr-xr-xr-x.  2 root root 4.0K Jan 28 18:30 bin
     2 dr-xr-xr-x.  5 root root 1.0K Aug  7  2016 boot
     4 drwxr-xr-x. 18 root root 3.7K Jan 29 01:29 dev
652802 drwxr-xr-x. 81 root root 4.0K Jan 29 03:25 etc
130563 drwxr-xr-x.  3 root root 4.0K Jan 29 00:57 home
    13 dr-xr-xr-x. 12 root root 4.0K Jan 28 18:30 lib
391685 dr-xr-xr-x.  9 root root  12K Jan 28 18:30 lib64
    11 drwx------.  2 root root  16K Aug  7  2016 lost+found
130564 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 media
391689 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 mnt
130565 drwxr-xr-x.  3 root root 4.0K Aug  7  2016 opt
     1 dr-xr-xr-x. 97 root root    0 Jan 29  2018 proc
391682 dr-xr-x---.  2 root root 4.0K Jan 28 21:08 root
130566 dr-xr-xr-x.  2 root root  12K Jan 28 18:30 sbin
     1 drwxr-xr-x.  7 root root    0 Jan 29  2018 selinux
    15 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 srv
     1 drwxr-xr-x. 13 root root    0 Jan 29  2018 sys
522242 drwxrwxrwt.  5 root root 4.0K Jan 29 05:15 tmp
522244 drwxr-xr-x. 14 root root 4.0K Jan 28 20:04 usr
261121 drwxr-xr-x. 20 root root 4.0K Aug  7  2016 var

这里写图片描述

544365 -rw-r--r--. 1 root root 3 Jan 28 20:55 a.txt

inode 索引节点编号:544365
文件类型 :文件类型是'-',表示这是一个普通文件
文件权限:rw-r--r-- 表示文件可读、可写、可执行,文件所归属的用户组可读可执行,其他用户可读可执行
硬链接个数 表示a.txt这个文件没有其他的硬链接,因为连接数是1,就是他本身
文件属主 表示这个文件所属的用户,这里的意思是a.txt文件被root用户拥有,是第一个root
文件属组 表示这个文件所属的用户组,这里表示a.txt文件属于root用户组,是第二个root
文件大小 文件大小是3个字节
文件修改时间 这里的时间是该文件最后被更新(包括文件创建、内容更新、文件名更新等)的时间可用如下命令查看文件的修改、访问、创建时间

[root@localhost data]# stat a.txt 
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800       ----------访问时间
Modify: 2018-01-28 20:55:27.181876154 +0800       ----------修改时间
Change: 2018-01-28 20:55:27.181876154 +0800     ----------创建时间

索引节点inode
硬盘分区,格式化、创建文件系统
被格式化的磁盘分为两部分:第一部分是Inode 第二部分是block
block是用来存储实际数据用的,例如:照片、视频等普通文件数据
inode是用来存储这些数据的属性的(也就是ls-l的结果)
inode包含的属性信息有文件大小、属主、归属的用户组、读写权限、问价类型、修改时间,还有指向文件实体指针的功能(inode节点----block的对应关系),但是唯独不包含文件名
这里写图片描述
访问一个文件【通过文件名找到inode---->block 】
这里写图片描述
查看inode 大小

[root@localhost ~]# dumpe2fs /dev/sda1|grep -i "Inode size" 
dumpe2fs 1.41.12 (17-May-2010)
Inode size:               128

原文链接:https://www.cnblogs.com/xiezhr/p/17343426.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下七种文件类型、文件属性及其查看方法 - Python技术站

(0)
上一篇 2023年5月7日
下一篇 2023年5月7日

相关文章

  • 监测linux系统负载与CPU、内存、硬盘、用户数的shell脚本

    本节主要内容: 利用Shell脚本来监控Linux系统的负载、CPU、内存、硬盘、用户登录数。 一、linux系统告警邮件脚本 # vim /scripts/sys-warning.sh #!/bin/bash #site: www.jquerycn.cn #监控系统负载与CPU、内存、硬盘、登录用户数,超出警戒值则发邮件告警。 #提取本服务器的IP地址信息…

    Linux 2023年4月11日
    00
  • Yum中报错:“pycurl.so: undefined symbol: CRYPTO_num_locks”的问题排查

    当使用Yum进行软件包管理时,可能会遇到“pycurl.so: undefined symbol: CRYPTO_num_locks”错误。以下是解决该问题的完整攻略。 查找系统中安装了哪些版本的openssl 首先,我们需要查找系统中安装了哪些版本的openssl。使用以下命令可以列出所有可用的openssl版本: rpm -qa | grep opens…

    Linux 2023年5月14日
    00
  • Linux环境下使用jsoncpp

    Linux环境下使用jsoncpp 目录 1. 下载jsoncpp 2. 生成静态库libjsoncpp.a 3. 复制相关文件至/usr/local下(方便编程) 4. CMakeList.txt编写(需要新增的) 1. 下载jsoncpp –>https://github.com/open-source-parsers/jsoncpp/tree/…

    2023年4月8日
    00
  • Linux安装&卸载mysql5.7

    Linux系统下卸载mysql 停止mysql服务 systemctl stop mysqld.service 查看安装的mysql服务 rpm -qa|grep -i mysql 删除安装的mysql服务 rpm -e –nodeps mysql相关服务 #例如: rpm -e –nodeps mysql-community-client-5.7.26…

    Linux 2023年4月11日
    00
  • Linux jar包部署启停脚本

    一、对jar包统一管理     一、重启脚本 app_dir为jar包存放路径,根据自己的情况进行填写,这里我放在了/mycloud目录下apps 中填写jar包的名称,多个jar包中间以空格分开(注:jar包名称可以不完全填写,这里只写了前半部分,不和其他的应用重名即可) #!/bin/bash app_dir=/mycloud apps=(mycloud…

    Linux 2023年4月12日
    00
  • 如何在Linux系统上安装和使用虚拟化技术?

    下面就是在Linux系统上安装和使用虚拟化技术的详细攻略: 安装虚拟化软件 在Linux系统上安装虚拟化软件有多种选择,其中最常见的是KVM和VirtualBox。 安装KVM KVM是Linux内核自带的虚拟化技术,可以通过以下命令安装: sudo apt-get install qemu-kvm libvirt-daemon-system libvirt…

    Linux 2023年4月19日
    00
  • CentOS8 配置本地yum源的详细教程

    CentOS8相对于之前版本对于本地yum源的配置方法有一些变化,下面是一个完整的攻略: 准备工作 在开始配置本地yum源之前,需要安装一个工具来帮助我们创建yum仓库,同时需要准备所需要的软件包。 安装createrepo 创建yum仓库的工具createrepo可以通过yum安装: sudo yum install createrepo 准备软件包 可以…

    Linux 2023年5月14日
    00
  • linux 简单的DMA例程

    一个简单的使用DMA 例子 示例:下面是一个简单的使用DMA进行传输的驱动程序,它是一个假想的设备,只列出DMA相关的部分来说明驱动程序中如何使用DMA的。 函数dad_transfer是设置DMA对内存buffer的传输操作函数,它使用流式映射将buffer的虚拟地址转换到物理地址,设置好DMA控制器,然后开始传输数据。 int dad_transfer(…

    Linux 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部