LINUX初次见面

LINUX的文件系统

在Linux的眼睛中,一切都为文件,这也是Linux的中心哲学思想。正因如此造就了一个性能稳定,功能强大,效率高的操作系统。Linux有自己的层级标准,它定义了每个系统分区的用途,和所需要的最小构成文件目录。由不同的文件来完成不同的功能造就了一个Linux的完整生态。

linux的文件系统格式比较丰富,它的核心系统能支持十多种文件系统类型。比如:

      JFS;etx;etx2;etx3;etx4;ISo9660;XFS;VFA;NTFS;HPFS;NFS;SMB;PROC;MSDOS等。

我们可以用命令 :cat /etc/fstab或者 df -T -h 来查看Linux的文件系统,

以我自己的linux为示例:

LINUX初次见面

 可以看出,Linux可以支持多种文件系统,者样使他更加灵活。并且Linux拥有Virtual File System(虚拟文件系统),这使得用户可以在同一系统下安装许多不同的文件,并且为用户提供了快速高效的文件访问服务。

在文件系统的,xfs最为先进。xfs文件系统是全新64位的,快速且稳定,并且是具有可升级性的。它的i/o性能和可升级性增加了该系统的复杂性,所以xfs系统主要应用于相对高端的用户。

ext系列的文件系统是由开放资源社区开放的日志文件,其中ext4最为可靠,etx3缺少现代文件系统所具有的解压速度高的性能。ext4是ext3的后继版本。ext4的发布,实现了向前向后兼容功能。

JFS是一种提供日志的字节级文件系统。该文件系统主要是为满足服务器(从单处理器系统到高级处理器和群集系统)的高吞吐量和可靠性需求而设计开发的。与非日志文件系统相比,JFS文件系统的突出优点是快速重启能力;缺点是使用JFS日志文件系统性能上会有一定损失,系统资源占用的比率也偏高。

这是比较常见的三种文件系统格式,介绍完文件系统格式后就说一下linux的文件系统。

linux发行版之间的差别很少,差别主要表现在系统管理的特色工具和软件包管理方式的不同。目录结构基本都是一样的。Linux的文件系统是单个的树状结构。也就意味着整个系统只会有一个目录。但是可以有多个分区。

分区和目录的关系:

  1. 任何一个要分区都要挂载在目录上才能进行读写。
  2. 目录是逻辑上的,而分区是物理分区。
  3. 根目录是系统所有文件和目录所在的地方,必要挂载一个分区。
  4. 有些目录不能独立出去单独划为一个磁盘,比如:/dev,/etc。

   划分分区有哪些优点:

  • 可以吧不同的资料分别管理来降低风险
  • 方便检索

相应命令 :

   fdisk 查看分区表,会显示出分区结构。

   df     查看分区上可使用的空间

   du    查看文件和目录的使用空间

接下来就要说Linux的文件系统了

刚刚说过Linux整个系统目录就相当于一个树状图。在最顶端的目录是所有文件的父目录,我们称为根,用/表示。

用ls命令可以查看根目录下的所有子目录。

以我的目录为例介绍一下。

  LINUX初次见面

  这是在根目录查看的结果,最前面显示的是各个文件的权限,文件权限有三个不同用户,其中每三个为一组,第一段为文件所有者,第二段为所有者所在组,第三段为其他。它们分的权限有三个不同的,r代表读,w代表写,x代表执行,也可以用数字表示,他们分别为4,2,1。这些都是在创建文件时设定。

接下来介绍一下主要目录:

/ :根目录,所有文件的入口。

/bin:二进制可执行命令,系统所需的配置命令;

/boot:开始启动过程所需的文件;

/dev:即设备驱动;

/home:普通用户存储其个人数据和配置文件的主目录;

/root:系统管理员的主目录;

/run:自上一次系统启动以来启动的进程的运行时数据。包括进程ID文件和锁定文件,此目录中的内容在重启时重新创建;

/sbin:类似/bin目录,系统管理命令,这里存放的是系统管理员使用的管理程序,一般不给普通用户使用;

/tmp:供临时文件使用的全局可写空间,目录存放程序在运行时产生的信息和数据;

/usr:最庞大的目录,安装的软件、共享的库,包括文件和静态制度程序数据;

/var:特定于此系统的可变数据,在系统启动之间保持永久性;

/lib:根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件;

/mnt:系统管理员临时安装文件系统的安装点;

