www.badu.com 是完全限定域名(FQDN)
~:在执行命令似的当前目录(Uurruut Directory)。也叫工作目录,也代表用户的家目录(home~)
#\$:命令提示符
GUI:图形用户接口
CLI:命令行接口
程序一般包含四类文件:
1、二进制文件:可执行文件
Windows:exe(execute),msi, linux中:ELF
应用编程接口:API:Application programing Interface
POSIX:portable operating system
可移植操作系统:ABI:Application Binary Interface
2、头文件|库文件:
Windows:dll(dynamic liked library)
Linux: so(shared object)供应用程序使用的库
Ko(kernel 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、有些命令的长选项只能用一个-
1、ARGUMENT(PARAMETERS):此次命令执行的操作对象,有时命令可以同时拥有多个参数,中间必须用空白字符隔开,有些命令在书写时,OPTIONS和ARGUMENTS(~)可以调换位置,命令中的所有组成部分严格区分大小写,(文件系统)
2、获取命令的使用帮助:
内部命令:help COMMAND 【】意味着可省略 <>必须书写 ...有更多的 a|b|c多选
外部命令:使用--help选项
man(manual) man九章
1、用户命令:所有用户都可以执行的普通命令
2、系统调用 3、c库函数 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:临时的文件的挂载点 media和mnt区别不明显
9、opt:以前是非常流行的第三方应用程序的安装目录,现在不是,一般是空的,都放在usr内
10、root:超级用户root的家目录
11、run:正在运行的存放的目录
12、sbin:superbin 存放那些只有超级用户能够执行的管理类命令
13、srv:存放有系统提供的各种服务数据,默认也是空的,快要废弃
14、tmp:temperate 临时文件目录,windows里的缓存目录,自动清除该目录中30日之内没有访问的数据
15、usr:(非常重要)linux系统的第二根,里的local是第三根。 第二根主要装第三方应用程序,第三根主要用于编译安装第三方应用程序
16、/usr/src:存放应用程序的源代码
17、var:可变化的数据,可能会随时产生新信息,如数据库
18、proc:process进程 存放的不是硬盘上该有的东西,而是内存上的数据,称伪文件系统,关机后里面是空的
19、sys:和系统的启动有关,性质同上
文件类型:根据颜色:
黑或白:普通的文本文件 绿色:可执行文件
×××:设备文件 红色:包文件 深蓝色:目录
浅蓝色:符号链接文件,相当于windows里的快捷方式
紫色:套接字文件 棕色:管道文件,用于近程通信
根据标记:
- : 文本文件 b:块设备文件 c:字符设备 d:目录文件
I : 链接文件 p:管道文件 s:套接字文件
使用file命令精准查看文件类型。
来源:oschina
链接:https://my.oschina.net/u/4386695/blog/4344960