find命令
选项 | |
---|---|
--help -help | 帮助 |
-name | 按文件名查找 |
-iname | 效果与-name类似,但忽略字符大小写 |
-type | 只寻找符合指定的文件类型的文件, d 目录 f 文件 c 字符设备文件 b 块设备文件 |
将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有"./"字符串 | |
-prune | 如果文件是一个目录,就不会进入此目录 |
-size n | n是文件大小单位 |
-perm | 按照文件权限来查找文件,4000,2000,1000为分别表示SUID,SGID,SBIT,如777为普通文件的最高权限,7000为特殊文件的最高权限 |
-exec | find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和;之间的空格 |
实例
find .
列出当前目录及子目录下的所有文件和文件夹
find . -name "*-txt"
找出当前文件加下的.txt文件
find . -nmae "*.txt" -o -name "*.py"
找出当前文件夹下的.txt文件和子目录下的.py文件
find . ! -name "*-txt"
找出当前目录下不为.txt的文件
find . -type <类型参数>
类型参数 | 含义 |
---|---|
f | 普通文件 |
d | 目录 |
p | 管道FIFO |
s | 套接字 |
l | 符号连接 |
b | 块设备 |
c | 字符设备 |
find . -type f -name "*-txt" -delete
删除匹配的txt文件
find -perm -777 -type f | sort
查找权限为777的文件或目录并排序
find -type f -name "*.txt" -exec cat {} \; > all.txt
将所有的txt文件拼接并写入到all.txt
单行命令的-exec无法执行多个命令,执行多行命令的话就需要创建一个test.sh
这里为了方便直接给777权限 chmod 777 test.sh
test.sh 内容为下
1 | ls |
find 'all.txt' -exec ./test.sh {} \;
2> /dev/null
文件描述符
0 标准输入(stdin)
1 标准输出(stdout)
2 标准错误(stderror)
重定向
>
清空文件 再写入内容
>>
追加到文件尾部
2>/dev/null
意思就是把错误输出到“黑洞”
>/dev/null 2>&1
默认情况是1,也就是等同于1>/dev/null
2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”
2>&1 >/dev/null
意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕
Linux下的权限
Linux下权限的属组有 拥有者 、群组 、其它组 三种,设置不同的rwx权限。
Linux下文件的权限类型一般包括读,写,执行,即r,w,x。
r=4,w=2,x=1 rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4 +1 = 5
一般表示一个文件所有权限详情的有两种方式
一种是十进制,十进制的常用表示形式
-rw------- (600) 只有拥有者有读写权限。 -rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。 -rwx------ (700) 只有拥有者有读、写、执行权限。 -rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。 -rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。 -rw-rw-rw- (666) 所有用户都有文件读、写权限。 -rwxrwxrwx (777) 所有用户都有读、写、执行权限。
另一种是十二进制
linux除了设置正常的读写操作权限外,还有关于一类设置也是涉及到权限,叫做Linxu附加权限。包括 SET位权限(suid,sgid)和粘滞位权限(sticky)
s权限(SetUID,SetGID)
SetUID 只能应用于二进制可执行文件*
SetGID 可应用于二进制可执行文件*和目录
4代表SetUID,2代表SetGID,6则是两者都置位
chmod 4777 xxx
chmod 2777 xxx
chmod 6777 xxx
chmod
find提权
find / -perm -u=s -type f 2>/dev/null
Reference
https://blog.csdn.net/weixin_45596239/article/details/102844386 https://blog.csdn.net/weixin_44912169/article/details/105845909 https://blog.csdn.net/gramdog/article/details/80374119 https://gtfobins.github.io/gtfobins/find/