There are seven file types in Linux: 1. Ordinary file type; 2. Directory file type; 3. Block device file type; 4. Character device type; 5. Socket file type; 6. Pipeline File type; 7. Link file type.
#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.
Common file types
The most commonly used type of file, which is characterized by structural information that does not contain file system information. Usually the files that users come into contact with, such as graphic files, data files, document files and sound files, all belong to this type of file. This type of file can be divided into plain text files (ASCII) and binary files (ASCII) according to their internal structure. binary), data format files (data), and various compressed files.
Plain text file (ASCII): This is the most common file type in Unix systems. It is called a plain text file because the content can be read directly, such as Numbers, letters, etc. Setting files almost always belong to this file type. For example, use the command "cat ~/.bashrc" to see the contents of the file (cat reads the contents of the file).
Binary file: The system actually only recognizes and can execute binary files. Executable files in Linux (scripts, text batch files are not included) are in this format. For example, the command cat is a binary file.
Files in data format (data): Some programs will read files in certain formats during operation. Those files in specific formats can be called data files. ). For example, when a user logs in, Linux will record the login data in the /var/log/wtmp file. This file is a data file that can be read out through the last command. But when using cat, garbled characters will be read. Because it is a file in a special format.
Directory file type
A file used to store file names and related information, which is the kernel organization file system basic nodes. Directory files can contain lower-level file directories or ordinary files. In Linux, a directory file is a kind of file.
Can be entered using the # cd command.
Block device file type
Block device file: It is an interface device that stores data for system access. Simply put, it is a hard disk. For example, the code of hard disk No. 1 is /dev/hda1 and other files.
Character device type
Character device file: the interface device of the serial port, such as keyboard, mouse, etc.
Socket file type
This type of file is usually used in network data connections. A program can be started to listen for client requests, and the client can communicate data through the socket.
Pipe file type
is a very special file, mainly used for information transfer between different processes. When two processes need to transfer data or information, a channel file can be used. One process writes the data or information that needs to be transferred to one end of the pipe, and the other process obtains the required data or information from the other end of the pipe. Usually a pipe is built into the adjustment cache.
Link file type
is a special file that points to a real file link, similar to a shortcut under Windows, link Different files can be divided into hard link files and symbolic link files.
①ls-l/ls-ld or ll [ls- l —View the file ls-ld —View the path ll ----Same as 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 command
[root@localhost data]# file a.txt a.txt: ASCII text
③stat command
[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
In windows, file types are distinguished by extension. There is no relationship between file extension and file type in Linux. But in order to easily distinguish and be compatible with users' habits of using Windows, we will still use extensions to represent file types. Examples are as follows:
● Source code .tar, .tar.gz, .tgz, .zip, .tar.bz represents compressed files, and the creation commands are generally tar, gzip, zip, etc.
● .sh represents a shell script file, a program developed through shell language.
● .pl represents a perl language file, a program developed through the perl language.
● .py represents a python language file, a program developed through the python language.
● .html, .htm, .php, .jsp, and .do represent files in the web page language.
● .conf represents the configuration file of the system service.
● .rpm represents the rpm installation package file.
[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
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
相关推荐:《Linux视频教程》
The above is the detailed content of What file types are there in linux?. For more information, please follow other related articles on the PHP Chinese website!