](https://i-blog.csdnimg.cn/blog_migrate/576340a359de17e3fcd2b936316c88cf.png#pic_center)
🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:“没有罗马,那就自己创造罗马~”
文章目录
- 目录结构解析
- Summary
- part3
- part4
- part5
目录结构解析
drwxr-xr-x 2 student student 4096 10月 8 2023 Desktopd表示这是一个目录。rwx表示所有者(student)有读(r)、写(w)、执行(x)权限。r-x表示与所有者同组的用户(student)有读、执行权限,没有写权限。r-x表示其他用户也有读、执行权限,没有写权限。2表示这个目录有两个硬链接(目录至少有一个硬链接指向它自身,另一个可能是父目录)。student是所有者用户名。student是所属组名。4096表示目录占用的空间大小(通常是文件系统的块大小)。10月 8 2023是目录的最后修改日期。Desktop是目录的名称。
drwxr-xr-x 3 student student 4096 10月 9 2023 Documents- 同上,但这个目录有三个硬链接,最后修改日期是10月9日。
drwxr-xr-x 2 student student 4096 10月 25 16:57 Downloads- 同上,但最后修改日期和时间是10月25日16:57。
-rw-r--r-- 1 student student 8980 10月 8 2023 examples.desktop-表示这是一个普通文件。rw-表示所有者有读写权限。r--表示与所有者同组的用户只有读权限。r--表示其他用户也只有读权限。1表示这个文件有一个硬链接。student是所有者用户名。student是所属组名。8980是文件大小。10月 8 2023是文件的最后修改日期。examples.desktop是文件的名称。
-rwxrwxr-x 1 student student 8304 10月 22 21:26 hello-表示这是一个普通文件。rwx表示所有者有全部权限。rwx表示与所有者同组的用户也有全部权限。r-x表示其他用户有读、执行权限。1表示这个文件有一个硬链接。student是所有者用户名。student是所属组名。8304是文件大小。10月 22 21:26是文件的最后修改日期和时间。hello是文件的名称。
-rw-rw-r-- 1 student student 140 10月 23 09:40 hello.c-表示这是一个普通文件。rw-表示所有者有读写权限。rw-表示与所有者同组的用户也有读写权限。r--表示其他用户只有读权限。1表示这个文件有一个硬链接。student是所有者用户名。student是所属组名。140是文件大小。10月 23 09:40是文件的最后修改日期和时间。hello.c是文件的名称,通常表示这是一个C语言源代码文件。
-rw-rw-r-- 1 student student 1680 10月 23 22:11 hello.o- 同上,但文件大小是1680字节,最后修改时间是10月23日22:11,
hello.o通常表示这是一个编译后的目标文件。
- 同上,但文件大小是1680字节,最后修改时间是10月23日22:11,
-rw-rw-r-- 1 student student 72 10月 23 20:17 helloprinter.c- 同上,但文件大小是72字节,最后修改时间是10月23日20:17,
helloprinter.c表示这是一个C语言源代码文件。
- 同上,但文件大小是72字节,最后修改时间是10月23日20:17,
-rw-rw-r-- 1 student student 43 10月 23 17:46 helloprinter.h- 同上,但文件大小是43字节,最后修改时间是10月23日17:46,
helloprinter.h表示这是一个C语言头文件。
- 同上,但文件大小是43字节,最后修改时间是10月23日17:46,
-rw-rw-r-- 1 student student 1552 10月 23 22:11 helloprinter.o- 同上,但文件大小是1552字节,最后修改时间是10月23日22:11,
helloprinter.o表示这是一个编译后的目标文件。
- 同上,但文件大小是1552字节,最后修改时间是10月23日22:11,
-rwxrwxr-x 1 student student 8376 10月 23 22:11 helloworld_linked- 同第5条,但文件大小是8376字节,最后修改时间是10月23日22:11,
helloworld_linked可能是一个可执行文件。
- 同第5条,但文件大小是8376字节,最后修改时间是10月23日22:11,
-rwxrwxr-x 1 student student 8304 10月 22 21:28 hw- 同第5条,但文件大小是8304字节,最后修改时间是10月22日21:28,
hw可能是一个可执行文件或作业文件。
- 同第5条,但文件大小是8304字节,最后修改时间是10月22日21:28,
-rw-rw-r-- 1 student student 309 10月 23 22:08 makefile- 同第6条,但文件大小是309字节,最后修改时间是10月23日22:08,
makefile用于GNU Make工具,用于自动化编译和构建程序。
- 同第6条,但文件大小是309字节,最后修改时间是10月23日22:08,
drwxr-xr-x 2 student student 4096 10月 8 2023 Music- 同第1条,但目录名称是
Music。
- 同第1条,但目录名称是
-rwxrwxr-x 1 student student 8304 10月 22 21:57 params- 同第5条,但文件大小是8304字节,最后修改时间是10月22日21:57,
params可能是一个可执行文件或参数文件。
- 同第5条,但文件大小是8304字节,最后修改时间是10月22日21:57,
-rw-rw-r-- 1 student student 236 10月 22 21:56 params.c- 同第6条,但文件大小是236字节,最后修改时间是10月22日21:56,
params.c表示这是一个C语言源代码文件。
- 同第6条,但文件大小是236字节,最后修改时间是10月22日21:56,
drwxr-xr-x 2 student student 4096 10月 8 2023 Pictures- 同第1条,但目录名称是
Pictures。
- 同第1条,但目录名称是
drwxr-xr-x 2 student student 4096 10月 8 2023 Public- 同第1条,但目录名称是
Public。
- 同第1条,但目录名称是
drwxr-xr-x 2 student student 4096 10月 8 2023 Templates- 同第1条,但目录名称是
Templates。
- 同第1条,但目录名称是
drwxr-xr-x 2 student student 4096 10月 8 2023 Videos- 同第1条,但目录名称是
Videos。
- 同第1条,但目录名称是
Summary
ls
- 列出你当前工作目录中的内容。

- 显示隐藏文件:
- 输入命令查看所有文件,包括隐藏文件(以“.”开头的文件):
ls -a

- 列出文件的详细信息:
- 使用带选项的
ls命令列出详细信息:
ls -l

该命令执行结果含义:
- 开头第一个:d表示目录,-表示普通文件
- 开头第一个后面的3组字符分别表示的是,
* ①文件所有者的权限(User that owns the file),
* ②文件所有者同组用户的权限(group of people to whom the file),
* ③其它用户的权限(rightmost group permissions for everyone)。- 每组字符都是按照以下顺序排列的
- r:读权项 read and copy file
- w:写权项 change file
- x:执行权项 execute file
- -:表示无相应权限
- 每组字符都是按照以下顺序排列的
- 第一个数字表示硬链接数量
- 硬链接(Hard Link)——文件的克隆:一种特殊的文件链接方式,直接链接到文件的数据,而不是文件名。
- Hard Link feature:
- 1.指向同一文件系统或目录(文件数据的直接链接,而不是文件名)
- 2.共享inode(索引节点),意味着这些结点指向的是同一个文件数据。
- 3.删除行为:删除硬链接不影响原始文件,只有当硬链接都被删除后,文件数据才会被删除
- 4.不可跨分区:硬链接不能跨越不同的分区或储存设备创建。
- **5.不可链接目录:**因为硬链接链接目录可以绕过目录的权限系统,可导致安全问题。
- 硬链接的数量表示有多少个有效的硬链接指向该文件的inode。例如,如果一个文件有2个硬链接,这意味着有两个不同的文件名指向同一个文件数据。即使其中一个硬链接被删除,文件数据仍然存在,因为还有其他硬链接指向它。
- eg:硬链接:假设你有文件
file1.txt,你创建了一个硬链接file2.txt指向file1.txt。file2.txt和file1.txt实际上是同一个文件,对任何一个文件的修改都会反映在另一个上。如果你删除了file1.txt,file2.txt仍然可以访问文件内容,因为文件数据仍然存在。
- 拓展学习:
- 软链接(Symbolic Link)——文件的快捷方式:一个特殊类型的文件,包含另一个文件或目录的路径。
- Symbolic Link feature:
- 1.软链接本身是一个独立的文件,拥有自己的文件名,文件权限,inode(索引节点)。
- 2.独立inode
- 3.可跨文件系统:可跨越不同的文件系统,链接到不存在的文件或目录
- 4.删除行为:删除目标文件会使得软链接变成死链接(dangling link),因为软链接中存储的是目标路径,而不是数据本身。
ls -lt

ls -lS

ls -lrS

ls -lrt

| 快捷键 | 功能描述 |
|---|---|
Ctrl-A | 跳转到行首 |
Ctrl-E | 跳转到行尾 |
Ctrl-K | 删除从光标位置到行尾的所有内容 |
Ctrl-W | 删除从光标位置到它之前的最近的单词边界 |
Ctrl-Y | 粘贴最近删除的内容 |
Ctrl-C | 终止当前运行的命令 |
Ctrl-L | 清屏 |
Ctrl-R | 搜索历史命令 |
Tab | 自动补全命令或文件/目录名称 |
↑ 和 ↓ | 在历史命令中向上或向下滚动 |
| 命令 | 功能描述 |
|---|---|
| ls | 列出当前工作目录中的文件和目录 |
| ls -a | 列出当前工作目录中的所有文件和目录,包括隐藏文件 |
| ls -l | 以详细信息格式列出文件和目录 |
| ls -lt | 以修改时间排序的详细信息格式列出文件和目录 |
| ls -lS | 以文件大小排序的详细信息格式列出文件和目录 |
| ls -lrS | 以大小降序显示文件和目录 |
| ls -lrt | 以修改时间升序显示文件和目录 |
| mkdir 目录名 | 在当前工作目录中创建一个新目录 |
| cd 目录名 | 切换到指定的目录 |
| cd | 切换回到用户的主目录 |
| cd ~ | 切换到用户的主目录 |
| cd … | 切换到上一级目录 |
| pwd | 显示当前工作目录的绝对路径 |
| cd . | 停留在当前目录 |
| ls ~/… | 列出主目录的父目录中的内容 |
part3
| 命令 | 功能描述 |
|---|---|
command > file | 将标准输出重定向到文件(会覆盖文件内容)。 |
command 2> file | 将标准错误重定向到文件。 |
command >> file | 将标准输出追加到文件末尾(不覆盖文件内容)。 |
command < file | 从文件读取标准输入。 |
| `command1 | command2` |
cat file1 file2 > file0 | 将 file1 和 file2 的内容合并到 file0 中。 |
sort | 对输入数据按字母顺序或数字顺序进行排序。 |
who | 显示当前登录的用户列表。 |
| `who | wc -l` |
part4
| 命令 | 功能描述 |
|---|---|
* | 匹配任意数量的字符 |
? | 匹配一个字符 |
man command | 查看命令的在线手册页 |
whatis command | 查看命令的简要描述 |
apropos keyword | 查找在手册页标题中包含指定关键字的命令 |
part5

