四、目录和文件的基本操作
查看当前的工作目录-pwd
显示用户当前所在的工作目录位置
切换工作目录-cd
将用户的工作目录更改到其它位置
绝对路径:以“/”,根目录为起点
相对路径:以当前目录为起点
相对路径的表现形式
列表显示目录内容-ls
显示目录中内容,包括子目录和文件相关属性信息
ls+【选项】+【文件或目录】
1、常用选项
-l、-a、-A、-d、-h、-R、- -color
-l: 以长格式(Long) 显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。11命令与1s -1功能相同
-a: 显示所有(All)子目录和文件的信息,包括名称以点号“. "开头的隐藏目录和隐藏文件。
-A: 与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”。
-d: 显示目录(Directory)本身的属性,而不是显示目录中的内容。
-h: 以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB
等单位。此选项需要结合-1选项一- 起使用。
-R: 以递归(Recursive) 的方式显示指定目录及其子目录中的所有内容。
--color: 在字符模式中以颜色区分不同的文件。默认已开启
-i: 显示文件和目录的inode号。
通常情况下:
- 深蓝色表示目录
- 白色表示一般文件
- 绿色表示可执行的文件
- 黄色表示设备文件
- 红色表示压缩文件
2、用ls -l命令查看某一个目录会得到一个7个字段的列表
■ 第1字段:文件属性字
第一个字符代表文件的类型:
“-”表示该文件是一个普通文件
“d”表示该文件是一个目录
“l”表示该文件是一个软链接文件。类似于Window下的快捷方式
第1个字符的后面9个字母表示该文件或目录的权限位:
r表示度(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录)
其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限
■ 第2字段:文件硬链接数
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数
如果新建一个目录,是2,表示目录和本身
如果目录下还有目录,则是2加上本录下下的一级目录数
■ 第3字段:文件\目录拥有者
■ 第4字段:文件\目录拥有者所在的组
■ 第5字段:文件所占用的空间(默认以字节为单位)
如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小。
Linux系统中一切皆为文件,因此目录也是一种文件。
■ 第6字段:文件\目录最近访问或修改时间
■ 第7字段:文件名
如果是一个符号链接(软链接文件),那么会有一个“->”箭头符号,后面根一个它指向的文件名
3、结合通配符
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件
- “?”: 代表任意一个字符,有且一个字符;
- “*”: 代表任意数个字符,可以是0个或者1个或者多个;
- “【】”: 表示可以匹配字符组中的任意一个字符。
1、通过别名机制简化常用的、比较长的命令
Linux中alias是一种别称,我们可以为命令、脚本等设置一个别名,方便每次使用,相当于windows下创建一个快捷方式。
alias+命令别名=‘命令’
“=”两边不能有空格
2、举例
设置myls为ls-alh的别名
3、取消别名
unalias+命令别名
二、统计目录及文件空间占用情况-du
1、统计指定目录(或文件)所占用磁盘空间的大小
du+【选项】+【文件或目录】 默认只统计目录
2、常用选项
| 选项 | 说明 |
|---|---|
| -a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
| -h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
| -s | 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小 |
| - -max-depth=n | 统计所有小于等于第n层的目录的总大小 |
3、统计出/var/log目录中子目录的大小
du -h - -max-depth=1/var/log/
可层层筛查
三、创建新目录-mkdir
1、创建新的空目录
mkdir+【选项】+目录位置及名称
-p 可以一次性创建嵌套多层目录
2、举例
- 在当前目录下创建名为123的子目录
mkdir 123
■ 用-p嵌套式,创建目录 /11,在/11目录下创建子目录22,在/11/22目录下创建子目录33
四、创建空文件-touch命令
1、更新文件的时间标记
2、经常用于创建多个新的空文件
touch+文件
3、举例
创建三个空文件,文件名分别为aa.txt、bb.txt、cc.txt
五、创建链接文件-ln
1、为文件或目录建立链接文件,类似于windows系统的快捷方式
2、链接文件类型
■ 软链接(又称为符号链接)
ln +【-s】+ 源文件或目录 链接文件或目标位置
用绝对路径,以免软链接移动了找不到源文件
■ 硬链接
ln + 源文件或目录 链接文件或目标位置
| 文件类型 | 软链接文件 | 硬链接文件 |
|---|---|---|
| 删除源文件后 | 失效 | 仍然可用(文件占用空间与源文件相同) |
| 使用范围 | 适用于文件或目录 | 仅适用于文件 |
| 保存位置 | 与源文件可在不同的文件系统中 | 必须与源文件在同一个文件系统(即同一个分区)中 |
| 与源文件的关系 | 相当于快捷方式 | 相当于给文件起个别名 |
| inode号码 | inode号码不同 | inode号码相同 |
- 当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名;但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得"硬链接数"减1。
- 需要注意的是不能对目录做硬链接。在日常工作中几乎不会建立文件的硬链接。
- 文件是存储在硬盘上的,硬盘的最小存储单位叫做"扇区”(sector),每个扇区存储512字节。
- 一般连续八个扇区组成一个"块"(block),一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。
- 文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在"块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。因此,一个文件必须占用一个inode,并且至少占用一个 block。
- 每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个文件名。
- 所以,当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode,看该用户是否具有访问这个文件的权限。如果有,就指向相对应的数据block。