linux文件系统与目录管理

文件属性和权限

tips

man -k name
//可在man page中搜索字符串
sync
#强制将数据(可能在缓冲区)写入硬盘

文件相关属性

d:目录
-:文件
l:链接
b:接口设备
c:串行端口设备,例键盘鼠标

访问文件过程:
  1.系统通过目录项找到文件名对应的节点号
  2.通过节点号获取节点信息
  3.根据节点号信息找到真正存储数据的数据块
查看文件节点信息:
  stat 文件名

文件以及目录权限

chgrp:
   //修改文件所属群组
   chgrp -R hn test.txt
chown:
   //修改文件拥有者,也可以修改所属群组
   chown -R hn:hn test //-R表示如果test是目录则递归其下的所有子文件夹及其文件
   chown -R hn.hn test
   chown .zd test//仅修改群组
chmod:
   //修改文件权限
   chmod 777 test.txt//rwx 分别用 421 代表
   chmod u|g|o +|-|= r|w|x test.txt
权限实例:
/dir/file1
/dir2
在这里插入图片描述
删除不需要r权限,只要对目录有wr权限并知道目录下有这个文件,就可以删除//就像闭上眼睛开门杀人

常用的几个命令

cp :加上-a可以将文件的所有特性复制过来//备份时用
ls : ls -lrt //常用,按修改时间查看
    mtime:(modify-time)文件内容最后一次改变的时间
    ctime:(change-time)状态(inode节点)修改的时间,包括修改文件内容
    atime:(access-time)最后一读取或执行的时间
    //ls默认显示时间是创建时间或最近的修改日期
od : 以二进制方式读取文件内容
moreless : 按页查看//less可以向前翻页
headtail : 查看前几行或后几行//-n 10
find:
   后加指令:find ../ -name nothing -exec ls -lrt {} \; //指令放在 -exec 与 {}\ 之间
   find [PATH] -name filename //常用
dd:
   dd if=“in_filename” of=“out_filename” bs=“block_size” count=“number”

文件和目录的默认权限和隐藏权限

umask : 预设权限
设置隐藏属性:
   chattr [±=] [ASacdistu] 文件名或目录名
   a:不删不修只能增(root)
   i:不删不改名不链接不写不增(root)
显示隐藏属性:
   lsattr -[adR] 文件或目录
   -a:隐藏文件也显示
   -d:只显示本身的属性
   -R:子目录也显示

文件特殊权限SUID,SGID,SBIT

SUID:显示为rws,如果没有x的权限,显示为大写S
   仅对二进制程序有效
   执行者对该程序要有x的权限
   只在执行过程中有效
   执行过程中具有拥有者的权限
SGID:显示为rws,如果没有x的权限,显示为大写S
   对文件:
      对二进制程序有效
      执行者对该程序要有x的权限
      执行过程中拥有该程序群组的支持
   对目录:
      具有r和x的权限可以进入此目录//前提
      用户在此目录下的有效群组将变成该目录的群组
      用途:若用户在此目录下有w权限,则使用者所建立的新文
             件,群组为目录的群组
SBIT:显示为rwt,如果没有x的权限,显示为大写T
   对目录:
      当用户对于此目录具有W,X权限,即具有写入权限时:
      当该用户在该目录下新建文件或目录时,仅有自己与root才能删除
      chmod o+t file_name
权限设定:
SUID : 4
SGID : 2
SBIT : 1
chmod 4755 test;//加在普通权限前边

文件系统特性

1.superblock:记录此文件系统得整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式和相关信息等;
2.inode:记录文件的权限等属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码
3.block:实际记录文件的内容的地方,文件太大时占用多个block;
索引式文件系统:
   通过inode中记录的block号码访问数据
FAT格式
   例如U盘,该格式没有inode存在,访问数据时,每个block号码放在前一个block中,类似于链表式访问数据。
Linux的EXT2格式
   如此小的inode怎么访问到磁盘上所有的数据?
简单说明例:
   //inode(128bytes)
   //block按1k计算,每笔block号码占用4bytes
   //所以1K的block可以记录256笔block号码
    一个inode除了权限等属性外有:
    12个直接block号码 :12x1k
    1个间接block号码 :256x1K
    1个双间接block号码 : 256x256x1K
    1个三间接block号码 : 256x256x256x1K
   总共:16GB

硬链接

多个档名链接到同一个inode号码
删除任何一个,inode和block还在,所以数据不会丢失
修改任何一个,另一个访问时是修改后的数据
不会占用inode和block//特殊情况,新档名刚好将目录的block填满时,会新加一个block
不能跨文件系统
不能链接目录
实例:ln  源档名   链接档名

软链接

等于windows快捷方式
档名指向被链接的文件的档名
删除软链接不影响源文档
删除源文档,软链接会访问不到原始档名
实例:ln -s 源档名   链接档名

文件的压缩、打包和备份

压缩与解压缩:
   gzip 【-v】 filename 生成.gz压缩文件,源文件被删除
   //-v:显示压缩比等信息
   gzip -d filename.gz 解压缩恢复成源文件
   bzip2 同上
   xz 同上
压缩并打包tar:
   1压缩:tar -jcv -f filename.tar.bz2 filename …
      //查看包内文件:tar -jtv -f filename.tar.bz2
   2解压缩:tar -jxv -f filename.tar.bz2 【-C 指定的解压目录】
      -c:建立打包文件
      -x:解压缩
      //以下三种压缩方式能力依次提升,压缩时间也一样提升
      -z:通过gzip压缩或解压
      -j:通过bzip2压缩或解压缩
      -J:通过xz进行压缩或解压缩
      -v:显示正在处理的文件名
      -f:后面要直接接被处理的文件名
      -p:权限不变
      -P:可以带上根目录 /
      --exclude=filename :排除此文件
linux和windows换行格式转换:
      dos2unix或unix2dos
转换文本的编码格式:
      iconv -f [原本编码] -t utf8 filename to new_filename

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值