Linux 拥有一个档案系统 - 意思是 "一个有很多档案和目录的结构" - 和 DOS 非常相似. 档案都有一个名称(档名, 它的组成必须要遵循一些规则), 被置放在目录当中.有些是可执行的程式, 它们必须要一些额外的参数才可以正确执行. 另外, 你也可以使用"万用字元" (wild card) , 输出/入导向, 管道(piping). 但, 和 DOS 仍有些许的不同.
- - 第一: 在 DOS 下, 档名必须遵守 8.3 格式的规则. 比方说 NOTENOUG.TXT. 在Linux 里我们有比较自由的空间. 假如你的 Linux 已经安装在 ext2 或是 umsdos 等等的档案系统上, 你就可以使用长档名来为档案取名, 这样可以使档名中包含更多的字元和"点". 举个例子, This_is.a.VERY_long.filename. 请注意到我用了大写和小写的字母,
而事实上...
- - 第二: 大小写是不一样的. 因此, FILENAME.tar.gz 和 filename.tar.gz 是两个不同的档案. 这个规则在命令来说也是成立的: 当使用 ls 这个指令 (和 DOS 的 DIR 类似)会得到目录下案的列表, 但是用 LS 的话, 系统只会丢给你一个错误的讯息.
- - 第三: 用 "." 开始的档案名称会被视作隐藏档. 例如: .I.am.a.hidden.file ,
使用 ls 时就看不到了 (ps. 用 ls -a 可以看见隐藏档)
- - 第四: Linux 并没有规定可执行档一定要有 .COM , .EXE 或 .BAT 的延伸档名. 如果我们用 ls -F 这个命令, 就会发现执行档後面会被加上一个 '*'. 例如:
$ ls -F
letter_to_Joe Cindy.jpg cjpg* I_am_a_dir/ my_1st_script*
cjpg* , my_1st_script* 是可以被执行的. 在 DOS 中, .BAK 表示备份档案, 而 Linux
则在档名尾加上一个 '~'.
- - 第五: DOS 程式需要的参数要用 /switch 的方法给予, 而 Linux 却是用 -switch.
就像 dir /s 与 ls -R. 附注一点, DOS 下的某些程式如 PKZIP 和 ARJ, 是用和 Un*x
一样的参数给定方式.