What is a File?
File are collection of data items stored on disk. Or, it’s device which can store the information, data, music (mp3 files), picture, movie, sound, book etc. In fact what ever you store in computer it must be inform of file. Files are always associated with devices like hard disk ,floppy disk etc. File is the last object in your file system tree. See Linux/UNIX – rules for naming file and directory names.
What is a directory?
Directory is group of files. Directory is divided into two types:
- Root directory – Strictly speaking, there is only one root directory in your system, which is denoted by / (forward slash). It is root of your entire file system and can not be renamed or deleted.
- Sub directory – Directory under root (/) directory is subdirectory which can be created, renamed by the user.
Directories are used to organize your data files, programs more efficiently.
Linux supports numerous file system types
- Ext2: This is like UNIX file system. It has the concepts of blocks, inodes and directories.
- Ext3: It is ext2 filesystem enhanced with journalling capabilities. Journalling allows fast file system recovery. Supports POSIX ACL (Access Control Lists).
- Isofs (iso9660): Used by CDROM file system.
- Sysfs: It is a ram-based filesystem initially based on ramfs. It is use to exporting kernel objects so that end user can use it easily.
- Procfs: The proc file system acts as an interface to internal data structures in the kernel. It can be used to obtain information about the system and to change certain kernel parameters at runtime using sysctl command. For example you can find out cpuinfo with following command:
# cat /proc/cpuinfo
- Or you can enable or disable routing/forwarding of IP packets between interfaces with following command:
# cat /proc/sys/net/ipv4/ip_forward
# echo "1" > /proc/sys/net/ipv4/ip_forward
# echo "0" > /proc/sys/net/ipv4/ip_forward
- NFS: Network file system allows many users or systems to share the same files by using a client/server methodology. NFS allows sharing all of the above file system.
- Linux also supports Microsoft NTFS, vfat, and many other file systems. See Linux kernel source tree Documentation/filesystem directory for list of all supported filesystem.
You can find out what type of file systems currently mounted with mount command:
$ mount
OR
$ cat /proc/mounts
What is a UNIX/Linux File system?
A UNIX file system is a collection of files and directories stored. Each file system is stored in a separate whole disk partition. The following are a few of the file system:
- / – Special file system that incorporates the files under several directories including /dev, /sbin, /tmp etc
- /usr – Stores application programs
- /var – Stores log files, mails and other data
- /tmp – Stores temporary files
See The importance of Linux partitions for more information.
But what is in a File system?
Again file system divided into two categories:
- User data – stores actual data contained in files
- Metadata – stores file system structural information such as superblock, inodes, directories
Next time I will write more about Metadata objects – superblock, inodes, directories with actual linux commands so that you can understand and master the concepts :)
Continue reading rest of the Understanding Linux file system series:
- Part II – Understanding Linux superblock
- Part III – An example of Surviving a Linux Filesystem Failures
- Part IV – Understanding filesystem Inodes
- Part V – Understanding filesystem directories
- Part VI – Understanding UNIX/Linux symbolic (soft) and hard links
- Part VII – Why isn’t it possible to create hard links across file system boundaries?

本文介绍了文件和目录的概念,探讨了Linux/UNIX文件系统的类型及其组成部分,包括Ext2、Ext3、NFS等,并解释了文件系统如何组织数据。
1018

被折叠的 条评论
为什么被折叠?



