① 关于linux文件系统的目录树结构
Linux操作系统中的主要目录及目录内容由文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义。
在FHS中,所有的文件和目录都出现在根目录"/"下,即使他们存储在不同的物理设备中。但是请注意,这些目录中的一些可能或可能不会在Linux系统上出现,这取决于系统是否含有某些子系统,例如 X Window系统 的安装与否。
下面是FHS中所定义的一些目录,和目录的描述:
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/x11r6 存放x window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
② linux的文件系统是采用阶层式的什么结构
Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多。
1、用户主目录
当注册进入系统时,主目录就是当前工作目录。主目录往往位于/home目录之下,并且与注册名相同,例如,/home/mengqc。通常主目录包含子目录、数据文件,以及用于注册环境的配置文件。
2、绝对路径和相对路径
什么情况下使用绝对路径名,什么情况下使用相对路径名,取决于哪种方式涉及到的目录更少。路径短,不仅键盘输入少,而且节省系统搜索路径的时间,提高执行效率。
③ 【文件系统】目录结构及文件基本操作
Linux目录结构和Windows目录结构从实现机制来看是完全不同的:一种不同体现在目录与存储介质(磁盘,内存,DVD等)的关系上, Windows一直是以存储介质为主的 ,主要以盘符(C盘,D盘...)及分区来实现文件管理,然后下一层才是目录,所以目录就显得不是那么重要了,除系统文件意外的用户文件放在任何地方任何目录都是没有多大关系的。 UNIX/Linux恰好相反,UNIX是以目录为主的,Linux也继承了这一优良特性 。Linux是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说Linux的磁盘是“挂在”目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统,比如利用网络文件系统(NFS)载入某个特定目录等。
Linux的目录结构虽然复杂,但是它其中大部分目录结构是规定好了的,是符合FHS标准的,当你掌握好后,你的一切操作都会变得尽然有序。
FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数Linux版本采用这种文件组织形式。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。
FHS定义了两层规范:
FHS详细规范可参考: FHS_2.3 标准文档
最直观的查看系统目录机构的方法是通过 tree 命令:
FHS是根据以往无数Linux用户和开发者的经验总结出来的,并且会持续更新,FHS依据文件系统使用的平凡与否以及是否允许用户随意改动(注意,不是不能,是能否随意),将目录定义为四种交互作用的形态,如下表所示:
使用 cd 命令可以切换目录,在Linux里面使用 . 表示当前目录, .. 表示上一级目录(以 . 开头的文件都是隐藏文件,所以这两个目录都是隐藏的,可以通过 ls -a 命令查看隐藏文件), - 表示上一次所在目录, ~ 通常表示当前用户的“home”目录,使用 pwd 可以获取当前所在绝对路径。
相对路径实际山并没有加上当前目录的那个“.”,而是直接以目录名开头,因为usr目录是当前目录的子目录,;如果是当前目录的上一级目录,则需要使用“..”。
提示:在进行目录切换过程中,请多次使用 Tab 键自动补全,可避免输入错误,连续按两次 Tab 可以显示出全部候选结果
rename 是先使用第二个参数的通配符匹配所有后缀为 .txt 的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的 .txt 后缀替换成 .c ,这一点可以参考 sed 命令。
标准输入输出:当我们执行一个shell命令行时通常会自动打开三个标准文件:标准输入文件(stdin),默认对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应被重定向到终端的屏幕。进程从标准输入文件中得到的输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
在Linux下编辑文件通常会直接使用专门的命令行编辑器(比如:emacs,vim,nano)。