.权限对档案的重要性:
档案是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件等等。因此权限对于
档案来说,意义是这样的:
>r(read):可读取此一档案的实际内容,如读取文本文件的文字内容等;
>w(write):可以编辑、新增或者是修改该档案的内容(但不含删除该档案);
>x(execute):该档案具有可以被系统执行的权限。
Linux下,档案是否能被执行,是由是否具有[x]这个权限决定的,跟档案名没有绝对的关系。
.权限对目录的重要性:
r,w,x对于目录的意义:
>r(read contents in directory): 表示具有读取目录结构列表的权限,可以查询该目录下的文件名数据
>w(modify contents of directory):这个可写入的权限对目录来说,是很了不去的,因为他表示你具有异
动该目录结构列表的权限,即:建立新的档案与目录; 删除已存在的档案与目录(不论该档案的权限为何!);
将已存在的档案或目录进行更名; 搬移该目录内的档案、目录位置
>x(access directory): x代表的是用户能否进入该目录成为工作目录的用途。
例如:drwxr-xr-- 27 root root 4096 Aug 25 02:06 var
非root及root组用户可以查看该目录,即用ls查看此目录下的文件名列表,但不能进入var,因无x权限
.LInux档案种类与扩展名:
任何装置在Linux底下都是档案,不仅如此,连数据沟通的接口也有专属的档案在负责,除了前面提到的一
般档案(-)与目录档案(d)外,还有哪些种类的的档案呢?
>正规档案(regular file):
就是一般我们在进行存取的类型的档案,第一个字符为[-],又大略可以分为:
。纯文本档(ASCII):Linux下的一种文件类型,内容是我们人类可以直接读到的数据,如数字、字
母等等
。二进制文件(binary):如ls,cat等
。数据格式文件(data):有些程序在运作的过程当中会读取某些特定的档案,哪些特定格式的档案可以被
称为数据文件(data file)。例如,我们的Linux在使用者登入时,都会将登录的数据记录在/var/log/
wtmp那个档案,该档案时一个data file,它能够透过last这个指令读出来,但是用cat时就会出乱码
,因为他是属于一种特殊格式的档案。
>目录(directory):[d]
>连结档(link):就是类似于windows系统底下的快捷方式,第一个属性为[l]
>设备与装置文件(device):与系统周边及储存等相关的一些档案,通常都集中在/dev下,通常又分为两种:
。区块(block)设备档:就是一些储存数据,以提供系统随机存取的接口设备,例如硬盘与软盘,你可以
随机的在硬盘的不同区块读写,这种装置就是成组设备了。你可以自行查看一下/dev/sda看看,
会发现第一个属性为[b].(brw-r----- 1 root disk 8, 0 Nov 20 15:59 /dev/sda)
。字符(character)设备文件:亦即是一些串行端口的接口设备,例如键盘、鼠标等等!这些设备的特色
就是"一次性读取"的,不能够截断输出,举例来说,你不可能让鼠标"跳到"另一个画面,而是"滑动"
到另一个地方。第一个属性为[c].(crw------- 1 vcsa tty 7, 0 Nov 20 15:59 vcs)
>资料接口文件(sockets):既然被称为数据接口文件,则这种类型的档案通常被用在网络上的数据承接了,
我们可以启动一个程序来监听客户端的要求,而客户端就可以透过这个socket来进行数据的沟通了。第一
个属性为[s],最常在/var/run这个目录中.(srw-rw-rw- 1 root root 0 Nov 20 15:59 sdp)
>数据传送文件(FIFO,pipe):FIFO也是一种特殊的文件类型,他主要的目的在解决多个程序同时读取一个档
案所造成的错误问题。FIFO是first-in-first-out的缩写,第一个属性为[p]
>Linux档案扩展名:
*.sh:脚本或批处理文件(scripts),为使用shell写成的
*Z,*.tar,*.tar.gz,*.zip,*.tgz:经过打包的压缩文件
*.heml,*.php:网页相关档案
>Linux档案长度限制:在Linux底下,使用预设的Ext2/Ext3文件系统时,针对档案的档名长度限制为:
.单一档案或目录的最大容许文件名为255个字符;
.包含完整路径名称及目录(/)之完整档名为4096个字符。
>Linux文件名的限制:由于Linux在文字接口下的一些指令操作关系,一般来说,你在设定Linux底下的文件
名时最好可以避免一些特殊字符比较好,如:*?><;&![]|\'"'(){},因为这些符号在文字接口下是
具有特殊意义的,文件名开头为[.]表示这个档案为隐藏档,由于指令下达当中,常常会用到
-option之类的选项,所以最好也避免将档案名开头以-或+来命名。