Linux点点滴滴(持续更新)

       /proc,这个目录是一个虚拟的档案系统,它放置的数据都在内存中,如系统核心,形成信息,接口设备以及网络状态。因为数据都是在内存中,所以不占据任何硬盘空间。

      在系统分区的时候,/etc ,/bin,/lib,/dev,/sbin这五个目录需要与根目录放在同一分区中,因为系统启动要用到很多命令,模块,配置等,而其他的目录则可以放入另外的分区,单独成为一个分区。

       目录属性的意义:

       r: 表示具有读取目录结构清单的权限,即可以利用ls指令将该目录的内容列表显示出来。

       w:可以改变目录结构的权限,如建立新的档案与目录;删除已经存在的档案与目录(无论属于谁);将已存在的档案或目录进行更名;搬移该目录内的档案,目录位置。

       x:表示可以cd到目录。

      umask:档案预设权限,指使用者在建立档案或目录时的默认属性。档案与目录的预设属性是不同的。

      对于文件,希望没有x权限,所以最大为666,预设属性是-rw-rw-rw-;

      对于目录,x是与是否可以进入目录有关,因此预设所有权限,为777,drwxrwxrwx.

      umask是指以上的默认值需要减掉的权限。如果umask = 0002,则

      建立档案时:(-rw-rw-rw-) - (--------w-) => -rw-rw-r--;

      建立目录时:(drwxrwxrwx)-(d-------w-) => drwxrwxr-x;

      chattr:设置档案隐藏属性,例如chattr +i filename:使档案不能被删除、改名,设定链接或新增资料。+a参数,档案只能增加数据,不能呢歌删除,只有root才能设置这个属性。例如log日志文件。

     lsattr [-aR] 档案或目录,-a:将隐藏的属性也露出来,-R连同子目录数据也列出来。

     档案特殊权限:SUID/SGID/Sticky Bit

     SUID:让一般使用者在执行某些程序的时候,能够暂时具有该程序拥有者的权限。例如/etc/passwd和/etc/shadow,该位对目录无效。

     SGID:可以用在档案和目录上。如果SGID设置在binary file,则不论使用者是谁,在执行该程序的时候,他的有效群组会变成该程序的群组所有人。如果设定在目录上,则在A目录内建立的档案或目录的group,将会是A目录的group.

      Sticky Bit:目前只针对目录有效。作用:如果一个目录设置了该位,使用者若在该目录下具有w和r的权限,当使用者在该目录下建立档案或目录时,只有档案拥有者与root才有权利删除。即一个人只能针对自己建立的档案或目录进行删除/更名/移动等动作。如/tmp目录就有该特殊位,drwxrwxrwt,任何人都可以在该目录下新建文件,但是只能删除自己创建的文件。

       设置档案特殊属性:chmod   exyz filename, SUID:4, SGID:2, Sticky Bit: 1,就是在rwx前再加上一位,(4,2,1或它们的任意和),三者都是替换x位,suid替换所有者x, sgid替换用户组x, sticky bit替换其他人的x,如下:

      

       最后一个大写的S,T,表示该位是空的,不起作用,因为设置的文件属性是666,都没有x属性,即档案拥有者都没有执行权限,则在运行设置了这些特殊位的二进制文件时,具有档案所有者权限,但是它本身都没有x权限,所以还是没有x权限,所以是不起作用的。

       硬链接只是在某个目录下增加一个该档案的关联数据(增加inode计数),删除其中一个,inode计数减1,只有在计数为0时才能删除,所以硬链接可以防止误删。硬链接不占用磁盘空间和inode,只能在一个partition进行数据关联,限制就是不能跨filesystem,不能link目录。

       软连接即符号链接,会建立一个独立的档案,档案的内容就是指向它所链接的文件的路径,就是用档案来做指向的动作,所以源档案被删除后,这个链接就打不开了,而且它可以链接一个不存在的路径,但也打不开。。木有实体阿,硬链接会产生一个l文件,会占用inode与block

      

      如图,硬链接不增加inode,与源文件指向同一个inode,软连接耗费一个inode,指向的是不同的inode,是一个新的单独的文件。

      当建立一个空目录时,如tmp/testing, 实际上有三个东西:/tmp/testing; /tmp/testing/.   /tmp/testing/..(代表上层目录/tmp),所以建立一个新目录时,新的目录的连接数是2,而上层目录的连接数会增加1,如下:

              

       

        文件系统挂载:

        /etc/filesystems:系统指定的测试挂载的文件系统类型; /etc/filesystems:linux系统已经加载的文件系统类型。

       查看系统中已有的文件系统驱动程序命令:/lib/modules/$(uname -r)/kernel/fs/

      linux文件系统(ext2),数据存取是缩阴式文件系统。文件系统主要有:

      superblock:记录此filesystem的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式与相关信息登;

      inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码;

      block:实际记录文件的内容,若文件太大时,会占用多个block。

      如下图:

    

       包括6部分,boot sector, superblock, inode bitmap, inode table, data block等6大部分。data block用来放置文件内容数据的地方,ext2中支持的有1k, 2k, 4k三种。文件的block记录文件的实际数据,目录的block则记录该目录下文件名与inode号码的对照表。inode记录文件的属性/权限等数据,每个inode固定大小为128bytes, 每个文件占用一个,因此文件系统能够创建的文件数量与inode数量有关,另inode不包括文件名。日志式文件系统会多出一块记录区,随时记载文件系统的主要活动,可加快系统复原时间。硬链接只是多了一个文件名对该inode号码的链接而已,相当于别名,软链接相当于windows快捷方式,会占用inode与block,软链接文件自己的内容实际就是指向的文件的路径。

       常用的压缩命令有gzip, bzip2,bzip2比gzip要好些,这两个命令都是对单一文件进行压缩,虽然也能针对目录,但意思是针对“目录内的所有文件分别压缩”。而tar可以用来对文件或目录打包,并支持gzip,bzip2压缩。-j 表示通过bzip2进行压缩/解压缩 -z:gzip    -c:打包  -t 查看  -x:解压缩 -v:将过程中正在处理的文件名显示出来  -C:解压缩时用,表示在特定目录解压缩。

      压缩:tar -jcv -f filename.tar.bz2  filename

      查询:tar -jtv -f filename.tar.bz2

      解压缩:tar -jxv -f filename.tar.bz2 -C 目录

      dump可以备份文件系统或单一目录,针对文件系统时,可进行0-9的level差异,level 0为完整备份。restoore命令可以还原被dump的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值