以下是基于你的要求,涵盖文本处理、文件操作、管道、执行、权限、进程管理的50个Linux运维题目,包括具体场景和文件样例。
1. 文件操作
- 题目: 使用
cp
命令,将/home/user/docs
目录下的所有.txt
文件复制到/home/user/backup
目录中,并保留文件权限。
2. 文件操作
- 题目: 使用
mv
命令,将/home/user/temp
目录下的所有文件移动到/home/user/archive
目录,并将文件名改为小写。
3. 文件操作
- 题目: 使用
rm
命令删除/home/user/temp
目录下所有超过30天的文件。
4. 文本处理
- 场景: 你有一个日志文件
/var/log/application.log
,内容如下:ERROR: Out of memory INFO: Process started ERROR: Connection failed INFO: Task completed
- 题目: 使用
grep
和wc
命令统计文件中出现ERROR
的行数。
5. 文本处理
- 场景: 给定一个文件
/home/user/list.txt
,文件内容如下:John 45 Alice 30 Bob 25 Jane 30
- 题目: 使用
sort
和uniq
命令统计不同年龄的人数。
6. 文本处理
- 场景: 给定一个文件
/home/user/data.csv
,内容如下:Name,Age,Gender John,25,Male Alice,30,Female Bob,25,Male Jane,30,Female
- 题目: 使用
awk
和sort
命令按年龄升序排列并打印所有Female
的姓名。
7. 文本处理
- 场景: 给定一个文件
/home/user/data.txt
,内容如下:apple, 20 banana, 25 orange, 30 apple, 10
- 题目: 使用
awk
、sort
和uniq
命令找到每种水果的出现次数,并按出现次数降序排列。
8. 文本处理
- 场景: 给定一个文件
/home/user/contacts.txt
,文件内容如下:John, 1234 Alice, 5678 Bob, 91011 Jane, 1213
- 题目: 使用
sed
和awk
命令将文件中的电话号按正则表达式替换成****
格式。
9. 权限管理
- 题目: 使用
chmod
命令为/home/user/file.txt
文件设置644权限,使文件所有者可以读取、写入,其他用户只能读取。
10. 权限管理
- 题目: 使用
chown
命令,将/home/user/data
目录的所有权更改为user1:usergroup
。
11. 进程管理
- 题目: 使用
top
命令查找并记录CPU使用率超过80%的进程。
12. 进程管理
- 题目: 使用
ps
命令列出所有当前正在运行的java
进程,并按内存使用量排序。
13. 进程管理
- 题目: 使用
kill
命令终止进程ID为12345的进程。
14. 文本处理
- 场景: 给定一个日志文件
/var/log/system.log
,其中包含以下内容:Jan 1 12:00:00 server1 app[1234]: [INFO] User logged in Jan 1 12:05:00 server1 app[1235]: [ERROR] Connection failed Jan 1 12:10:00 server1 app[1236]: [INFO] Task completed
- 题目: 使用
grep
和awk
命令提取所有的INFO
日志,并打印出时间和消息。
15. 文本处理
- 场景: 给定一个包含多个日期时间的文件
/home/user/log.txt
,文件内容如下:2025-02-17 10:00:00 task started 2025-02-17 10:05:00 task completed 2025-02-18 10:00:00 task started 2025-02-18 10:10:00 task failed
- 题目: 使用
grep
、sed
和awk
命令查找所有2025-02-17
日期的任务记录。
16. 管道和文本处理
- 场景: 给定一个文件
/home/user/data.txt
,内容如下:1,apple 2,banana 3,apple 4,orange 5,banana
- 题目: 使用
sort
和uniq
命令按水果种类统计出现的次数。
17. 文本处理
- 场景: 给定一个文件
/home/user/errors.log
,文件内容如下:ERROR: Database connection failed INFO: Process started ERROR: Connection timeout
- 题目: 使用
grep
和awk
命令提取所有错误信息,并将ERROR
替换为CRITICAL
。
18. 文件操作
- 题目: 使用
find
命令查找并删除/home/user/logs
目录下超过7天未修改的日志文件。
19. 文件操作
- 题目: 使用
tar
命令将/home/user/docs
目录压缩为docs.tar.gz
文件。
20. 文件操作
- 题目: 使用
rsync
命令将/home/user/docs
目录同步到/home/user/backup
目录,确保目标目录没有重复文件。
21. 文本处理
- 场景: 给定一个包含日志信息的文件
/home/user/app.log
,内容如下:Task1 started at 10:00 Task1 completed at 10:05 Task2 started at 10:10 Task2 completed at 10:15
- 题目: 使用
sed
和awk
命令将日志信息中的started
和completed
分别替换为begin
和end
。
22. 文本处理
- 场景: 给定一个文件
/home/user/servers.txt
,内容如下:server1, 192.168.1.1 server2, 192.168.1.2 server3, 192.168.1.3
- 题目: 使用
grep
和awk
命令打印出所有服务器IP。
23. 文本处理
- 场景: 给定一个文件
/home/user/sales.txt
,内容如下:Product, Sales Apple, 100 Banana, 50 Orange, 75
- 题目: 使用
awk
命令计算出所有产品的总销售量。
24. 权限管理
- 题目: 使用
chmod
命令更改/home/user/report.txt
文件的权限,使所有用户都可以读取,但只有文件所有者可以写入。
25. 文件操作
- 题目: 使用
scp
命令将/home/user/file.txt
从本地服务器传输到远程服务器192.168.1.100
的/home/user/
目录。
26. 进程管理
- 题目: 使用
vmstat
命令查看系统内存使用情况。
27. 文本处理
- 场景: 给定一个文件
/home/user/info.txt
,内容如下:Name: John Age: 30 Name: Alice Age: 25 Name: Bob Age: 30
- 题目: 使用
awk
命令按年龄字段排序并显示所有名字。
28. 文件操作
- 题目: 使用
lsblk
命令列出所有已挂载的磁盘和分区。
继续完成剩余的题目:
30. 文件操作
- 题目: 使用
find
命令查找并列出/home/user/
目录下所有扩展名为.log
的文件。
31. 进程管理
- 题目: 使用
top
命令,显示出当前系统中占用CPU最多的前5个进程,并输出到文件cpu_top5.txt
。
32. 文本处理
- 场景: 给定一个文件
/home/user/data.csv
,内容如下:John, 200 Alice, 150 Bob, 300 Jane, 100
- 题目: 使用
sort
命令将数据按销售额(第二列)升序排列,并使用head
命令获取前两行。
33. 文本处理
- 场景: 给定一个文件
/home/user/log.txt
,内容如下:INFO: Application started ERROR: Unable to connect to database WARNING: Low disk space INFO: Application running
- 题目: 使用
grep
和sed
命令从日志文件中提取所有INFO
日志,并将其输出到info_log.txt
文件。
34. 文本处理
- 场景: 给定一个文件
/home/user/test.txt
,内容如下:10 20 30 40 50
- 题目: 使用
awk
命令计算文件中所有数字的平均值。
35. 文件操作
- 题目: 使用
tar
命令创建一个包含/home/user/
目录下所有文件和子目录的归档文件backup.tar.gz
。
36. 文件操作
- 题目: 使用
rsync
命令将/home/user/
目录的内容同步到远程服务器192.168.1.100
的/backup/
目录中,并确保只同步新增的文件。
37. 文件操作
- 题目: 使用
mv
命令将文件/home/user/test.txt
移动到/home/user/archive/
目录,并重命名为backup.txt
。
38. 权限管理
- 题目: 使用
chmod
命令为/home/user/test.sh
脚本文件赋予执行权限,使得文件所有者、组成员和其他用户均可执行。
39. 文本处理
- 场景: 给定一个文件
/home/user/employees.txt
,内容如下:John, 5000 Alice, 4000 Bob, 3000 Jane, 4500
- 题目: 使用
awk
命令查找所有工资大于4500的员工,并打印出他们的姓名和工资。
40. 文本处理
- 场景: 给定一个文件
/home/user/messages.txt
,内容如下:Message from john: Hello! Message from alice: Hi there! Message from bob: Good morning!
- 题目: 使用
sed
命令将所有“Message from”替换为“User”.
41. 进程管理
- 题目: 使用
ps
命令列出当前运行的所有进程,并显示它们的PID、用户、CPU和内存占用。
42. 进程管理
- 题目: 使用
top
命令查看并记录系统中当前内存占用超过80%的进程信息。
43. 文件操作
- 题目: 使用
scp
命令将/home/user/report.txt
文件从本地传输到远程服务器192.168.1.100
的/home/user/
目录下。
44. 文本处理
- 场景: 给定一个文件
/home/user/messages.txt
,内容如下:User: John Time: 10:00 AM Message: Hello
- 题目: 使用
awk
命令提取并显示所有“User”和“Message”字段。
45. 文件操作
- 题目: 使用
rm
命令删除/home/user/
目录下所有以.bak
为扩展名的文件。
46. 权限管理
- 题目: 使用
chown
命令将/home/user/data.txt
文件的所有者更改为user1
,并将文件所属组更改为group1
。
47. 文件操作
- 题目: 使用
find
命令查找并列出/home/user/
目录下所有大小超过1GB的文件。
48. 文件操作
- 题目: 使用
tar
命令解压/home/user/backup.tar.gz
文件到/home/user/restore
目录。
49. 文本处理
- 场景: 给定一个文件
/home/user/tasks.txt
,内容如下:Task1: completed Task2: pending Task3: completed Task4: in progress
- 题目: 使用
grep
和awk
命令提取所有completed
状态的任务,并显示任务编号。
50. 进程管理
- 题目: 使用
vmstat
命令查看当前系统的内存、交换空间使用情况以及CPU占用率。
这些题目涵盖了Linux运维中的常见任务,且适合用于实际操作练习。
作者:严锋 创建时间:2025-02-17 17:29
最后编辑:严锋 更新时间:2025-05-09 15:48
最后编辑:严锋 更新时间:2025-05-09 15:48