第二章linux文件系统管理Word文档下载推荐.docx
《第二章linux文件系统管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第二章linux文件系统管理Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
/proc:
虚拟目录,不占用物理空间,保存当前系统运行的一些信息。
/lib:
这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。
几乎所有的应用程序都须要用到这些共享库。
附加:
-lost+found#不正常关机的错误文件片段,每一个分区中都有此目录
2、文件和目录的命令规则
可以长达255个字符。
区分大小写。
不推荐使用\(转义字符),可能遇到一些意想不到的问题。
3、绝对路径和相对路径
1)绝对路径:
从根目录开始描述到文件位置的完整路径。
2)相对路径:
当前路径到要查找文件路径的便捷路径。
可以使用pwd命令查看用户所在的当前路径。
4、使用cd命令改变用户的工作目录。
cd
#回当前用户家目录
cd~
#也是回当前用户家目录
cd..
#回上一次所在的目录
cd/root
#使用绝对路径
cduser1
#当前路径在/home目录下,使用相对路径进入user1目录
谁告诉我用哪个用户登陆,主机名字是什么,现在在哪个目录?
5、ls命令:
列出当前目录或指定目录中的内容
1)ls-l(以长列表方式显示文件,一共显示9列:
文件类型、文件权限、硬连接数、文件拥有者、文件所属组、文件大小、更改时间、文件名)
注:
也可以使用ll命令,其实ll命令是ls–l命令的一个别名。
通过aliasll命令可以查看ll对应的相关命令。
第一列:
共10位:
第1位:
代表文件类型(在linux中,所有东西都被当成文件)
-:
一般文件
d:
目录文件
b:
块设备文件
c:
字符设备文件
l:
链接文件
p:
人工管道
s:
套接字
第234位:
代表文件所有者的权限。
第567位:
代表文件所属组的权限。
第89
10
位:
代表其他用户的权限。
第二列:
表示的是有多少文件连接到inode(inode就文件的物理地址)。
对于文件,是文件的硬链接数:
对于目录,是其下子目录的数量。
硬链接就是一个物理文件的多个文件名(稍候会将到)
第三、四列:
前面是文件的所属用户,后面是文件的所属组。
第五列:
文件大小,以字节为单位。
(可以使用ls–lk命令以块为单位显示文件大小,linux默认块大小是1k,可以使用命令查看块大小:
tune2fs-l/dev/sda1|grepBlock)
第六、七、八列:
文件最后一次的更改时间(modifytime)
第九列:
文件名字
2)ls-a(包括隐藏文件,隐藏文件的文件名前有一个点)
我们看到两个都是点的奇怪目录,它们代表的是什么呢?
.
代表当前目录
..
代表上一级目录
3)ls-R(递归到子目录中)
4)ls-dl(显示目录信息的长列表信息)
ls–ld命令查看的指定目录的详细信息,而不是目录下的文件的信息。
提示:
可以用tab键补全你没有输完整的命令和文件名。
如果补全最终带有/,证明这是个目录。
6、七种文件类型:
l(软链接):
b(块文件,磁盘等存储设备):
C(字符文件,如键盘、鼠标、虚拟终端等)
P(命名管道):
用来在进程之间传输数据
S(套接字):
在程序执行的时候起相互通信的作用
1、linux是如何存储文件的?
linux中,一个文件被分为2部分存储:
其中文件属性部分被记录在inode表中,文件的内容部分被存储在block区。
这种将属性与内容分离的存储方式可以更灵活、更安全。
2、什么是inodenumber?
系统中每一个文件或目录都对应一个inodenumbrer,用户通过文件名访问文件或目录,linux系统使用inodenumber访问文件或目录。
3、inode表:
1)一个分区被格式化成ext2/ext3的文件系统的过程,就是创建inode表、划分物理储存块的过程。
2)inode表中的字段说明:
文件类型(常规文件、目录、等等)
文件权限
硬链接数:
和inodenumber相关联的文件名的数量
UID、GID
size:
文件的大小
时间戳:
包括3种时间戳
accesstime:
最后存取时间
modifytime:
最后修改时间(修改了这种时间戳,其它2种时间戳也会变更)
changetime:
inode表中记录最后一次被修改的时间,如权限等。
指针:
指明该文件被存放在哪几个物理blocks中。
3、inode与目录和文件
1)新建目录时,为其分配一个inode和一个block,inode存储目录自身的
属性,且通过属性的pointer字段指向block;
block保存的是该目录下所有文件名、目录名与inodenumber的对应关系。
2)新建文件时,分配一个inodenumber和多个block,同时也将该文件的
文件名和inodenumber添加到所在目录的block中。
4、linux如何查找文件的?
1)linux访问一个文件时,首先从根目录开始获取该文件所在目录的inodenumber;
2)然后依据目录的inodenumber查inode表,通过pointer字段找到目录对应物理块,物理块记录的是该目录下所有文件的文件名和inodenumber对应关系,所有我们现在就找到了所要找的文件的inodenumber。
3)然后根据文件的inodenumber再次查找inode表,通过pointer字段的值确定该文件被存储在哪些物理块中。
5、可以使用ls-li命令查看文件的inodenumber。
三、复制、移动、创建、删除文件
1、cp:
复制文件和目录:
1)常用参数:
-i(interactive):
在覆盖文件前询问
-f(force):
强制删除文件,不需要确认
-r(recursive):
递归的复制整个目录树
-p(preserve):
保留权限、所有者、时间戳
2)cp和inode
分配一个未使用的inode号码,在inode表中添加一个新项目。
在目录中创建一个entry,关联文件名和inode–no。
把数据复制到新文件中。
实例1:
备份/etc目录下所有文件到/root/bak/目录下,同时保留文件属性。
2、rm:
不可恢复式的删除文件
1)rm-i文件(交互式)
rm-r目录(递归式)
rm-f文件(强制)
2)rm和inode
减少链接数量、从而释放inode号码,这个号码可以被重复利用
把数据块放在可用空间列表中
删除目录项目
实例2:
删除/root/etc-bak目录及其下的所有文件和目录,不需要确认
3、创建文件或空目录
1)touch:
若文件存在,将文件的访问时间改为现在的时间;
2)若文件不存在,系统会建立一个新的文件,但会改变文件的时间戳。
touch实验1:
通过touch改变已有文件的时间戳。
2)mkdir:
创建空目录
4、mv:
剪切文件或目录:
1)mv和cp的区别
cp生成完全相同的两个文件;
使用mv后源文件消失,只保留目标文件。
2)mv和inode
a、如果mv命令的目标和源文件在同一个分区下,mv就会:
使用新文件名新建目录项目
删除带有原文件名得原有目录项目
对inode表无影响(除了时间戳以外),对数据在磁盘上的位置也无影响(不会移动任何数据)
b、若源文件和目标文件在不同的分区,mv命令的行为相当于复制和删除。
5、判断文件内容
通过file命令,可以判断文件的类型,如文本文件、html、可执行的shell脚本、空文件或目录
在打开前检查文件的类型以决定使用哪种恰当的程序操作文件
四、软、硬链接
1、硬链接:
1)什么是硬链接:
一个文件对应一个inodenumber,一个inodenumber可以对应多个不同的文件名,这些文件名就是这个文件的硬链接。
硬链接是一个物理文件的多个访问点
硬链接文件不能跨分区建立。
(为什么?
)
不允许在目录上创建硬链接。
(为什么?
2)rm与硬链接
rm删除硬链接的同时,使真实文件的硬链接数减1
只要有一个硬链接存在,文件就存在
当硬链接数量减少到0时,文件就会被删除
3)建立硬链接
语法:
ln文件名硬链接名
删除刚才建立的硬链接
可以看到passwd的硬链接数又变回1
2、软链接(符号链接)
1)什么是软链接
软链接是指向另一个文件的指针文件。
当你使用cat或less之类的命令从软链接中读取文件时,你实际上读取的是它指向的文件的内容。
事实上,除了rm以外的其它命令都是对它指向的文件的操作。
删除软链接会删除这个链接本身,而不是它指向的文件。
软链接可以跨分区创建
2)创建软链接
ln-s文件名软连接名
建立的软链接文件和它指向的源文件的不同点:
inode号不同:
说明软链接和源文件是不同的文件
文件类型不同:
软链接的文件类型标识为l,而/etc/passwd是一个普通文件
权限不同:
软链接的权限无关紧要,它所指向的文件的权限会控制对文件的存取
大小不同:
软链接内容是指向物理文件的路径名,因此它的大小就是路径名的字符总数
3)rm与软链接
rm会删除软链接本身,而不是它指向的文件
五、文件搜索
1、查找可执行文件
1)which:
按照$PATH的顺序查找一个可执行命令的完整路径
上面一行的ls的别名;
下面一行/bin/ls就是ls的可执行文件的完整路径。
2)whereis搜索一个可执行命令及其相关配置、帮助文件
/bin/ls是可执行文件位置,后面两个就是帮助文件了
2、locate命令:
基于数据库的文件搜索。
1)locate命令简介:
首先系统通过updatedb命令生成一个包括文件名和路径信息的locate数
据库,locate再在此数据库中搜索匹配记录。
[root@orcl~]#updaedb
locate命令只能搜索文件名,文件名可以模糊匹配。
搜索结果显示匹配条件包括完整路径名的多条记录。
2)使用locate查找文件
使用locate命名查找网卡配置文件:
locateifcfg-eth0
locate查找不到updatedb更新之后建立的文件
数据库更新后,新建立的文件就找到了
3、find命令
1)find是在当前环境中查找匹配的目录和文件,有如下特点:
比locate命令慢,但比locate更精确
如果没有指定目录,默认使用当前目录
只能查找用户具备读取和执行权限的目录
2)常用参数
A、-user:
根据文件拥有者寻找文件
find/home-userroot#查找/home下所有者为root的文件:
B、-group:
根据文件所属组寻找文件
find/boot-grouproot
C、-name:
根据文件名寻找文件
D、-perm:
根据文件权限寻找文件
find/root/tmp–perm222#查找权限是222的文件
find/root/tmp-perm+222#+代表用户、组、其他3组权限
只要有一组包括写权限的文件就匹配。
find/root/tmp-perm+222#-代表用户、组、其他3组权限
都有写权限的文件才能匹配。
E、-size:
根据文件大小寻找文件
find/root-size+40M#查找大于40M的文件
大小前面用+表示大于这个值
-表示小于这个值
不带符号就表示等于了
单位也有讲究:
k是小写的,M和G是大写的
F、-type:
根据文件类型寻找文件,参数对应c、b、l、f、d
find/dev-typeb#查找块文件
3)find命令和逻辑表达式
A、搜索条件默认使用and运算符连接
查找conf结尾,还要是20k以上的文件
find/-name*.conf-size+20k
B、使用-o来进行或运算,或-not来进行否运算
要找conf结尾或20k以上的文件
find/-name*.conf–o-size+20k
C、逻辑运算符的优先级依次是not、and、or,可以使用括号来改变逻辑运算的顺序,但是必须使用转义符“\”
查找以conf结尾,但所有者不是root的文件
find/-name*.conf-not-userroot
在/home下查找所有者既不是root,又不是user1的文件
find/home-not\(-userroot-o-useruser6\)
4)find和存取时间
A、文件的inode时间戳有如下3种类型
atime:
文件最后一个被读取
mtime:
文件数据最后一次被修改
ctime:
文件属性最后一次被修改(通过touch、chmod等命令)
B、通过stat命令查找文件的3种时间戳
statfile1
查找属性修改日期少于10天的文件,+10代表大于10天
find-ctime-10
4)使用find来执行命令:
find使用-exec或–ok选项会对查找到的文件执行命令,通常当要删除
或备份查找的文件时使用该选项。
-exec执行命令时不确认,直接执行;
-ok执行时需要确认
命令必须以(“\”)结尾
{}代表前面查找到的文件名
实例1:
备份配置文件
find/etc-name"
*.conf"
-okcp{}{}.bak\;
实例3:
提示删除保存时间超过3天以上的非root用户的临时文件
find/tmp-ctime+3-not-userroot-okrm{}\;
六、检查文件系统空闲空间
1、df:
显示每个分区的空间总量、已用空间总量和剩余空间总量。
一般使用时加–h参数,表示以G或M为单位(不加表示以k为单位)。
2、du:
显示当前所有目录(包括子目录)的空间使用情况(以k为单位)–h选项:
以G或M为单位
–s选项:
只显示单个目录
七、压缩和归档
1、压缩
1)文本文件可以被压缩到原文件的25%左右,图形文件等压缩效果没有文本文件明显。
2)gzip和gunzip:
linux标准的压缩、解压缩工具
默认删除原文件,只保留压缩后的文件
只能用来压缩文件,不能压缩目录
-c(保留原来的文件,并新增一个压缩文件)
-v(显示压缩比)
2)bzip2和bunzip2:
压缩效果好于gzip,用法同gzip
2、文件归档(打包)
1)什么是归档:
归档是把多个文件备份到一个文件中,归档通常伴随着压缩。
2)tar:
文件归档命令
-c:
创建归档文件
-t:
列举归档文件
-x:
从归档中提取文件
-f:
文件归档的名称
-v:
显示执行过程
-z:
使用gzip来压缩
-j:
使用gzip2来压缩
tar实验1:
将/var/log文件归档,同时使用bzip2压缩打包的文件
tarcvfjlog.tar.bz2/var/log
tar–tflog.tar.bz2#查看归档文件内容
解压打包文件
tarxvfjlog.tar.bz