Linux文件基本理论

久未见 提交于 2020-08-10 05:51:56

www.badu.com 是完全限定域名(FQDN

~:在执行命令似的当前目录(Uurruut Directory)。也叫工作目录,也代表用户的家目录(home~

#\$:命令提示符

GUI:图形用户接口

CLI:命令行接口

程序一般包含四类文件:

1、二进制文件:可执行文件

Windows:exe(execute),msi,   linux:ELF

应用编程接口:APIApplication programing Interface

         POSIXportable operating system

可移植操作系统:ABI:Application Binary Interface

2、头文件|库文件:

Windows:dll(dynamic liked library)

Linux:  so(shared object)供应用程序使用的库

      Kokernel object)供内核使用的库

      Ao(archive object)静态库,不常用,只供某种程序调用

命令本身是二进制文件

3、帮助文件:使用说明书

4、配置文件

  命令的格式:COMMAND+OPTIONS+ARGUEMENTS(PARAMETERS)

                   命令+选项+参数

空格不限制数量,命令是想要执行的操作主体,就是一个进程。

Shell的划分:内部命令:内建于shell中的命令(shell的本能操作)

             外部命令:通过安装应用程序得到的命令

     Type区分内外部命令

第一次执行通过path变量中的路径进行查找,以后只要path缓存中依然有缓存记录,就不会查找path变量,直接查找缓存

OPTIONS:此次命令执行过程中所使用的特性

短选项:-CHAR  加一个字符,一次可以写多个:-a -l -d 选项之间用空格分开  -ald

长选项:两个-加一个单词:--WORD  ;--help  --list  --human  

不能合并出现,只能一个一个出现

注意:1、有些选项需要额外的参数

    2、有些选项可以不用-引导,有些命令的选项一定不能加-

    3、有些命令的长选项只能用一个-

1ARGUMENT(PARAMETERS):此次命令执行的操作对象,有时命令可以同时拥有多个参数,中间必须用空白字符隔开,有些命令在书写时,OPTIONSARGUMENTS(~)可以调换位置,命令中的所有组成部分严格区分大小写,(文件系统)

2、获取命令的使用帮助:

内部命令:help COMMAND   【】意味着可省略    <>必须书写   ...有更多的    a|b|c多选

外部命令:使用--help选项

          man(manual)   man九章

          1、用户命令:所有用户都可以执行的普通命令

          2、系统调用   3c库函数   4、设备和特殊文件   5、配置文件和格式

        6、游戏相关的帮助信息   7、杂项   8、管理类命令(只有root用户能执行的管理类)

        9、内核相关的

每个man命令中都会有很多字段

    NAME:程序的名称及相关的功能简介

    SYNOPSIS:语法\命令格式

    DESCRIPTION:详细描述信息

    OPTIONS:选项的用法及含义的详细说明

    AUTHCR:程序的作者信息

    REPORTING BUGS:报告程序中所包含的BUG的方式

    EXAMPLES:命令的使用范例

    SEE ALSO:额外的参考内容

    FILES:与该程序相关的其他文件

3、info COOMAND   在线手册   与命令相关的信息

4、有很多程序有自带的帮助文档

       /usr/share/doc/APP_name-verision/

       README:程序的相关信息

       CHANGES:程序迭代的更新历程

5、程序相关站点的自带帮助文档

        Wiki    FAQ

6、程序发行商的相关站点

7、搜索引擎:google

 

Linux的哲学思想:

1、一切皆文件

       Limux把几乎所有的资源都抽象为文件的形式,甚至连硬件、网络通信使用的套接字以及管道都如此。   文件:一族有边界的位于存储设备中的流式数据

2、有众多功能单一的小程序组成,却可以实现复杂任务

3、尽量避免与用户进行直接交互,易于以编程的方式实现自动化任务的实施

4、使用纯文本文件保存程序的配置信息

 

文件系统:

    1、原初起点

元数据:描述文件的属性

数据:文件的内容

在文件系统中,基于文件各引用文件,按文件名进行存取,在文件系统中,对于文件名有一系列的规定:  文件名不能包含 / 字符     / 表示文件系统    / 表示文件的分隔符

2.文件名的长度不能超过255字符。

3.在同一个位置中文件名不能重复。

4.文件名要求严格区分大小写,文件系统规定与系统本身无关。使用路径的概念来表示文件的具体位置  

      路径:定义一个文件所在的位置时,所必须经过的目录的层次结构

      路径的描述方式:绝对路径:一切从 / 开始查找的路径

                      相对路径:从工作目录(当前目录)开始查找的路径

       如果顺路用绝对,不顺路用相对,在目标文件的绝对路径中是否包含当前目标

      家目录;每个用户登录时的当前目录,也是每个用户的起始目录,~代指

      任何一个路径都可分为两部分:文件基名(basename)、文件目录名(dirname

      HFS:目录划分的层级标准。

 

1、bin:(二进制)普通用户可以执行的普通操作命令

2、boot:(引导、启动)引导操作系统启动的一些静态文件,包括:引导程序、linux内核、initramfs

3、dev:(设备)device  所有设备文件都在一级目录之下

         块设备:能够实现数据存放的设备                so共享对象就是库文件

         字符设备:能够实现数据传输和数据处理的设备,顺序访问  

4、etc:存放着主机专用的系统配置文件

5、home:普通用户的家目录的根

6、lib/lib64:共享库文件存放的路径

7、media:可移动设备的挂载点

8、mnt:临时的文件的挂载点      mediamnt区别不明显

9、opt:以前是非常流行的第三方应用程序的安装目录,现在不是,一般是空的,都放在usr

10、root:超级用户root的家目录

11、run:正在运行的存放的目录

12、sbinsuperbin 存放那些只有超级用户能够执行的管理类命令

13、srv:存放有系统提供的各种服务数据,默认也是空的,快要废弃

14、tmptemperate 临时文件目录,windows里的缓存目录,自动清除该目录中30日之内没有访问的数据

15、usr:(非常重要)linux系统的第二根,里的local是第三根。 第二根主要装第三方应用程序,第三根主要用于编译安装第三方应用程序

16、/usr/src:存放应用程序的源代码

17、var:可变化的数据,可能会随时产生新信息,如数据库

18、procprocess进程  存放的不是硬盘上该有的东西,而是内存上的数据,称伪文件系统,关机后里面是空的

19、sys:和系统的启动有关,性质同上

文件类型:根据颜色:

黑或白:普通的文本文件       绿色:可执行文件

×××:设备文件               红色:包文件  深蓝色:目录

浅蓝色:符号链接文件,相当于windows里的快捷方式

紫色:套接字文件             棕色:管道文件,用于近程通信

          根据标记:    

- :  文本文件     b:块设备文件   c:字符设备   d:目录文件  

I   链接文件      p:管道文件     s:套接字文件

使用file命令精准查看文件类型。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!