原帖由 "sunsroad " 发表:
BTW:要检查该目录所有文件占用的空间应该用这个命令:du。
譬如说前面说的36是如何计算出来:
首先我们要先了解你所用的文件系统的IO BLOCK(中文叫作簇)为多少,在你所使用的这个文件系统的IO BLOCK大小是4096 Bytes。
他意义是文件系统最小的读写及分配单位,每次读写操作你都不能小于这个尺寸。即使你的文件是只有一个字节。而且文件在硬盘上的存储也是以这个为单位,就是说如果文件尺寸小于这个值,那么它在磁盘上占用的空间就是4096字节。
占用空间的具体算法是:(进一(文件尺寸/4096))×4096。根据这个你就可以计算出你所列举的例子中的文件的空间使用状况:34890除以4096,大约等于8.5,进一法取得为9,就是说文件在磁盘上占用了9个BLOCk,每个BLOCK为4K,所以这两个文件占用的空间就是36K。
这个规则也适合于目录,不过不会出现为0的目录,即使是空目录
原帖由 "sunsroad"]"t"权限用在文件上面是没有意义的,不是什么在交换区的概念,它跟文件的执行没有关系,而主要是为了文件共享设置的。 [/quote 发表:
[quote]原帖由 "风流涕淌" 发表:
1,t 权限是粘着位,例:TMP目录下,任何人都有读写执行权限,但是不是任何人对里边的可写权限的文件就可以删除呢,当然不是了,这个就是粘着位的做用,只有所有者才有权删除自已的文件,当然,ROOT除外
2,关于文件安全的另一种权限,
i权限 也就是不可修改权限 例:chattr u+i aaa 则aaa文件就不可修改,无论任何人,如果删除就用u-i就好了
a权限 也就是只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。方法和i权限一样加
如果想要看某个文件是不是有这个权限,用lsattr filename就行了
原帖由 "maowei" 发表:
系统默认情况下建立文件与目录的权限是:
#vi /etc/bashrc 可以看到一般用户是002 root用户是022
说明:一般用户默认建立文件权限是666-002=664 建立目录权限是777-002=775
root默认建立文件的权限就是666-0..........
原帖由 "netocool" 发表:
一个目录可以属于多个用户吗?
因为现在是要求某个目录可以使属主同组的部分用户可以读写,但是同组的部分用户不能写
这个要求怎么实现呢?
原帖由 "wingger" 发表:
代码:
$ touch temp
创建了一个空文件,现在用ls -l命令查看该目录下文件的属性(我这里用中文版):
如下:
代码:
[root@Linux_chenwy temp]# ls -l
总用量 36
-rw-r--r-- 1 root root 34890 10月 19 20:17 httpd.conf
-rw-r--r-- 1 root root 0 10月 19 20:16 temp
代码:
总用量 36:这一行告诉我们该目录中所有文件所占的空间。
1该文件硬链接的数目。
root文件的属主。
root文件的属主r o o t所在的缺省组(也叫做r o o t )。
34890用字节来表示的文件长度,记住,不是K字节!
10月 19 20:17文件的更新时间。
temp or httd.conf 文件名。
-rw-r--r-- :这是该文件的权限位。
第一个横杠:指定文件类型,表示该文件是一个普通文件。(所创建的文件绝大多数都是普通文件或符号链接文件)。
除去最前面的横杠,一共是9个字符,他们分别对应9个权限位。通过这些权限位,可以设定用户对文件的访问权限。对这两个文件的精确解释是:
代码:
rw-:前三位,文件属主可读、写
r--:中间三位,同组用户可读
r--:最后三位,其他用户只可读
temp在创建的时候并未给属主赋予执行权限,在用户创建文件时,系统不会自动地设置执行权限位。这是出于加强系统安全的考虑
总用量 36:这一行告诉我们该目录中所有文件所占的空间。
1该文件硬链接的数目。
root文件的属主。
root文件的属主r o o t所在的缺省组(也叫做r o o t )。
34890用字节来表示的文件长度,记住,不是K字节!
10月 19 20:17文件的更新时间。
temp or httd.conf 文件名。
如果在文件列表时看到“ t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚存)。
原帖由 "sunsroad" 发表:
"t"权限用在文件上面是没有意义的,不是什么在交换区的概念,它跟文件的执行没有关系,而主要是为了文件共享设置的。
关于文件系统,有很多的东西我们需要去认真的了解。譬如说前面说的36是如何计算出来:
首先..........
原帖由 "sunsroad" 发表:
同时在这里我想强调一下自个的一个观点:希望各位在整理自个的心得的时候,能够尽量本着负责的态度,将确定正确的资料整理出来。因为在bbs上的影响是比较广泛的,特别是象CU这样的论坛,一个错误的观点一旦散布出去,造成的影响是很大的,这一点我在很多地方都有很深的体会。
原帖由 "wingger" 发表:
明白,呵呵,我这也是从其它地方来的资料,想不到这么多错,汗!!!一定更正
原帖由 "wingger" 发表:
目录和文件有一点点不同,明天继续
原帖由 "双眼皮的猪" 发表:
这些知识还8错,鼓励....
目录可以到7,文件最高到6...
这个在计算umask的时候有些不同...
btw:我怎么觉得你这些资料都是Linux/Unix shell编程指南里的一样,似曾相识
- R选项意味着对所有子目录下的文件也都进行同样的操作。
- h选项意味着在改变符号链接文件的属主时不影响该链接所指向的目标文件。
第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。
第二步,在下面一行按照u m a s k值写下相应的位,在本例中是0 0 2。
第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。
稍加练习就能够记住这种方法。
第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即可。
1) 文件的最大权限rwx rwx rwx (777)
2) umask值为0 0 2 - - - - - - -w-
3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限
4) 文件权限rw- rw- r-- (664) 这就是文件创建缺省权限
1) 文件的最大权限rwx rwx rwx (777)
2 ) u m a s k值为0 2 2 - - - -w- -w-
3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限
4) 文件权限rw- r-- r-- (644) 这就是文件创建缺省权限
新建文件file1和目录file2,查看新建文件和目录的默认权限,umask为022时
目录权限rwx r-x r-x (755)
文件权限rw- r-- r-- (644)
可以看到,新建文件和目录的默认权限改变了,umask为002时
目录权限rwx rwx r-x (775)
文件权限rw- rw- r-- (664)
原帖由 "netocool" 发表:
一个目录可以属于多个用户吗?
因为现在是要求某个目录可以使属主同组的部分用户可以读写,但是同组的部分用户不能写
这个要求怎么实现呢?
原帖由 "明月清风" 发表:
用find可以查找什么时候被访问过,至于被谁访问过,是不是要结合last、fuser或审计日志了
对 bash 的使用者来说,个人的启始档案是 $HOME/.bashrc,使用者可以将 umask 设定在其中。像 RedHat 9 是放 /etc 之下,档名为 bashrc。
当使用者没有自行设定,umask 设定值便来自于此系统的默认设定。
tcsh 的个人启始档案为 ~/.tcshrc,系统设定文件在 /etc/csh.cshrc。
对 umask 来说,有效的设定值只有后三位数。在 bash 中,虽然可带入四位数字,但第一个数字,必须为 0。这点请注意。
硬链接文件有两个限制
1、不允许给目录创建硬链接;
2、只有在同一文件系统中的文件之间才能创建链接。
Linux为每个文件分配一个称为索引节点的号码inode,可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。系统是通过索引节点(而不是文件名)来定位每一个文件。
1、在当前目录中增加一个目录项,其文件名域填入newfile,并分配了一个新的inode,假设是262456。
2、将原文件(在1磁头、20柱面、30扇区)的内容复制了一份到新的空闲物理块(假设是1磁头、20柱面、31扇区)。
3、填写一些其他关键信息,使系统通过这些信息及inode号码可以完成物理地址的转换。
我们实际使用文件时一般是通过文件名来引用的。通过上面的讨论,我们知道:
1个inode号码肯定和一片完全属于一个文件的数据区一一对应。那么一个文件系统中两个或更多个不同的文件名能否对应同一个文件呢?答案是肯定的。
我们知道inode号码是记录在文件名对应的目录项中的,我们可以使两个或多个文件的目录项具有相同的inode值,实际上就使它们对应着同一个文件。
有几个目录项具有相同的inode号,我们就说这个文件有几个硬连接(hardlink),
对于普通文件,ls -l命令的连接计数count域的数值就是本文件拥有的硬连接数。硬连接可以通过ln命令建立,
进一步说明:
硬连接文件实际上并不是一种新的文件类型,两个文件互为对方的硬连接。它们应该都是普通文件(谁能告诉我:其它类型的文件可以硬连接吗?)。两个文件除了名称或/和文件目录不同外,其它部分完全相同,更改了一个文件,另一个的文件长度、内容、更改时间等都将相应发生变化,更改了一个文件的权限位mode,另一个也会发生同样的变化。
注意连接计数字段count,互为硬连接的两个文件的count值都是2,表明有两个inode指向同一文件的inode。
当我们删除其中一个文件时,系统首先将(count-1)->;count,如果结果是零,就将其目录项和数据区都删除,否则只将本目录项删除,数据区仍然保留,仍然可以通过另外的文件名访问。根据这个特性,可以通过为重要的文件建立硬连接的方法来防止其被误删除。
互为硬连接的多个文件必须位于同一个文件系统上。根设备及任何一个需要mount才能挂接进来的分区、软盘、NFS、光驱等都是一个独立的文件系统,每个文件系统有一个相应的设备号,不同文件系统中具有相同inode节 点的文件间没有任何联系。系统则通过设备号和inode号的组合唯一确定一个文件。
原帖由 "prowoo" 发表:
有这样的代码???
drwxr--r-- 1 admin 0 10月 19 20:16 temp
原帖由 "falalala" 发表:
我的一个实际问题。帮忙看看,最好是具体一点。
我有5位开发人员。其中 aaa bbb ccc ddd eee (为方便说明)
需要到相同的服务器去管理自己的程序。
如 aaa 做的 /usr/local/tomcat/webapps/app1
bbb 做..........
原帖由 "剑心通明" 发表:
这个也不太清楚,望高手给解释一下,多谢!
原帖由 "wolf0403" 发表:
如果一个文件具有 sticky bit 则表示文件始终被保持在内存中(这样反复加载的时候可以速度加快)
原帖由 "JohnBull" 发表:
不仅限于Linux,标题应该是《类UNIX系统基础》才对
作为Linux主题,最好还应该介绍ext2/3文件系统的特有的属性。
man chattr
原帖由 "wingger" 发表:
发现,httpd2.conf实际已经不存在了,是断链,而httpd1.conf变也了普通文件
$ umask
0022
$ touch my_text
$ ls -li
2513361 -rw-r--r-- 1 root root 0 11月 12 14:33 my_text
$ ln my_text hard_my_text
$ ln -s my_text soft_my_text
$ ls -li
2513361 -rw-r--r-- 2 root root 0 11月 12 14:33 hard_my_text
2513361 -rw-r--r-- 2 root root 0 11月 12 14:33 my_text
2513395 lrwxrwxrwx 1 root root 7 11月 12 14:34 soft_my_text -> my_text
$ echo TEST > my_text
$ ls -li
2513361 -rw-r--r-- 2 root root 5 11月 12 14:36 hard_my_text
2513361 -rw-r--r-- 2 root root 5 11月 12 14:36 my_text
2513395 lrwxrwxrwx 1 root root 7 11月 12 14:34 soft_my_text -> my_text
$ ls -li
2513361 -rw-r--r-- 2 root root 17 11月 12 14:38 hard_my_text
2513582 -rw-r--r-- 1 root root 28 11月 12 14:39 my_text
2513361 -rw-r--r-- 2 root root 17 11月 12 14:38 my_text~
2513395 lrwxrwxrwx 1 root root 7 11月 12 14:34 soft_my_text -> my_text
$ ls -li
2513361 -rw-r--r-- 1 root root 17 11月 12 14:38 hard_my_text
2513613 -rw-r--r-- 1 root root 41 11月 12 14:40 my_text
2513582 -rw-r--r-- 1 root root 28 11月 12 14:39 my_text~
2513395 lrwxrwxrwx 1 root root 7 11月 12 14:34 soft_my_text -> my_text
$ more hard_my_text
TEST
TEST1
TEST2
$ more my_text
TEST
TEST1
TEST2
TEST_Emacs!
TEST2_emacs!
$ more my_text~
TEST
TEST1
TEST2
TEST_Emacs!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |