1.软硬链接
ls -i ##查看文件节点号
ln -s /file /file1 ##软链接(相当于文件快捷方式)
ln /file /file1 ##硬链接 (相当于文件的复制,被系统记录了2次)
必要参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
-s 软链接(符号链接)
- -v 显示详细的处理过程
2.文件查找
1.locate filename ##在文件数据库中搜索filename信息,updatedb更新文件数据库
为了便于理解,首先创建一个文件数据库中没有的文件ghbcal,然后使用locate命令查找,由于文件数据库没有更新,所以没有找到,但是在更新文件数据库后出现了文件所在的位置。
2.find 查找目录和文件
参数说明
find 查找位置 -条件 条件值 -exec 动作 {} \;
-name ##按文件名查找文件
-not ##条件
-user ##按文件所有人查找文件
-group ##按文件所有组查找文件
-size ## 按文件大小查找文件
-mtime/atime/ctime ##按文件修改/访问/创建时间
-maxdepth ##查找最大目录层数
-mindepth ##查找最小目录层数
-a ##并且(and)
-o ##或者(or)
-type (f,c,b,s,l) ##查找某一类型的文件
文件类型
f #查找普通文件 文件
d #目录
c #字符设备
b #块设备
s #套节字
l #链接
案例:
sudo find ./ -maxdepth 1 -type d -mtime +7 -exec rm -fr {} \;
find -size ##根据文件大小查找
这里我们用dd 截取不同大小的文件,首先介绍一下dd 的用法
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
参数注释:
1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
4. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数
dd if=/dev/zero of=/mnt/file1 bs=1024 count=10
dd if=/dev/zero of=/mnt/file2 bs=1024 count=20
dd if=/dev/zero of=/mnt/file3 bs=1024 count=30
如图:
find /mnt -size 10k
find /mnt -size -10k
find /mnt -size +10k
find -perm ##按文件权限来查找文件
首先创建不同权限的文件如下:
/444 表示文件中所有人所有组以及其他人有一个或多个包含r权限的所有文件
444 表示 文件中所有人所有组以及其他人都拥有且只有r权限的文件
-111 表示所有人所有组及其他人都有x权限
按用户和组的文件查找 -user -group
首先在/westos下创建不同用户和组的文件 如图,然后依据条件查找
find /westos/ -user student -a -group admin
find /westos/ -user student -o -group admin