在安装系统时,安装程序就已经位用户创建了文件系统和完整而固定的目录组成形式
Linux采用的多级目录树型层次结构,树形结构最上层是根目录 :"/",但是在DOS和Windows中,这样的树形结构的根目录是磁盘分区的盘符(C,D,E,F),所以在Windows中是森林
- 文件扩展名与文件类型无关
- Linux中每个分区都是一个文件系统,有自己的目录层次结构,Linux将分属不同分区,单独的文件系统按“挂载”的方式组成一个系统的,总的目录层次结构
- 挂载:就是将一个文件系统的顶层目录挂到另一个文件系统的子目录下,使之成为一个整体,上一层文件系统的子目录就称为挂载点
- 挂载点必须是一个目录
- 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但是挂载后这个目录下以前的内容将不可用
- 挂载前要了解Linux是否支持所要挂载的文件系统格式
- 光盘,软盘以及其他操作系统使用的文件系统的格式于Linux是否支持所要挂载的文件系统格式
- 光盘:ISO9660
- 软盘:fat16或者ext2
- Windows:fat16,fat32,NTFS
- Linux:ext2,ext3
目录结构
- /:文件系统最高一级的目录,称为根目录,一般不把文件放在根目录下
- /bin:进行系统操作所需要的基础命令,即最小系统所需要的命令,位于此目录。这个目录都是普通用户可以使用的可执行文件
- /boot:Linux的内核及引导系统程序所需要的文件,比如vmlinuz,initrd.img,一般情况下,系统引导管理器GRUB位于此目录
- /dev:设备文件存储目录,比如磁盘,光驱,终端设备
- /etc:系统配置文件所在地
- /home:普通用户家目录的默认父目录
- /lib:库文件的存放目录
- /lost+found:在ext2,ext3,ext4文件系统中,系统崩溃或者意外关机而产生的一些文件碎片放在这里,当系统启动的过程中给fsck工具会检查这里,并修复已经损坏的文件系统
- /media:即插即用型存储设备的挂载点自动在这个目录下创建
- /mnt:这个目录一般用作挂载点的父目录,将其他存储设备挂载到该目录的子目录下
- /opt:有些软件包会被安装在这里,建议将自编译的软件(即通过源码包安装的软件)安装在这个目录中
- /proc:操作系统运行时,进程信息及内核信息(CPU,硬盘分区,内存信息)存放在这里
- /root:Linux超级权限用户root的家目录
- /sbin:这个目录和/usr/sbin或者/usr/local/sbin目录一样,存放的是涉及系统管理的必须有root权限才能执行的命令
- /tmp:临时文件目录,/var/tmp目录和这个目录相似
- /usr:存放系统软件包程序的目录,比如命令,帮助文件等
- /var:这个目录的内容经常变动,/var/log存放系统日志的目录,/var/www是Apache服务器站点的存放目录,/var/spool式打印机,邮件,代理服务器等假脱机文件(有输入井和输出井)存放目录
文件类型
- 普通文件:白色,文本文件,二进制文件;‘-’
- 文本文件:基于字符编码(ASCII,UTF8)
- 二进制文件:基于值编码的文件(由具体的应用程序指定或区分某个值是什么意思),比如编译
- 目录文件:蓝色;‘d’
- 链接文件:浅蓝色;‘l’
- 设备文件:黄色;字符设备:一次传一个字节,串行;块设备:一次传一块(4KB),并行
- 块文件:‘b'
- 字符文件:‘c’
- 压缩文件:红色
- 可执行文件:绿色
无论那种类型的文件,Linux都以无结构的流式文件(把文件的内容看成一系列有序的字节流)
Linux中shell种类
- Bourne Shell(sh)
- Korn Shell(ksh)
- C Shell(csh):主要在BSD版本的UNIX系统中使用,语法和C语言类似
- BASH:Linux系统默认的Shell
Linux的环境变量
- 系统级的环境变量对登陆系统的所有用户均有效
- 用户级的环境变量仅对当前登录用户有效
- PATH:命令搜寻路径,指明Shell将到哪些目录中寻找命令或者程序
- HOME:当前用户的家目录
- HISTSIZE:历史记录数
- LOGNAME:当前用户的登录名
- HOSTNAME:主机的名称
- SHELL:当前用户使用的Shell类型
- LANGUAGE:语言相关的环境变量
- MAIL:当前用户的邮件存放目录