Linux操作系统基础
一、目录和路径
1.目录
目录是一组相关文件的集合,一个目录下可以包含文件之外还可以包子目录,对于Windows和Linux都是采用“路径名+文件名”的方式来表示一个文件或目录的完整路径,路径反映了目录与目录之间的关系。
2.路径
Linux的路径由到达定位文件的目录组成,在系统中用斜杠表示“/”,而Windows的路径用“\”。
路径分为绝对路径和相对路径。
- 绝对路径:从根目录“/”开始往下直到到达文件所经过的所有目录,比如“cd /usr/bin”。
- 相对路径:指目标路径相对于当前目录的位置,有两个特殊的目录“.”—当前目录,“…”—上一级目录。,比如:cd / ,cd bin
3.目录结构区别
- Window以并行的树形结构表示目录:
- Linux 的目录结构是完全树状的机构,它使用单一的根目录结构,所有的分区都挂载到单一的根目录“/”上:
4.Linux目录结构说明
- /:根目录,一般根目录下只存放目录,在Linux中有且只有一个根目录,所有的内容都是从这里开始。
- /bin,/usr/bin:可执行二进制文件目录,比如:ls,tar等。
- /boot:放置Linux启动时用到的一些文件,比如内核文件。
- /dev:存放Linux的设备文件,访问该目录下某个文件,相当于访问某个设备,比如光驱。(Linux中一切皆文件)
- /etc:系统配置文件的存放的目录。
- /home:系统默认的用户的家目录,新增用户时,用户的家目录都会放在此目录下,其中“~”表示当前用户的家目录
- /lib,/usr/lib,/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的支持。
- /tmp:一般用户或正在执行的程序的临时文件存放的目录,任何人都可以访问。
- /srv:服务启动之后要访问的数据库的目录。
- /usr:应用程序存放的目录,相当于是Windows的Program Files目录,其中/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放库文件,/usr/local存放软件升级包,/usr/share/doc:存放文件说明文档,/usr/share/man:程序说明文件存放目录
- /var:放置系统执行过程经常变化的文件的目录,比如日志:/var/log,/var/log/message,邮件/var/spool/mail等。
5.Linux 系统中一切皆文件
Linux对数据库文件(.mp3,.jpg),程序文件(.c,.h,.java),设备文件(鼠标,USB设备),网络文件(socket)等都抽象成文件,使用同一的方式管理。Linux操作系统中也必须区分文件类型,通过文件类型可以判断文件属于可执行文件、文本文件还是数据文件,可以通过 file 命令来查看,在Linux中文件可以没有扩展名。
- 文件的分类:普通文件、目录文件、设备文件、管道文件和链接文件
- 普通文件
是计算机操作系统存放数据,程序等信息的文件,一般长期存放在外存储器中,一般包含文本文件、数据文件、可执行的二进制文件。 - 目录文件
Linux系统把目录看成是一个特殊的文件,利用它构成文件系统的树形结构,目录文件只允许系统管理员进行修改,用户进程可以读取,但不能修改,“.”表示当前目录,”…”表示上一级目录 - 设备文件
Linux 把每个设备都映射成一个文件,就是设备文件,用于向 I/O设备提供连接的一种文件,分为字符设备文件和块设备文件,字符设备文件以一个字符为基本I/O单位处理,块设备以字符块作为基本I/O单位。 - 管道文件
管道文件多用于进程间的通讯。 - 链接文件
类似于Windows中的快捷方式,分为软链接和硬链接
6.文件权限
(1)文件权限就是文件的访问控制权限,即哪些用户哪些群组可以访问以及如何访问文件的权限。
1)文件的访问用户:通过设定权限可以从以下三种访问方式限制访问权限
I. 文件所有者(即创建文件本身的用户):可以访问任意他自己创建的文件以及允许所在的用户组能访问用户的文件。
II. 用户组:多个用户组合成用户组,例如某一类或某一项目中的所有用户都能被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。
III.其他用户:用户也可以将自己的文件向系统内的所有用户开发。这样,系统内的所有用户都可以访问该用户的目录或文件,其他用户就是指others用户。
类似于 QQ 空间
(2)访问的权限:用户能够控制一个给定文件或目录的访问权限。
1)读权限(r):对于文件来说,具有读的权限,对于目录来说,具有浏览的权限
2) 写权限(w):对于文件来说,具有新增,修改文件内容的权限,对于目录来说,具有删除,移动目录内文件的权限。
3)可执行权限(x):对文件来说,具有可执行文件的权限,对目录来说,具有进入目录的权限。
查看一个文件的用户和权限相关信息的命令:ls -l
上面列出各项的意义:
文件类型 [拥有者权限][组用户权限][其他用户权限] 硬链接 用户名 组名 文件大小 最后一次修改时间 文件名
第一个字母表示文件的类型:“-”:普通文件,“d”:目录文件,”c”:硬件字符设备文件,“b”:硬件块设备文件,“s”:管道文件,“l”软链接文件
后面9个字母表示三组权限:分别是文件所有者、用户组、其他用户拥有的权限。
第一组权限控制访问自己的文件权限,即所有者权限,比如1.txt 为读写(rw-)
第二组权限控制用户组访问其中一个用户的文件的权限,比如1.txt为读写(rw-)
第三组权限控制其他所有用户访问一个用户的文件的权限,比如1.txt为可读(r–)