权限对文件的重要性
r(read):可读取此文件的实际内容,如读取文本文件的文字内容等。
w(write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件)
x(eXecute):该文件具有可以被系统执行的权限。
Windows下面一个文件是否具有执行的能力是通过“扩展名”来判断的,例如.exe,.bat,.com等,但是Linux下面,我们的文件是否能被执行则是由是否具有“x”这个权限来决定,而跟文件名是没有绝对的关系。
权限对目录的重要性
w(modify contents of directory)这个可写入的权限对目录来说是很强大的。因为它表示你具有更改该目录结构列表的权限,也就是下面这些权限:
新建新的文件与目录:
删除已经存在的文件与目录(不论该文件的权限为何);
将已存在的文件或目录进行重命名;
转移该目录内的文件、目录位置。
总之,目录的x代表的是用户能否进入该目录成为工作目录的用途,所谓的工作目录(work dirctory)就是你目前所在的目录。
x(access directory):目录的x代表的是用户能否进入该目录成为工作目录的用途,所谓的工作目录(work directory)就是你目前所在的目录。
如果你在某目录下不具有x的权限,那么你就无法切换到该目录下,也就无法执行该目录下的任何命令,即使你具有该目录的r权限。
所以,要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w的权限不可随便给。
Linux文件种类与扩展名
文件种类
普通文件(regular file)第一个字符为【-】,依照文件的内容,又大略可以分为:
纯文本文件(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本文件是因为内容为我们可以直接读到的数据,例如数字、字母等。可以执行cat 文件名来查看该文件内容。
二进制文件(binary):Linux当中的可执行文件(scripts,文字批处理文件不算)就是这种格式的。举例来说,刚刚执行的命令cat就是一个binary file。
数字格式文件(data):有些程序在运行的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件(data file).它能够通过last命令读出来。但是使用cat时,会读出乱码,因为它属于一种特殊格式的文件。
目录(directory):第一个属性为【d】,例如【drwxrwxrwx】。
连接文件(link):就是类似Windows系统下面的快捷方式,第一个属性【l】,例如【lrwxrwxrwx】
设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在/dev这个目录。通常分为两种:
块(block)设备文件:就是一些存储数据,以提供系统随机访问的接口设备,第一个属性为【b】。
字符(character)设备文件:也即是一些串行端口的接口设备,例如键盘、鼠标等。第一个属性为【c】。
套接字(sockets):为数据接口文件,这种类型的文件通常被用在网络上的数据连接。第一个属性为【s】通常在/var/run这个目录中可看到这种文件类型了。
管道(FIFO,pipe):是一种特殊的文件类型,它主要的目的在解决多个程序同时访问一个文件所造成的错误问题。第一个属性【p】
Linux文件扩展名:
一个Linux文件能不能被执行,与它的第一列的10个属性有关,与文件名根本一点关系也没有。只要你的权限当中具有x的话,例如【-rwxr-xr-x】即代表这个文件可以被执行。
虽然如此,不过我们仍然希望可以由扩展名来了解该文件是什么东西,所以通常我们还是会以适当的扩展名来表示该文件是什么种类的。下面有数种常用的扩展名:
*.sh:脚步或批处理文件(scripts),因为批处理文件为使用shell写成的,所以扩展名就编成.sh。
*Z,*.tar,*.tar.gz,*.zip,*.tgz:经过打包的压缩文件。
*.html,*.php:网页相关文件。
从网络上传送到你的Linux系统中,文件的属性与权限确实是会被改变的。
Linux文件长度限制
在Linux下面,使用默认的Ext2/Ext3文件系统时,针对文件的文件名长度限制为:
单一文件或目录的最大容许文件名为255个字符。
r(read):可读取此文件的实际内容,如读取文本文件的文字内容等。
w(write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件)
x(eXecute):该文件具有可以被系统执行的权限。
Windows下面一个文件是否具有执行的能力是通过“扩展名”来判断的,例如.exe,.bat,.com等,但是Linux下面,我们的文件是否能被执行则是由是否具有“x”这个权限来决定,而跟文件名是没有绝对的关系。
权限对目录的重要性
目录主要的内容是记录文件名列表,文件名与目录有强烈的关联。
w(modify contents of directory)这个可写入的权限对目录来说是很强大的。因为它表示你具有更改该目录结构列表的权限,也就是下面这些权限:
新建新的文件与目录:
删除已经存在的文件与目录(不论该文件的权限为何);
将已存在的文件或目录进行重命名;
转移该目录内的文件、目录位置。
总之,目录的x代表的是用户能否进入该目录成为工作目录的用途,所谓的工作目录(work dirctory)就是你目前所在的目录。
x(access directory):目录的x代表的是用户能否进入该目录成为工作目录的用途,所谓的工作目录(work directory)就是你目前所在的目录。
如果你在某目录下不具有x的权限,那么你就无法切换到该目录下,也就无法执行该目录下的任何命令,即使你具有该目录的r权限。
所以,要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w的权限不可随便给。
Linux文件种类与扩展名
文件种类
普通文件(regular file)第一个字符为【-】,依照文件的内容,又大略可以分为:
纯文本文件(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本文件是因为内容为我们可以直接读到的数据,例如数字、字母等。可以执行cat 文件名来查看该文件内容。
二进制文件(binary):Linux当中的可执行文件(scripts,文字批处理文件不算)就是这种格式的。举例来说,刚刚执行的命令cat就是一个binary file。
数字格式文件(data):有些程序在运行的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件(data file).它能够通过last命令读出来。但是使用cat时,会读出乱码,因为它属于一种特殊格式的文件。
目录(directory):第一个属性为【d】,例如【drwxrwxrwx】。
连接文件(link):就是类似Windows系统下面的快捷方式,第一个属性【l】,例如【lrwxrwxrwx】
设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在/dev这个目录。通常分为两种:
块(block)设备文件:就是一些存储数据,以提供系统随机访问的接口设备,第一个属性为【b】。
字符(character)设备文件:也即是一些串行端口的接口设备,例如键盘、鼠标等。第一个属性为【c】。
套接字(sockets):为数据接口文件,这种类型的文件通常被用在网络上的数据连接。第一个属性为【s】通常在/var/run这个目录中可看到这种文件类型了。
管道(FIFO,pipe):是一种特殊的文件类型,它主要的目的在解决多个程序同时访问一个文件所造成的错误问题。第一个属性【p】
Linux文件扩展名:
一个Linux文件能不能被执行,与它的第一列的10个属性有关,与文件名根本一点关系也没有。只要你的权限当中具有x的话,例如【-rwxr-xr-x】即代表这个文件可以被执行。
虽然如此,不过我们仍然希望可以由扩展名来了解该文件是什么东西,所以通常我们还是会以适当的扩展名来表示该文件是什么种类的。下面有数种常用的扩展名:
*.sh:脚步或批处理文件(scripts),因为批处理文件为使用shell写成的,所以扩展名就编成.sh。
*Z,*.tar,*.tar.gz,*.zip,*.tgz:经过打包的压缩文件。
*.html,*.php:网页相关文件。
从网络上传送到你的Linux系统中,文件的属性与权限确实是会被改变的。
Linux文件长度限制
在Linux下面,使用默认的Ext2/Ext3文件系统时,针对文件的文件名长度限制为:
单一文件或目录的最大容许文件名为255个字符。
包含完整路径名称及目录(/)的完整文件名为4096个字符。