Linux中的文件管理

1、描述Linux发行版的系统目录名称命名规则以及用途

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

2、文件的元数据信息

		文件的元数据指的是文件的属性,其中包括:
						文件名, inode,权限,文件类型,文件大小,文件读取时间,文件改变内容的时间,文件元数据改变的时间

		stat 命令查看或者ls  查看

touch 修改时间戳

3、软连接和硬连接区别

	1、本质:
				硬链接: 本质是同一个文件
				软连接: 本质不是同一个文件
	2、跨设备
				硬链接: 不支持
				软连接: 支持
	3、inode
				硬链接: 相同
				软连接: 不同
	4、链接数
				硬链接: 创建新的硬链接,链接数会增加,删除硬链接数,链接数减少
				软连接: 创建或删除,链接数不会变化
	5、文件夹
				硬链接: 不支持
				软连接: 支持
	6、相对路径
				硬链接: 原始文件相对路劲是相对于当前工作目录
				软连接: 原始文件的相对路劲是相对于链接文件的相对路劲
	7、删除源文件
				硬链接:只是链接数减一,但是链接文件的访问不受影响
				软链接: 链接文件将无法访问
	8、文件类型
				硬链接:和源文件相同
				软链接: 链接文件和源文件无关


	 软硬链接使用范例:
	 
		硬链接本质上就给一个文件起一个新的名称,实质是同一个文件
		硬链接特性
		创建硬链接会在对应的目录中增加额外的记录项以引用文件
		对应于同一文件系统上一个物理文件
		每个目录引用相同的inode号
		创建时链接数递增
		删除文件时:rm命令递减计数的链接,文件要存在,至少有一个链接数,当链接数为零时,该文件被删除
		不能跨越驱动器或分区
		不支持对目录创建硬链接
		格式:
		ln filename [linkname ]
	
	
		范例:
		创建硬连接
		ln  file1.txt  file2.txt

			创建软连接
				一个符号链接指向另一个文件,就像 windows 中快捷方式,软链接文件和原文件本质上不是同一个文件
				软链接特点
				一个符号链接的内容是它引用文件的名称
				可以对目录创建软链接
				可以跨分区的文件实现
				指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数
				软链接如果使用相对路径,是相对于原文件的路径,而非相对于当前目录
				格式:
				ln -s filename [linkname]
				范例:
				#绝对路径
				ln -s /data/dir /data/dirlink
				#相对路径
				cd /data
				ln -s ../data/dir /root/dirlink
				rm -rf /data/dirlink   #删除软链接本身,不会删除源目录内容
				rm -rf /data/dirlink/  #删除源目录的文件,不会删除链接文件
				#查看链接文件指向的原文件
				readlink /data/dirlink

4、Linux上的文件管理类基本命令

			mkdir   创建文件夹
			touch   创建文件
			rmdir    删除文件夹
			rname  修改文件名
			tree     列出文件目录结构
			file       查看文件类型
			ls         查看文件目录
			mv       移动文件或者修改文件名
			cp        拷贝文件夹或者文件
			rm        删除文件或者文件目录
			cd        切换并进去目录
			PWD    显示当前目录路径

5、实践: 1、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符

		在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]]*\([^[:space:]]*\),输出命令 %s#^[[:space:]]*\([^[:space:]]*\)#\1#g1

2、vim中设置tab缩进为4个字符

 vim .vimrc 输入 set tabstop=4