文件系统是Linux的十分基础的知识,同时也是学习Linux必不可少的知识。本文将简单的介绍一下Linux的文件系统,主要包括FHS文件层级结构、Linux的文件类型及对应的颜色标识、man帮助手册页以及命令编辑特性的快捷键的介绍。这仅仅是属于自己的一个总结,以后会对深入学习Linux有一定的帮助吧。
如有不对之处还请帮忙指出。
FHS文件层级结构
FHS(Filesystem Hierarchy Standard)文件系统目录标准始于1993年8月。
FHS的作用:
1.软件用户可以预测已安装文件和文件夹的位置;
2.用户可以预测已安装文件和文件夹的位置
FHS文档的使用者主要可以分为三类:
1.创建与FHS兼容并在与FHS兼容发行版中运行应用程序 的独立软件提供商
2.提供与FHS兼容系统的操作系统的创建者;
3.理解和维护系统的FHS兼容性的用户。
FHS文档适用于有限的范围:
1.本地文件的本地放置位置是一个因地制宜的事情,FHS不会试图强制系统管理员放置在指定位置。
2.当文件放置位置需要多个组织,如本地网站、发行版、应用程序、文档等等之间协调时,FHS会列出问题。
FHS文件层级结构标准:
/:根目录万物起源。
/root:管理员的家目录
/bin:所有用户可用的基本命令程序文件,包含系统启动和运行所必需的二进制程 序;
/sbin:供系统管理使用的工具程序。此目录包含“系统”二进制文件。它们是完成 重大系统任务的程序,通常为超级用户保留。
/boot:系统启动的相关文件,引导加载器必须用到的各静态文件。
/dev:包含设备节点的特殊目录,存储特殊文件或设备文件:字符设备(线性设备)、块设备(随机设备)。在这个目录里,内核维护着它支持的设备
etc:包含所有系统程序的配置文件,且只能为静态;它也包含yixieshell脚本,在启动系统时,这些脚本会运行每个系统服务。这个目录中的任何文件应该是可读文本文件。 如/etc/crontab:定义自动运行的任务;/etc/fstab:包含存储设备的列表,以及与它们相关的挂载点;/etc/passwd:包含用户帐号列表。
/home:普通用户家目录集中位置,在通常的配置环境下,系统会在此目录下,给每个用户分配一个目录。普通只能在它们自己的目录下创建文件。
/lib(64):包含核心系统程序所需的库文件,为系统启动或根目录系统上的应用程序提供共享库,以及为内核提供内核模块;如:/lib/libc.so.*:动态连接的C库;/lib/ld*:运行时链接器/加载器;/lib/modules:用于存储内核模块的目录。
/media:此目录包含可移除媒体(便携式)设备挂载点,如USB驱动器,CD-ROM等。这些设备连接到计算机之后,会自动地挂在到这个目录节点下。
/mnt:其它文件系统的临时挂载点。
/opt:此目录被用来安装“可选的”软件,主要是用来存储可能安装在系统中的商业软件产品。
/srv:当前主机为服务提供的数据。
/tmp:存储临时文件的目录,可供所用用户执行写入操作,有特殊权限。
/proc:从存储在硬盘文件的意义来说,它不是真正的文件系统,法尔它是由内核维护的虚拟文件系统。目录下包含的文件是可读的,它们会告诉你内核是怎样监管计算机的。
/usr:Linux系统资源管理、全局共享的只读数据路径,它包含普通用户所需要的所有程序和文件;如/usr/bin:包含系统安装的可执行程序;/usr/lib:包含由/usr/bin目录中的程序所用的共享库;/usr/local:通常由源码编译的程序会安装在/usr/local/bin目录下。新安装的Linux系统中,会存在这个目录,但却是空目录,直到系统管理员安装本地应用程序或安装第三方程序;/usr/sbin:包含许多系统管理程序;/usr/share:包含许多由/usr/bin目录中程序使用的共享数据,包括默认的配置文件,图标,桌面背景,音频文件。
/var:此目录是可能需要改动文件存储的地方。各种数据库,假脱机文件,用户邮件等,都驻扎在这里。 如/var/log:此目录包括日志文件,各种系统活动的记录。这个文件非常重要,并且要时刻检测它们,这其中最重要的文件是/var/log/messages。
Linux文件类型及对应的颜色标识:
字符表示 |
颜色 |
文件类型 |
— |
白色 |
普通可执行文件 |
d |
蓝色 |
目录文件 |
B |
黄色 |
块设备文件 |
C |
黄色 |
字符设备文件 |
L |
浅绿色 |
链接文件 |
P |
暗黄色 |
管道文件 |
s |
粉红色 |
套接字(socket)文件 |
注意:还有一些绿色为可执行文件,红色为压缩文件(rmp)
man帮助手册页
man手册保存在/usr/share/man目录下,每一节的描述如下:
man 1:用户程序可以公开访问的命令的描述手册页都包含在此章。绝大多数用 户需要用到的程序文档都在这里。
man 2:系统调用手册页,描述了所有的系统调用(请求内核的操作)如:open,
write之类的。
man 3:库函数和子程序,描述了不直接调用内核服务的库例程,如printf,
fread等。
man 4:特殊文件章节,有关驱动程序的功能和系统中对网络的支持,即这里包含 在/dev下的设备文件和对网络协议支持的内核接口的描述。
man 5:文件的格式,这里包括各种头文件,程序输出文件和系统文件。
man 6:本章介绍游戏的演示和一般简单的程序。
man 7:杂项手册页,包含一些难以分类的手册,附件还有一些变量都在这。如 environ全局变量。
man 8:记录系统管理员用于系统操作和维护的系统管理程序其他偶尔被用户用到的 程序也记录在这里。
man 9:与内核有关的其它文件。
在shell中输入man+数字+命令/函数即可查看相关的函数和命令,下面是man常用的命令:
man -f command 显示man程序的所有手册 例如:man -f kill ;
man n command 显示指定章节的手册 ;
man -a command 显示所有章节的手册 ;
man -w command 显示手册所在的路径;
man -aw command 结合-a参数显示所有章节的手册路径;
手册页一般由以下几部分组成:NAME:命令名称; SYNOPSIS:命令的语法格式; DESCRIPTION:对命令功能的描述; OPEIONS:说明该命令所提供的选项和参数; EXAMPLES:对命令如何使用给出的例子 FILES 该手册页的默认位置; AUTHOR:该软件的作者; REPORTING BUGS:告诉用户将他们发现的BUGS通过邮件发送给开发者; COPYRIGHT:版权信息。
在手册页的最下面一行,可以输入少量的命令(这些命令很重要,其实和Vi下面编辑程序的快捷键很一致的),命令如下:
j:向下滚动一行; k:向上滚动一行; g:跳转到手册的第一行;
G:跳转到手册的最后一行;n:同方向查找的下一次匹配,可多次使用;
/String + Enter:在手册页中查找第一个Sting;
N:反方向查找的下一次匹配,可多次使用;
h:获得手册页的帮助 也可以使用如:ctrl+f,ctrl+b来翻一整屏;
q:退出手册页。
命令编辑特性快捷键
Ctrl+a:跳转至命令行行首
Ctrl+e:跳转至命令行行尾
Ctrl+u:删除行首至光标所在处之间的所有字符;
Ctrl+k:删除光标所在处至行尾的所有字符;
Ctrl+l:清屏,相当于clear
Ctrl-A:相当于HOME 键,用于将光标定位到本行最前面
Ctrl-E:相当于End 键,即将光标移动到本行末尾
Ctrl-B:相当于左箭头键,用于将光标向左移动一格
Ctrl-F:相当于右箭头键,用于将光标向右移动一格
Ctrl-D:相当于Del 键,即删除光标所在处的字符
Ctrl-K:用于删除从光标处开始到结尾处的所有字符
Ctrl-L:清屏,相当于clear 命令
Ctrl-R:进入历史命令查找状态,然后你输入几个关键字符,就可以找到你使用
过的命令
Ctrl-U:用于删除从光标开始到行首的所有字符。一般在密码或命令输入错误时
常用
Ctrl-H:删除光标左侧的一个字符
Ctrl-W:用于删除当前光标左侧的一个单词
Ctrl-P:相当于上箭头键,即显示上一个命令
Ctrl-N:相当于下箭头键,即显示下一个命令
Ctrl-T:用于颠倒光标所在处字符和前一个字符的位置。(目前不知道有什么作
用,哪位朋友知道?)
Ctrl-J:相当于回车键
Alt-.:用于提取历史命令中的最后一个单词。
Alt-BackSpace:用于删除本行所有的内容,基本上和Ctrl-U 类似。
Alt-C:用于将当前光标处的字符变成大写,同时本光标所在单词的后续字符都变
成小写。
Alt-L:用于将光标所在单词及所在单词的后续字符都变成小写。
Alt-U:用于将光标所在单词的光标所在处及之后的所有字符变成大写。
原创文章,作者:lyx,如若转载,请注明出处:http://www.178linux.com/52219