1. 使用root用户连接到具有图形界面的CentOS7系统
2. 将/etc目录归档到/root下,并命名为etc.tar.gz
[root@localhost ~]# tar -zcvf /root/etc.tar.gz /etc
3. 将etc.tar.gz文件释放到/tmp文件夹中。
[root@localhost ~]# tar -zxf etc.tar.gz -C /tmp/
4. 将/etc、/boot目录归档到/backup目录中,归档后的文件名字携带上当前日期
[root@localhost ~]# tar -zcf /backup/etc-`date +%F-%T`.tar.gz /etc
[root@localhost backup]# ls
etc-2020-10-14-16:16:35.tar.gz
[root@localhost ~]# tar -zcf /backup/boot-`date +%F-%T`.tar.gz /boot
[root@localhost backup]# ls
boot-2020-10-14-16:17:17.tar.gz etc-2020-10-14-16:16:35.tar.gz
5. 在/root目录下创建空文件file1、file2、file3,使用一条命令完成。
[root@localhost ~]# touch file{1..3}
[root@localhost ~]# ls
abc.cfg etc.tar.gz file2 initial-setup-ks.cfg teat_config 模板 图片 下载 桌面
anaconda-ks.cfg file1 file3 teat2_config 公共 视频 文档 音乐
6. 查找/root目录下以file开头的文件,并删除它们,用一条命令完成。
[root@localhost ~]# find /root -type f -name 'file*' -exec rm -rf {} \;
7. 查找useradd、userdel、passwd、usermod、chmod、chown命令文件的具体位置
[root@localhost ~]# which useradd
/usr/sbin/useradd
[root@localhost ~]# which userdel
/usr/sbin/userdel
[root@localhost ~]# which passwd
/usr/bin/passwd
[root@localhost ~]# which usermod
/usr/sbin/usermod
[root@localhost ~]# which chmod
/usr/bin/chmod
[root@localhost ~]# which chown
/usr/bin/chown
8. 将/boot目录里面的所有内容复制到当前路径下,然后:
[root@localhost ~]# cp -r /boot/ ./
- 查找当前目录下,类型是普通文件的文件将其移动到/test目录下
[root@localhost ~]# find . -type f -exec mv {} ./test \;
- 查找/test目录下类型为普通文件的文件,对其进行备份,备份文件的后缀名为.bak
[root@localhost test]# find test/ -type f -exec cp {} {}.bak \;
9. 显示/etc/group文件中含有root的行
[root@localhost ~]# grep root /etc/group
10. 显示/etc/passwd文件中以rp开头的行
[root@localhost ~]# grep ^rp /etc/passwd
11. 显示/etc/passwd文件中以bash结尾的行
[root@localhost ~]# grep bash$ /etc/passwd
12. 显示/etc/group文件中不以:为结尾的行
[root@localhost ~]# grep -v :$ /etc/group
13. 显示/etc/rc.local文件中的空行,要求带行号
[root@localhost ~]# grep -n ^$ /etc/rc.local
14. 显示/etc/passwd 文件中不以/bin/bash结尾的行
[root@localhost ~]# grep -v /bin/bash$ /etc/passwd
15. 显示/proc/meminfo文件中以大小s开头的行
[root@localhost ~]# grep -i ^s /proc/meminfo
16. 过滤出/etc/ssh/sshd_config文件的有效行,并去掉空行
[root@localhost ~]# cat /etc/ssh/sshd_config | grep -v ^$ | grep -v ^#
17. 统计/etc/passwd文件中一共有几种shell,并显示每种shell有几个用户
[root@localhost ~]# cut -d: -f7 /etc/passwd | sort | uniq -c
18. 列出/etc/passwd文件中,以/bin/bash结尾的行中的用户名
[root@localhost ~]# cat /etc/passwd | grep /bin/bash$ | cut -d: -f1
19. 查找/var目录下属主为root,且属组为mail的所有文件
[root@localhost ~]# find /var -user root -group mail
20. 查找/var目录下不属于root、lp、gdm的所有文件
[root@localhost ~]# find /var -! \( -user root -o -user lp -o -user gdm \)
21. 查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
[root@localhost ~]# find /var -mtime -7 -! \( -user postfix -o -user root \)
22. 查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件
[root@localhost ~]# find / \( -nouser -o -nogroup -a -atime -7 \) -ls
23. 查找/etc目录下大于1M且类型为普通文件的所有文件
[root@localhost ~]# find /etc -size +1M -a -type f -ls
24. 使用"Ils -t"命令查看当前目录下的文件信息并按照第六列的信息以数字排序
[root@localhost ~]# ls -l | sort -t ':' -k 6 -n
25. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可;(who命令可以查看当前登录的用户)
[root@localhost ~]# who | cut -d ' ' -f1 | sort -u
26. 取出当前系统上被用户当作其默认shell的最多的那个shell;
[root@localhost ~]# cut -d : -f 7 /etc/passwd|uniq -c|sort -rn|head -1
27. 取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分;
[root@localhost ~]# ifconfig ens33 | grep 'inet' | awk '{print $2}' | head -1
28. 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存到到/tmp/maxusers.txt文件中;
[root@localhost ~]# sort -t: -k3 -n | tail -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt
29. 列出/etc目录下所有.conf结尾的文件的文件名,并将其名字转换为大写;
[root@localhost ~]# ls /etc/*.conf | tr 'a-z' 'A-Z'
30. 显示/var目录下一级子目录的总个数;
[root@localhost ~]# ls -l /var | wc -l
23
31. 取出/etc/group文件中第三个字段数值最小的10个组的名字;
[root@localhost ~]# sort -t: k3 -n | head -10 /etc/group
或
[root@localhost ~]# cat /etc/group | sort -t: -k 3 -n -r | tail -n 10