Linux文件系统

Linux的文件系统:
根文件系统(rootfs):
root filesystem

LSB,FHS(Filesystem Heirache Standrd)
	/etc,/usr,/var,/root,/home,/dev
	
	/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录;
	/bin:供所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序;
	/sbin:管理类的基本命令,不能关联至独立分 区,OS启动即会用到的程序;
	/lib:基于共享库文件,以及内核模块文件(/lib/modules);
	/lib64:专用于x86_64系统上的辅助共享库文件存放位置;
	/etc:配置文件目录(纯文本文件);
	/home/USERNAME:普通用户家目录;
	/root:管理员的家目录;
	/media:便携式移动设备挂载点;
		cdrom
		usb
	/mnt:临时文件系统挂载点;
	/dev:设备文件及特殊文件存储位置;
		b:block device,随机访问
		c:character device,线性访问
	/opt:第三方应用程序的安装位置;
	/srv:系统上运行的服务用到的数据;
	/tmp:临时文件存储位置;
	/usr:universal shared,read-only data;
		bin:保证系统拥有完整功能而提供的应用程序;
		sbin:
		lib:
		lib64:
		include:C程序的头文件(header files);
		share:结构化独立的数据,例如doc,man等
		local:第三方应用程序的安装位置;
			bin,sbin,lib,lib64,shared
	
	/var:variable data files
		cache:应用程序缓存数据目录;
		lib:应用程序状态信息;
		local:专用于为/usr/local下的应用程序存储可变数据;
		lock:锁文件;
		log:日志目录及文件;
		opt:专用于为/opt下的应用程序存储可变数据;
		run:运行中的进程相关的数据:通常用于存储进程的pid文件;
		spool:应用程序数据池;
		tmp:保存系统两次重启之间产生的临时数据;
		
	/proc:用于输出内核与进程信息相关的虚拟文件系统;
	/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
	/selinux:security enhanced Linux.selinux相关的安全策略等信息的存储位置;

Linux的应用程序的组成部分:
	二进制程序:/bin,/sbin,/usr/bin,/usr/sbin
	库文件:/lib,/lib64
	配置文件:/etc,/etc/DIRECTORY,/usr/local/etc
	帮助文件:/usr/share/man,/usr/share/doc

bash的基础特性:
(1)历史命令
history
环境变量:
HISTSIZE:命令历史记录的条数;
HISTFILE:~/.bash_history;
HISTFILESIZE:命令历史文件记录历史的条数;
history -d OFFSET 清除某条历史命令
-c 全部清除
history #:显示历史中最近的#条命令;
-a:手动追加当前会话缓冲区的命令历史至历史文件中;

	调用历史中的命令:
		!#重复执行第#条命令;
		!!:执行上一条命令
		!string 执行含有该字符串的命令
	
	调用上一条命令的最后一个参数:
		!$:  
		
	控制命令历史的记录方式:
		环境变量: HISTCONTROL
			ignoredups:忽略重复的命令:连续且相同为“重复”;
			ignorespace:忽略所有以空白开头的命令;
			ignoreboth:以上两个都生效
		
		修改环境变量值的方式:export 变量名 =“值”
		环境变量只对当前shell有效,退出后就没有了

文件系统上的其他概念:
Inode:索引节点 描述文件元数据
理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个sector组成一个 block。

文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。

这里值得重复一遍,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。表面上,用户通过文件名,打开文件。
实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。

链接文件:
硬链接:
不能够对目录进行;
不能跨分区;(硬链接是将文件都指向同一个inode,inode不可以跨分区,所以硬链接也不能跨分区)
指向同一个inode的多个不同路径:创建文件的硬链接即为为inode创建新的引用路径,因此会增加其引用计数。
符号链接(软连接):
可以对目录进行;
可以跨分区;
指向的是另一个的文件路径,其大小为指向的路径字符串的长度,不增加或减少目标文件inode的引用计数。

Btrfs:文件系统
技术预览版

核心特性:
多物理卷支持:btrfs可由多个底层物理卷组成;支持RAID,以联机“添加、移除、修改”
写时复制更新机制(CoW):复制、更新及替换指针(会复制原文件,再复制后的文件上进行修改,防止修改错误无法回退);而非“就地”更新
数据及元数据校验码:checksum
子卷:sub_volume
快照:支持快照的快照(类似增量备份)
透明压缩:

文件系统创建:
mkfs.btrfa
-L ‘LABEL’
-d :raid0,raid1,raid5,raid6,raid10,single(指明数据存放方式,默认single)
-m :raid0,raid1,raid5,raid6,raid10,single,dup(放两份数据)(指明元数据存放方式,默认single)
-O (指明在格式化时就要支持的特性)
-O list-all: 列示支持的所有feature

属性查看:
	#btrfs filesystem show

挂载文件系统:
	#mount -t btrfs DEVICE 挂载点

透明压缩机制:(将文件进行自动压缩)
	mount -o compress=(lzo|zlib) DEVICE 挂载点

移动设备时会自动将数据移除

子命令:filesystem,device,balance,subvolume

压缩、解压缩及归档工具

compress /uncompress: .Z
gzip/gunzip: .gz
bzip2/bunzip2: .bz2
xz/unxz: .xz
zip/unzip
tar,cpio

1.gzip/gunzip 
	gzip [OPTION]...FILE...
		-d:解压缩,相当于gunzip
		-c:将结果输出至标准输出(压缩、解压后保留原文件)
		-#:1-9,指定压缩比(压缩比默认是6,压缩比越大,耗时越长)

	zcat:不显示展开的前提下查看文本文件内容

2.bzip2/bunzip2(压缩算法更好)
	bzip [OPTION]...FILE...
		-d:解压缩
		-k:keep,保留原文件
		-#:1-9,指定压缩比(压缩比默认是6,压缩比越大,耗时越长)

	bzcat:不显示展开的前提下查看文本文件内容

3.xz/unxz(压缩算法最好)
	xz [OPTION]...FILE...
		-d:解压缩
		-k:keep,保留原文件
		-#:1-9,指定压缩比(压缩比默认是6,压缩比越大,耗时越长)

	xzcat:不显示展开的前提下查看文本文件内容

4.tar
	tar [OPTION]...

	(1)创建归档
		tar -cf /PATH/TO/SOMEFILE.tar FILE...

	(2)查看归档文件中的文件列表
		tar -tf /PATH/TO/SOMEFILE.tar

	(3)展开归档(指定展开路径)
		tar -xf /PATH/TO/SOMEFILE.tar -C /PATH 

	(4)归档并压缩,展开不用加该参数
		-j:bzip2, -z:gzip, -J:xz
		tar -Jcf /PATH/TO/SOMEFILE.tar.xz FILE...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值