一:find指令
Linus下find指令在目录结构中搜索文件;并执行指定的操作;
1--命令格式
find pathname -options[-print -exec -ok ..]
2--命令功能
用于文件树中查找文件,并做出相应的处理
3--命令参数
pathname:find命令查找的目录路径,用.表示当前目录,用/表示系统目录。
当我们在Linus下用find . text.c指令时会出现所有在当前目录下的文件
当然有兴趣可以用find .会显示所有目录,密集症者慎入
find / ..加上目录会在系统目录下查找如:
find /var会显示在系统目录下所有关于var的文件
只是截取一小部分:
-exec: find命令对匹配的⽂文件执⾏行该参数所给出的shell命令,相应的命令格式为‘command’ { } \;
注意{ }和\之间的空格
-ok;和exec作用相同,不过是一种更加安全的模式来让执行该参数所给出的shell命令,每次执行前都会让用户来确定是否执行
4:命令选项
-name 按照文件名查找文件
-perm按照文件权限来查找文件
前面我们知道777是权限二进制的表示形式表示可读(r/4)可写(w/2)可执行(x/1);
-prnue表示不在当前指定的目录下查找,如果同时使用-depth选项,那么-prnue指令将被忽略
-user suername按照文件属主来查找文件
-group groupnama按照文件所属组来查找
-mtime -n +n按照文件更改时间来确认,-n表示现在具更改文件几天以内,+n表示更改文件具体现在几天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存在
-newer file1 ! file2 查找更改时间比文件file1新但比文
件file2旧的文件。
-type查找某一类型的文件
b -块设备
d -目录
c - 字符设备文件
p -管道文件
l -符号链接文件
f -普通文件
如查找找块设备
-size n[c]表示查找文件长度为n快,带有c表示文件按字节计算
-depth
表示在当前目录找然后再找其子目录中找
-fstype:查找位于某⼀一类型⽂文件系统中的⽂文件,这些⽂文件系统类
型通常可以在配置⽂文件/etc/fstab中找到
-flowe;如果find命令遇到符号链接文件就跟踪至链接所指向的文件
-cpio将所匹配的文件备份到磁盘中
按时间查找文件
5:如我们想查找三天以前的文件
find/home/username/filename/ -mtime +3 -exec ls -l { } \;
查找三天以内的文件
find/home/username/filename/ -mtime -3 -exec ls -l { } \;
二:Linus下用find命令查找文件大小为xx的文件的办法:
如find -size -1000c查找一个小于1000个字节的文件;截取一小部分为例
1:find / -amin -5查找系统最后5分钟系统访问的文件,我们取一小部分来展示
2:find , -atime -5查找当前目录下最后5天的访问的文件
3:Linus下查找当前所有目录并排序
ll -t表示查询当前文件并且按照降序排列
4:ll -t |tac表示查询当前文件并且按照升序排列
5:查找当前目录下所有权限为755的⽂文件,并设置成777分两步:
i):修改权限命令
chmod 777 文件名
1.chmod 775 /home/usernume
2.umask -p 0200
3.chown XXXX YYYY (XXXX 为用户名 YYYY为文件名)
ii)权限列表
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
iii):查找当前目录下权限为775的所有文件
iiii):将code 的权限设置为777r然后再找到权限为777的文件