前言
这里只是自己对Linux的一些浅薄理解,如果有错误希望指出;
一、Linux中什么是文件
- 在Linux中一切都是“文件”,文本、图片、音频、视频…,这些都是文件;而磁盘驱动、网络链接、管道通讯和进程都属于文件的范畴。
- 在Linux中文件只是比特和字节流,她不关心这些最终形成了什么格式,只有在Linux上的程序在意;例如:vim如何编辑读取文件,当你使用vim打开可执行文件也是能打开的,但是读到的信息你可能会有些看不懂;
二、Linux中文件规则
在Linux中和常用的操作系统有一定的区别;
1、不同的命名
-
在了Win和Mac os系统的文件名称,没有区分大小写 book.txt 和 BOOK.txt 两个文件是相同的;
-
在Linux中文件是需要区分大小写的
root@VM-4-10-ubuntu:~# touch book.txt
root@VM-4-10-ubuntu:~# touch Book.txt
root@VM-4-10-ubuntu:~# touch BOOK.txt
root@VM-4-10-ubuntu:~# ls
book.txt Book.txt BOOK.txt
- 区分大小写也意味着必须准确输入命令和文件名。这一教训是双重的:Linux强制要求你必须精确,而精确性确实是个好东西。同时,Linux也给了你一定程度的灵活性,这在其他操作系统中是找不到的。精确性与灵活性的结合,是让使用Linux变得有趣的一个原因。
2、文件名称长度
- 在Linux下文件名称最多可达255个字符。但是应该尽量控制长度,在终端显示下尽量保证文件名能一行显示完,你应该明智地行使这一权利。
- 有了长达255个字符的空间,就可以自由地将文件名起得更加具有描述性也更准确。
root@VM-4-10-ubuntu:~/Debug# ll
total 8
drwxr-xr-x 2 root root 4096 Nov 8 11:31 ./
dr-xr-x--- 7 root root 4096 Nov 8 11:31 ../
-rw-r--r-- 1 root root 0 Nov 8 11:30 Debug_20231002.log
-rw-r--r-- 1 root root 0 Nov 8 11:30 Debug_20231003.log
-rw-r--r-- 1 root root 0 Nov 8 11:30 Debug_20231004.log
3、命名时不要使用特殊字符
每种操作系统都会有一些禁止使用的字符。
例如:在Mac OS中不允许使用冒号,Windows中则不能使用反斜杠字符。
1. Linux中能够使用的字符。
能安全使用:数字、字母(大写字母或小写字母)、圆点(.)以及下划线(_)。键盘上的有些其他字符也可以正常使用;有些虽然能够使用,但实际情况则比较复杂,因为shell对它们的解释方法可能各不相同;
2. Liunx需要注意的字符
1、“/”字符就永远不能使用,在Linux中"/"用于分隔目录和文件;
2、“空格”字符需要注意使用,但是必须得让shell知道这些空格是文件名的一部分。否则在执行shell指令时会出现错误;
例如:对文件名为“**book log.txt**” 进行创建,会产生两个文件
root@VM-4-10-ubuntu:~# touch book log.txt
root@VM-4-10-ubuntu:~# ls
book log.txt
3、"-“连接符号,链接符号使用不恰当会与shell命令产生冲突;
4、一些通配符” * ", " ? "等
字符 | 建议 |
---|---|
/ | 绝对不能使用。不能被转义 |
\ | 必须转义。避免使用 |
- | 不能作为文件名或目录名的开始 |
[ ] | 必须转义。避免使用 |
{ } | 必须转义。避免使用 |
* | 必须转义。避免使用 |
? | 必须转义。避免使用 |
’ | 必须转义。避免使用 |
" | 必须转义。避免使用 |
注意:这些字符最好都不要使用