linux文件系统与简单应用

简介

      Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。

      主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。我们能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限,设置文件的共享程度,这一切操作和Microsoft windows系统很相似。

 

一、文件系统与目录结构

 


 

二、文件系统

 

        文件和目录被组织成一个单根倒置树结构。

        文件系统从根目录下开始,用“/”表示。

        根文件系统(rootfs):root filesystem

        文件名称区分大小写。

        以.开头的文件为隐藏文件。

        路径分隔的 /

        文件有两类数据:。

                元数据:metadata

                数据:data

        文件系统分层结构:LSB Linux Standard Base

 

三、文件名规则

 

        文件名最长255个字节,路径在内文件名称最长4095个字节

               蓝色>目录                    绿色>可执行文件 

               红色>压缩文件             浅蓝色>链接文件

               灰色>其他文件

        除了斜杠和数字,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们。

        标准Linux文件系统(如ext4),文件名称大小写敏感。

               如:mail,Mail,MAIL,MaIL

 

四、文件系统的结构

 

       / 根

          /boot 启动相关的内核和grub文件

          /bin (binary二进制)可执行的二进制文件

          /sbin 只有root才能执行的二进制文件

          /lib (library)库文件

          /lib64 64库文件

          /home/username 家目录

          /root 管理员家目录

          /media 默认空目录,可挂载cd usb

          /mnt 默认空目录,可挂载cd usb

          /etc 配置文件存放目录

          /dev 设置文件存放目录

               b: block device,随机访问

               c: character device,线性访问

          /opt 第三方应用程序安装位置 

          /srv 系统上运行的服务用到的数据  预留  如:网站页面内容服务数据

          /tmp 临时数据文件存储位置

          /usr 存放软件的执行程序、库文件、文档

               bin: 保证系统拥有完整功能而提供的应用程序

               sbin:管理员使用的二进制程序

               lib:32位使用

               lib64:只存在64位系统

               include: C程序的头文件(header files)

               share:结构化独立的数据,例如doc, man等

               local:第三方应用程序的安装位置

                    bin, sbin, lib, lib64, etc, share

          /var 存放软件可变的数据 如:页面内容

               cache: 应用程序缓存数据目录

               lib: 应用程序状态信息数据

               local:专用于为/usr/local下的应用程序存储可变数据;

               lock: 锁文件

               log: 日志目录及文件

               opt: 专用于为/opt下的应用程序存储可变数据;

               run: 运行中的进程相关数据,通常用于存储进程pid文件

               spool: 应用程序数据池

               tmp: 保存系统两次重启之间产生的临时数据

          /proc 用于输出内核与进程信息相关的虚拟文件系统

               /proc/cpuinfo cpu信息

               /proc/meminfo 内存信息

               /cd /proc/ 加载的信息

          /sys 用于输出当前系统上硬件设备相关信息虚拟文件系统

          /selinux 放置安全策略信息

 

五、文件类型

  

 


        -:普通文件                 d: 目录文件

        b: 块设备                   c: 字符设备

        l: 符号链接文件             p: 管道文件pipe

        s: 套接字文件socket

 

六、文件系统的常用命令

 

       命令格式:command  option arguments 

               command 命令 

               option 选项 启动命令某项功能,从而改变功能 -*

               arguments 参数  改变命令操作对象 

               短选项-   长选项--  

            长选项如:ifconfig -- help

            短选项如:cat -A /app/yanshi/yanshi.txt 

     

       更改目录(cd)、列出目录内容(ls)、创建空文件(touch)、创建目录(mkdir)、复制文件和目录(cp)、移动和重命名文件(mv)、删除(rm)、显示目录树(tree)

     

       (1)cd:更改目录

            用法:cd [dir]

               切换至父目录: cd ..

               切换至当前用户主目录: cd

               切换至以前的工作目录: cd -

               相关的环境变量:

                      PWD:当前目录路径

 

       (2)ls:列出目录内容

            用法:ls [options] [files_or_dirs]

               -a 显示所有文件 包括隐藏文件

               -l 长列出 显示属性信息

               -dl 显示指定目录自己的属性信息,不现实子文件信息

               -R 递归  显示本目录 和子目录内的 所有信息

               -1 显示一列

               -S 大到小排列

               -r 小到大 -rSl 按文件大小从小到大 -rt 按时间从旧到新

               -X 按文件结尾排序

               -h以人类可读性显示,则显示具体的单位

               -i 显示iNode号

               -Z 显示context 

           ls文件显示说明

       

            dr-xr-xr-x. 26 root root 4096 May 24 14:38 /

            -/d/l/s/b/c/p 表示文件的类型

            r-x r-x r-x 表示owner,group,other的权限

            . 表示该文件有selinux的context标签,可用-Z 详细查看(安全)

            26 表示硬链接数

            root 表示该文件的owner(所属人)

            root 表示该文件的group (所属组)

            4096 表示该文件的大小,默认bytes  可-k 显示单位

            May 24 14:38 默认显示为mtime,可使用u或--time=atime来显示atime;可使用--time=ctime来显示ctime

            /  文件名或目录名

 

       (3)touch 创建空文件

            用法:touch [OPTION]... FILE...

              若文件不存在,则创建一个空文件

              若文件存在,则更新三个时间戳(atime=访问时间,mtime=数据修改时间,ctime=元数据修改时间)

               -a 更新atime和ctime

               -m 更新mtime和ctime

               -c 若文件存在,则更新三个时间戳,若不在,不会创建新文件,无作为。

 

       (4)mkdir:创建目录(mkdir)

            用法:mkdir [OPTION]... DIRECTORY...

               -p: 存在于不报错,且可自动创建所需的各目录

               -v: 显示详细信息

               -m MODE: 创建目录时直接指定权限

 

       (5)cp:复制文件和目录(cp)

            用法:cp [OPTION]... [-T] SOURCE DEST

                     cp [OPTION]... SOURCE... DIRECTORY

                     cp [OPTION]... -t DIRECTORY SOURCE...

 

     

 

               -i:覆盖前提示  –n:不覆盖,注意两者顺序

               -r, -R: 递归复制目录及内部的所有内容

               -a: 归档,相当于-dR --preserv=all

               -p: 等同--preserv=mode,ownership,timestamp

               -u:--update 只复制源比目标更新文件或目标不存在的文件

 

       (6)mv:移动和重命名文件

            用法:mv [OPTION]... [-T] SOURCE DEST

                     mv [OPTION]... SOURCE... DIRECTORY

                     mv [OPTION]... -t DIRECTORY SOURCE...

               -i: 交互式

               -f: 强制

 

       (7)rm:删除

            用法:rm [OPTION]... FILE...

               -i  交互式

               -f  强制删除

               -r  递归

 

       (8)tree:显示目录树

            用法:tree [OPTION]...  [directory ...]

        

               -d: 只显示目录

               -L level:指定显示的层级数目

               -P pattern: 只显示由指定pattern匹配到的路径

 

 

先到这里,后续再接着写。

猜你喜欢

转载自blog.csdn.net/qq_42325315/article/details/80488087