4-14 练习题-find

赋料扬雄敌,诗看子建亲。这篇文章主要讲述4-14 练习题-find相关的知识,希望能为你提供帮助。
1.查找/tmp目录下,属主不是root,且文件名不是以f开头的文件


1 ? 02:42:18 root@yyds,10.0.0.100:~ # find /tmp ! -user root ! -name f*
/tmp/lamp_file

2.查找/var目录下属主为root,切属组为mail的所有文件
0 ? 02:45:15 root@yyds,10.0.0.100:~ # find /var -user root-group mail -ls
338990 drwxrwxr-x2 rootmail282 Apr 13 09:40 /var/spool/mail
6315934 -rw-------1 rootmail613 Apr8 03:09 /var/spool/mail/root

3.查找/var目录下不属于root、oldboy、zls组的所有文件
find /var ! -group root! -group oldboy! -group zls

4.查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
find /var -mtime -7! -user root! -name postfix

5.查找/etc/下所有大于1M且类型为普通文件的所有文件
[root@yyds ~]# find /etc -size +1M -type f
51138274 3816 -rw-------1 rootroot3905807 Sep 302020 /etc/selinux/targeted/active/policy.kern
565407 1384 -rw-r--r--1 rootroot1416505 Sep 302020 /etc/selinux/targeted/contexts/files/file_contexts.bin
51138294 3816 -rw-r--r--1 rootroot3905807 Sep 302020 /etc/selinux/targeted/policy/policy.31

6.将/etc中的所有目录(仅目录)复制到/tmp下,目录结构不变
find /etc/ -type d|xargs -i mkdir -p /tmp/

7.将/etc目录复制到 /var/tmp,/var/tmp/etc的所有目录权限为777,/var/tmp/etc/目录中所有文件权限为666
cp-a /etc /var/tmp/
find /var/tmp/etc -type d|xargs chmod 777
find /var/tmp/etc -type f|xargs chmod 666
ll /var/tmp/etc

8.创建touch file1..1010个文件,保留file9,其他一次全部删除
[root@yyds < sub> ]# touch file1..10
[root@yyds < /sub> ]# find ./ ! -name file9|xargs rm -f
rm -f$(find ./ ! -name file9)
ll

![image-20220415100250503](C:\\Users\\10179\\AppData\\Roaming\\Typora\\typora-user-images\\image-20220415100250503.png)
9.解释如下每条命令的含义
1.mkdir /root/dir1
在root家目录下创建一个名字为dir1的目录
2.touch /root/dir1/file1..10
在root家目录下dir1目录下创建10的普通文件,文件名为file1-file10
3.find /root/dir1 -type f -namefile5
在root家目录下dir1目录下查找所有普通文件文件名含有file5
4.find /root/dir1 ! -namefile5
在root家目录下dir1目录下查找所有目录或文件中名仅有file5的目录或文件
5.find /root/dir1 -namefile5-o -namefile9
在root家目录下dir1目录下查找目录或文件名中仅有‘file5’或file9 的目录或文件
6.find /root/dir1 -namefile5-o -namefile9 -ls
在root家目录下dir1目录下查找目录或文件名中仅有‘file5’或file9 的目录或文件,并查看file9详细信息,在终端中显示出来
7.find /root/dir1 (-name file5-o-namefile9 ) -ls
在root家目录下dir1目录下查找目录或文件为‘file5’或file9 的目录或文件,并查看他们的详细信息,在终端中显示出来
8.find /root/dir1 (-name file5-o-namefile9 ) -execrm-rvf\\
在root家目录下dir1目录下查找目录或文件名中含有‘file5’或file9 的目录或文件,并把它们删除
9.find /root/dir1 ! (-name file5-o -namefile9 ) -exec rm-vf\\
删除不是file5和file9的文件,

10.使用cat命令如何重定向字符串到文件中?
cat> > (文件) < < EOF
guggg
EOF
cat 内容 > > 文件
cat 内容 > 文件
cat > 文件 < < EOF
cat > > 文件 < < EOF

【4-14 练习题-find】11.请说出cp一个文件都需要什么权限?
看上一级目录的权限rx权限,文件至少要有r权限。拷贝到目标目录至少要有wx
12.请写出将oldboy.txt文件权限改为r-x-w-r--的命令
chmod 524 oldboy.txt
方法2:chmod u=rxoldboy.txt ; chmod g=w oldboy.txt ; chmod o=roldboy.txt

14.请创建普通用户oldboy并授权该用户可执行所有超级用户能执行的命令
useradd oldboy
使用visudo命令,然后将普通用户oldboy添加到root用户下,并将所有权限设置ALL。

15.查找/etc/目录中的passwd文件并把正确输出存放到/tmp/westos.out
[root@yyds ~]# find /etc/ -name *passwd* > /tmp/westos.out

16.查找/etc/目录中的passwd文件,请屏蔽错误输出


[root@yyds ~]# find /etc/ -name *passwd* 2> dev/null

17.查找/etc/目录中的passwd文件,错误输出存放到/tmp/westos.err
[root@yyds ~]# find /etc/ -name *passwd* 2> westos.err

18.查找/etc/目录中的passwd文件,显示所有输出并存放到/tmp/westos.out中
[root@yyds ~]# find /etc/ -name *passwd* & > westos.out

0 ? 20:42:15 root@yyds,10.0.0.100:< sub> # find /etc/ -name passwd |xargs cat|tee 15.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
0 ? 20:43:12 root@yyds,10.0.0.100:< /sub> # cat 15.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nolo

0 ? 20:38:44 root@yyds,10.0.0.100:< sub> # find /etc/ -name passwd |xargs cat|tee & > 9.txt
0 ? 20:39:04 root@yyds,10.0.0.100:< /sub> # find /etc/ -name passwd |tee & > 9.txt
0 ? 20:40:53 root@yyds,10.0.0.100:< sub> # find /etc/ -name passwd |xargs cat|tee & > 9.txt
0 ? 20:41:07 root@yyds,10.0.0.100:< /sub> # find /etc/ -name passwd |tee & > 21.txt
0 ? 20:41:57 root@yyds,10.0.0.100:~ # find /etc/ -name passwd |xargs cat|tee 78.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown


    推荐阅读