4-14 练习题-find

Posted 人生玩家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的所有文件

002:45:15 root@yyds,10.0.0.100:~ # find /var -user root  -group mail -ls
33899 0 drwxrwxr-x 2 root mail 282 Apr 13 09:40 /var/spool/mail
631593 4 -rw------- 1 root mail 613 Apr 8 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 root root 3905807 Sep 30 2020 /etc/selinux/targeted/active/policy.kern
565407 1384 -rw-r--r-- 1 root root 1416505 Sep 30 2020 /etc/selinux/targeted/contexts/files/file_contexts.bin
51138294 3816 -rw-r--r-- 1 root root 3905807 Sep 30 2020 /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

11.请说出cp一个文件都需要什么权限?

看上一级目录的权限rx权限,文件至少要有r权限。拷贝到目标目录至少要有wx

12.请写出将oldboy.txt文件权限改为r-x-w-r--的命令

chmod 524 oldboy.txt
方法2:chmod u=rx oldboy.txt ; chmod g=w oldboy.txt ;chmod o=r oldboy.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
020: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
020: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

020:38:44 root@yyds,10.0.0.100:<sub> # find /etc/ -name passwd |xargs cat|tee &> 9.txt
020:39:04 root@yyds,10.0.0.100:</sub> # find /etc/ -name passwd |tee &> 9.txt
020:40:53 root@yyds,10.0.0.100:<sub> # find /etc/ -name passwd |xargs cat|tee &> 9.txt
020:41:07 root@yyds,10.0.0.100:</sub> # find /etc/ -name passwd |tee &> 21.txt
020: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

以上是关于4-14 练习题-find的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件查找find练习题

python练习题自己实现一个字符串的find函数

find 命令练习

随堂练习 find

find用整理笔记 附带习题

find 命令和sed命令练习