首页 > 系统相关 >linux有哪些文件类型

linux有哪些文件类型

时间:2022-11-04 17:11:07浏览次数:30  
标签:文件 哪些 Linux etc file linux 文件类型 root

七种文件类型

在Linux中一切都是文件,但文件都得有类型。那如何查看文件是什么类型了?

在Linux常见的文件类型有7种,分别如下所示:

文件属性 文件类型
- 常规文件,即file
d 目录文件
b block device 即块设备文件,如硬盘;支持以block为单位进行随机访问
c character device 即字符设备文件,如键盘支持以character为单位进行线性访问
l symbolic link 即符号链接文件,又称软链接文件
p pipe 即命名管道文件
s socket 即套接字文件,用于实现两个进程进行通信

文件类型说明

  • 普通文件类型最常使用的一类文件,其特点是不包含有文件系统信息的结构信息。通常用户所接触到的文件,比如图形文件、数据文件、文档文件以及声音文件都属于这种文件,这种类型的文件是按照其内部结构又可分为纯文本文件(ASCII)、二进制文件(binary)、数据格式的文件(data)、各种压缩文件。

    • 纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。
    • 二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。
    • 数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。
  • 目录文件类型用于存放文件名以及其相关信息的文件,是内核组织文件系统的基本节点。目录文件可以包含下一级文件目录或者普通文件,在Linux中,目录文件是一种文件。能用 # cd 命令进入的。

  • 块设备文件类型块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。

  • 字符设备类型字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。

  • 套接字文件类型这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。

  • 管道文件类型是一种很特殊的文件,主要用于不同进程的信息传递。当两个进程需要进行数据或者信息传递时,可以使用通道文件,一个进程将需要传递的数据或者信息写入管道的一端,另一进程从管道的另一端取得所需要的数据或者信息,通常管道是建立在调整缓存中。

  • 链接文件类型是一种特殊文件,指向一个真实存在的文件链接,类似于Windows下的快捷方式,链接文件的不同,又可分为硬链接文件和符号链接文件。

查看文件类型的三种方法

① ls -l 或 ls -ld

[root@localhost etc]# ls -l
总用量 1340
drwxr-xr-x.  3 root root        28 10月 27 08:08 accountsservice
-rw-r--r--.  1 root root        16 7月  19 2021 adjtime
-rw-r--r--.  1 root root      1529 4月  15 2020 aliases
drwxr-xr-x.  3 root root        65 12月 22 2021 alsa
drwxr-xr-x.  2 root root      4096 7月  27 2021 alternatives
lrwxrwxrwx.  1 root root        56 7月  12 2021 favicon.png -> /usr/share/icons/hicolor/16x16/apps/fedora-logo-icon.png
-rw-r--r--.  1 root root        66 9月  10 2018 filesystems
lrwxrwxrwx.  1 root root        22 3月  28 2022 grub2.cfg -> ../boot/grub2/grub.cfg
略。。。。。。

② file 命令

[root@localhost etc]# file /etc/fstab 
/etc/fstab: ASCII text
[root@localhost etc]# file /etc
/etc: directory
[root@localhost etc]# file /etc/grub2.cfg 
/etc/grub2.cfg: symbolic link to ../boot/grub2/grub.cfg
[root@localhost etc]# file /bin/ssh
/bin/ssh: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=fd3393aa38fc9e09813c902bc1255355359ad902, stripped
[root@localhost etc]# file /dev/sr0 
/dev/sr0: block special (11/0)

③stat 命令

[root@localhost etc]# stat /usr/sbin/ip
  文件:/usr/sbin/ip
  大小:663472     块:1296       IO 块:4096   普通文件
设备:fd00h/64768d Inode:1353488     硬链接:1
权限:(0755/-rwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:ifconfig_exec_t:s0
最近访问:2022-10-30 03:14:56.040030923 -0400
最近更改:2022-03-21 10:40:32.000000000 -0400
最近改动:2022-10-27 08:07:13.748329778 -0400
创建时间:2022-10-27 08:07:13.724330248 -0400

Linux中文件扩展名

windows里通过扩展名来区分文件类型的。linux里文件扩展名和文件类型没有直接关系。但为了容易区分和兼容用户使用windows的习惯,linux还是会用扩展名来表示文件类型。举例如下:

● .tar、.tar.gz、.tgz、.zip、.tar.bz、tar.bzip2、.tar.xz、.zip、.xz表示压缩文件,创建命令一般为tar,gzip,zip等。

● .sh表示shell脚本文件,通过shell语言开发的程序。

● .pl表示perl语言文件,通过perl语言开发的程序。

● .py表示python语言文件,通过python语言开发的程序。

● .html、.htm、.php、.jsp、.do表示网页语言的文件。

● .conf表示系统服务的配置文件。

● .rpm表示rpm安装包文件。

标签:文件,哪些,Linux,etc,file,linux,文件类型,root
From: https://www.cnblogs.com/my-show-time/p/16858447.html

相关文章

  • linux添加环境变量
    以JAVA_HOME为例vim/etc/profile在最后添加内容.exportJAVA_HOME=/root/jdk1.8.0_301exportJRE_HOME=${JAVA_HOME}/jreexportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_......
  • Linux-防火墙操作
    描述CentOS6自带的防火墙是iptables,CentOS7自带的防火墙是firewall。iptables:用于过滤数据包,属于网络层防火墙。firewall:底层还是使用iptables对内核命令动态通信包过......
  • Linux——第十二章学习笔记
    第十二章学习笔记——块设备I/O和缓冲区管理块设备I/O缓冲区I/O缓冲的基本原理非常简单。文件系统使用一系列I/O缓冲区作为块设备的缓存内存。当进程试图读取(dev,blk)标识......
  • Linux中iptables自定义链
    [root@cloudos02~]#iptables-nvL--line-numberChainINPUT(policyACCEPT0packets,0bytes)numpktsbytestargetprotoptinoutsource......
  • delphi 11.2 配置Linux 开发环境
    1.rockylinux9 命令行: mvlibpython3.solibpython3.so_  ln-s/usr/lib64/libpython3.9.so.1.0libpython3.so打开防火墙:  命令 firewall-cmd--zon......
  • Linux--网络基础(概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程)
    网络的发展网络的发展有下面几个阶段:独立模式:计算机最开始是以单机模式被广泛使用的。每一台计算机都是独立的,之间不能够进行数据共享与通信网络互联:计算机之间可......
  • Linux磁盘挂载(CentOS 7)
    例如我们这里挂一个50G的磁盘到服务器首先查看可挂载磁盘情况[root@yanshi/]#fdisk-l磁盘/dev/sda:32.2GB,32212254720字节,62914560个扇区Units=扇区of1......
  • Linux(Ubuntu、Centos)环境安装部署Docker及Docker-compose
    Centos7安装Docker环境#安装依赖yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#设置yum源(选择其中一个)yum-config-manager--add-repohttp://downl......
  • 学习笔记-God-Linux
    God-Linuxbash#判断当前是否是登陆式或非登陆式shellecho$0#上一个命令的最后一个参数.例如:上一条命令(vimtest.txt),cat!$=cattest.txt!$#以......
  • 学习笔记-Secure-Linux
    Secure-LinuxLinux加固+维护+应急响应参考文档内容仅限Linux,web服务和中间件的加固内容请看加固大纲文件可疑文件文件恢复系统密码重置会话......