软连接Symbolic Link & 硬链接 Hard Link
further explaination: https://blog.csdn.net/u013982161/article/details/52434309
INODE
理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
*INODE 的内容
inode包含文件的元信息,具体来说有以下内容:
* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
*INODE 的大小
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。
查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。
软连接
是指一个文件里面存了另一个文件的路径/目录同理(节省空间)
eg. /bin 就是一个软连接文件,他应该在usr/bin下面
如何做软链接
也可以为目录做软链接
以下软链接(相对路径的软链接)仅仅是在当前目录下,(不推荐)
**假如你把所有文件拷贝到另一个文件夹里,你会发现文件不存在。 改了一个名字就会导致软链接初见问题,所以软链接尽量使用绝对路径
如何解决服务占用磁盘空间的问题
随着文写的写入/boot下面某文件会越来越大,解决方法是先把文件拷贝到剩余空间大的分区中去,并做软链接到/boot 下面,路径为原路径
硬链接
硬链接不支持对目录做硬链接,只支持对文件做硬链接,不能跨分区
创建了一个文件,新文件与源文件共用一个inode并且相互为硬链接,硬链接删除源文件无影响,软链接会报错,*硬链接并不会占用多余空间
软链接和硬链接比较
硬链接:其实就是同一个文件具有多个别名,具有相同inode,而dentry不同。
1. 文件具有相同的inode和data block;
2. 只能对已存在的文件进行创建;
3. 不能交叉文件系统进行硬链接的创建
4. 不能对目录进行创建,只能对文件创建硬链接
5. 删除一个硬链接并不影响其他具有相同inode号的文件;
软链接:软链接具有自己的inode,即具有自己的文件,只是这个文件中存放的内容是另一个文件的路径名。因此软链接具有自己的inode号以及用户数据块。
1. 软链接有自己的文件属性及权限等;
2. 软链接可以对不存在的文件或目录创建;
3. 软链接可以交叉文件系统;
4. 软链接可以对文件或目录创建;
5. 创建软链接时,链接计数i_nlink不会增加;
6. 删除软链接不会影响被指向的文件,但若指向的原文件被删除,则成死链接,但重新创建指向 的路径即可恢复为正常的软链接,只是源文件的内容可能变了。
Find 命令
其他搜索文件命令: which/ whereis(只有更新后的文件才能找到)/ locate(未安装, yum install -y mlocate-需要每天生成 updatedb手动生成)
Please input text here
option 选项:
-name filename #查找名为filename的文件
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查GIN: 0px">
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-size n[c] #查长度为n块[或n字节]的文件
文件种类有很多: d, f, l, s, c and b
find / -mtime(modify), -ctime(change) and -atime(access)
mtime 是指更改文件内容,ctime,是指更改权限。 更改文件内容mtime,ctime一定会随之变化
cat 1.txt 访问1.txt内容
state + file 查看文件3个time
+1/_1 表示文件更改时间一天以外/以内,同时也可以尝试按分钟搜索(同理+—10k 也是按文件大小搜索)
通过inode搜索硬链接文件
搜索某文件目录并list 出来(针对于某种需求就是要某文件)
Fine总结
(1)Find工具-name参数案列:
find /data/ -name "*.txt" #查找/data/目录以.txt结尾的文件;
find /data/ -name "[A-Z]*" #查找/data/目录以大写字母开头的文件;
find /data/ -name "test*" #查找/data/目录以test开头的文件;
(2)Find工具-type参数案列:
find /data/ -type d #查找/data/目录下的文件夹;
find /data/ ! -type d #查找/data/目录下的非文件夹;
find /data/ -type l #查找/data/目录下的链接文件。
find /data/ -type d|xargs chmod 755 -R #查目录类型并将权限设置为755;
find /data/ -type f|xargs chmod 644 -R #查文件类型并将权限设置为644;
(3)Find工具-size参数案列:
find /data/ -size +1M #查文件大小大于1Mb的文件;
find /data/ -size 10M #查文件大小为10M的文件;
find /data/ -size -1M #查文件大小小于1Mb的文件;
(4)Find工具-perm参数案列:
find /data/ -perm 755 #查找/data/目录权限为755的文件或者目录;
find /data/ -perm -007 #与-perm 777相同,表示所有权限;
find /data/ -perm +644 #文件权限在644以上;
(5)Find工具-mtime参数案列:
atime,access time 文件被读取或者执行的时间;
ctime,change time 文件状态改变时间;
mtime,modify time 文件内容被修改的时间;
find /data/ -mtime +30 -name "*.log" #查找30天以前的log文件;
find /data/ -mtime +30 -name "*.log" #查找30天以前的log文件;
find /data/ -mtime 30 -name "*.txt"#查找第30天的log文件;
find /data/ -mmin +30-name "*.log" #查找30分钟以前修改的log文件;
find /data/ -
-30 -name "*.txt" #查找30分钟以内被访问的log文件;
find /data/ -cmin 30 -name "*.txt"#查找第30分钟改变的log文件。
(6)Find工具参数综合案列:
#查找/data目录以.log结尾,文件大于10k的文件,同时cp到/tmp目录;
find /data/ -name "*.log" –type f -size +10k -exec cp {} /tmp/ /;
#查找/data目录以.txt结尾,文件大于10k的文件,权限为644并删除该文件;
find /data/ -name "*.log" –type f -size +10k -m perm 644 -exec rm –rf {} /;
#查找/data目录以.log结尾,30天以前的文件,大小大于10M并移动到/tmp目录;
find /data/ -name "*.log" –type f -mtime +30 –size +10M -exec mv {} /tmp/ /;
Shutcut Key Consolidate
CTRL-L 清屏
CTRL-D 退出终端=log out=EXIT
CTRL-C 撤销当前命令
CTRL-U 删掉前面的全部输入
CTRL-E 会把光标移动到最后面去
CTRL-A 把光标移动到最开始
Linux 和window 文件互传
普通Linux和Windows之间的文件共享方法,主要有建立nfs实现文件共享,和tftp之类的方法,但是都很麻烦,而如果只是小文件(几十 K,几百K),那么直接用rz/sz,就显得极其地方便了
注意要在xshell的环境下
yum install -y lrzsz
如下图显示SZ 和RZ 的区别:
SZ:将选定文件发送到本地及其
RZ: 运行命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。