6.Shell 编程从入门到精通 --- 文件和文件系统

1.Linux 下存在5种文件类型
	1.普通文件
	2.目录
	3.字符设备文件
	4.块设备文件
	5.符号链接文件


3.寻找文件
	find pathname -options [-print -exec -ok ...]
	pathname 要查找的路径
	-print find 命令将匹配的文件输出到标准输出
	-exec find 命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为 'command' {}\; 注意 {} 和 \; 之间的空格
	-ok 和 -exec 的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令

	例子:
	find /etc -iname "*rc" -exec cp {} /tmp/rcfile/ \;
	

4.遍历文件	
	在使用find命令的 -exec 选项处理匹配到的文件时,find 命令将所有匹配到的文件一起传递给 exec 执行。但有些系统对 exec 命令的长度有限制,
  这样在 find 命令运行几分钟以后,就会出现溢出错误。这就是 xargs 命令的用户所在。
    find 命令把匹配到的文件传递给 xargs 命令,而 xargs 命令每次只获取文件的一部分而不是全部,不像 -exec 那样。它可以先处理最先获取的一部分文件,
  然后是下一批,并如此继续下去。
    有些系统中,使用 -exec 选项会为每一个匹配到的文件发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样就会出现很多进程。而使用 xargs
  只有一个进程。

  
	//使用 xargs 命令来测试它们分别属于哪类文件
	find /tmp -type f -print  | xargs file

	//用 grep 命令在 /etc 目录下的所有文件中查找 namserver 这个单词
	find /etc -type f | xargs grep 'nameserver' 


5.文件系统
	1.文件系统与磁盘分区
	  我们通常将文件系统认为是磁盘分区,Linux 中的基本文件存储单元都是磁盘分区,即将一个或者多个硬盘进行逻辑分区,操作系统将每个逻辑分区视为独立的磁盘。
	Linux 将这些磁盘分区视为设备处理,进而通过 /dev 目录中的特殊文件使用文件IO机制。
	  有2种类型的设备文件:块设备和字符设备。两者之间的一个重要差别是,块设备被缓冲,而字符设备因为没有文件管理,所以不被缓冲。
	  操作系统为了有效的和磁盘打交道,将磁盘的存储方式按照一定的规则统一起来。这种规则规定了文件是怎么样被映射进磁盘的分区磁道中的;规定了当没有足够连续
	的磁道存储大文件时,是怎么样通过多个不连续的磁道拼接容纳文件的,等等。这个规则就叫做文件管理系统,或者叫做磁盘分区格式。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值