/proc:文件系统是一个伪的文件系统,就是说它是一个实际上不存在的目录,因而这是一个非常特殊的目录;

在这么多文件中,又分了好几个文件类型,其中有以下几种:

  • 普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。分为纯文本和二进制。
  • 目录文件:目录,存储文件的唯一地方。
  • 链接文件:指向同一个文件或目录的的文件。
  • 特殊文件:与系统外设相关的,通常在/dev下面。分为块设备和字符设备。 

这么多文件,通过软连接和硬链接两连接方式:

  软连接:又称为符号链接,保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。

  硬链接:与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块

Linux不使用文件名扩展来识别文件的类型。相反,Linux根据文件的头内容来识别其类型。为了提高文件可读性您仍可以使用文件名扩展,但这对 Linux 系统来说没有任何作用。不过,有一些应用程序,比如 Web 服务器,可能使用命名约定来识别文件类型,但这只是特定的应用程序的要求而不是 Linux 系统本身的要求。
    Linux通过文件访问权限来判断文件是否为可执行文件。任何一个文件都可以赋予可执行权限,这样程序和脚本的创建者或管理员可以将它们识别为可执行文件。这样做有利于安全。保存到系统上的可执行的文件不能自动执行,这样就可以防止许多脚本病毒。

文件目录管理命令:

cat

查看文件的内容。全程式concatenate的意思,将文件内容连续输出到屏幕上。第一行到最后一行显示

tac

和cat刚好相反 是从最后一行到第一行的方式查看。

      cat有个比较不好的地方时当文件比较大时候没办法看清楚,这个时候可以用more或者Less命令。

      more

      如果使用grep或者find等命令时,可以配合使用more一页一页的查看。如果看到一半想退出,则敲入’q’即可退出。

      文件目录与权限: chmod

      文件查找:

      which

     该命令用于查询通过PATH路径到该路径内查找可执行文件。

       find

       该命令用于在指定路径下查找文件。不是通过数据来查询,所以速度会比较慢。

原创文章,作者:phosphor,如若转载,请注明出处:http://www.178linux.com/76134

(0)
phosphorphosphor
上一篇 2017-05-18
下一篇 2017-05-18

相关推荐

  • 【N25第四周作业】grep

    文本处理工具: Linux上文本处理三剑客: grep, egrep, fgrep:文本过滤工具(模式:pattern)工具; grep:基本正则表达式,-E,-F egrep:扩展正则表达式, -G,-F grep:不支持正则表达式, sed:stream editor, 流编辑器;文本编辑工具; awk:…

    Linux干货 2016-12-18
  • mysql进阶篇(三种备份方法总结:lvm, mysqldump, xtrabackup)

    二进制日志详解:     二进制日志通常作为备份的重要资源,所以再说备份之前先总结一下二进制日志的相关内容      1. 二进制日志的内容         引起mysql服务器改变的任何操…

    Linux干货 2015-12-10
  • nginx服务

      Nginx 提供web服务,也是工作在应用层的负载均衡器,拥有强大的缓存能力。 本章主要学习,web server、web reverse proxy(http)和cache 缓存服务器使用较多的是varnish+squid: 任何缓存都是反向代理,但是varnish反向代理能力还是与nginx有很大差距。所以,varnish还是做缓存服务,而…

    Linux干货 2016-11-01
  • Linux 入门(二)

    又一个周的时间过去了,觉得时间过的好快的呢,大概是因为沉迷于学习吧(害羞脸),在这一周里学习了不少东西呢,下面就来总结一下吧 (1)    cp 复制 如果只是单纯的敲cp复制文件而不加任何选项的时候,如果目的目录文件已经存在,就会直接覆盖,而不会出现任何提示信息,而当在实际操作时,就算不加 –i选项,也会提示要不要覆盖文件 原…

    2017-07-22
  • 显示列表和复制文件的各种实例

    显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。 [root@localhost tmp]# ls -d /var/l*[[:lower:]] 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。 [root@localhost tmp]# ls -d /etc/[0-9]*[^0-9…

    Linux干货 2018-03-01
  • 在VMware workstations中安装CentOS-7-x86_64-Everything-1611.ISO

      对于最近在Linux学习的过程中,许多同学对CentOS系统的详细配置还不熟悉,于是我编写此详细步骤供大家参考。 工具: VMware workstations; CentOS-7-x86_64-Everything-1611.iso; 准备工作:  1、先要下载一个系统镜像centOS-7-x86_64-Everythin…

    2017-07-11