Linux基础命令强化训练:22道必做习题与答案详解


一、文件与目录操作

1. 创建空文件

题目:在~/test目录下创建三个空文件file1.txt、file2.log、file3.conf
答案

mkdir -p ~/test
touch ~/test/file{1.txt,2.log,3.conf}

2. 递归创建目录

题目:一次性创建/data/project/{src,backup,logs/2024}目录结构
答案

mkdir -p /data/project/{src,backup,logs/2024}

3. 复制目录

题目:将/etc/nginx目录完整复制到/backup目录下(保留权限)
答案

cp -rp /etc/nginx /backup/
# -r 递归复制 -p 保留属性

4. 批量移动文件

题目:移动~/Downloads目录下所有.mp4文件到~/Videos目录
答案

mv ~/Downloads/*.mp4 ~/Videos/

5. 安全删除

题目:交互式删除/tmp下所有.cache文件
答案

#法1
rm -i /tmp/*.cache
#法2
find /tmp -name "*.cache" -exec rm -i {} \;

6. 查看文件类型

题目:显示/bin/ls的文件类型信息
答案

file /bin/ls

7. 链接操作

题目:为/usr/bin/python3创建硬链接mypython到当前目录
答案

ln /usr/bin/python3 ./mypython

8. 查找最近修改文件

题目:列出当前目录下24小时内修改过的文件
答案

find . -mtime 0

9. 计算目录大小

题目:查看/var/log目录的磁盘占用
答案

du -sh /var/log
# -s汇总 -h易读格式

10. 文件内容统计

题目:统计/etc/passwd的总行数
答案

wc -l /etc/passwd

二、文本处理与查看

11. 查看文件头部

题目:显示access.log的前20行内容
答案

head -n 20 access.log

12. 查看文件尾部

题目:实时监控error.log的新增内容
答案

tail -f error.log

13. 过滤关键信息

题目:从system.log中筛选包含"ERROR"的行
答案

grep "ERROR" system.log

14. 行号显示

题目:查看config.conf时显示行号
答案

cat -n config.conf
# 或 nl config.conf

15. 排序去重

题目:对data.txt内容排序并去重
答案

sort data.txt | uniq
#或sort -u data.txt

16. 字段提取

题目:提取/etc/passwd中所有用户名(第一列)
答案

cut -d: -f1 /etc/passwd

17. 文本替换

题目:将file.txt中所有"old"替换为"new"
答案

sed 's/old/new/g' file.txt

三、权限与属性管理

18. 权限修改

题目:设置script.sh为755权限(rwxr-xr-x)
答案

chmod 755 script.sh

19. 所有权变更

题目:将/data目录所有者改为www-data用户
答案

chown -R www-data:www-data /data

20. 特殊权限设置

题目:为/usr/bin/myscript添加SUID权限
答案

chmod u+s /usr/bin/myscript

21. 默认权限控制

题目:设置新建文件的默认权限为644
答案

umask 022

22. ACL权限设置

题目:允许user1用户读写/shared/file
答案

setfacl -m u:user1:rw /shared/file

四、答案验证与扩展

操作验证技巧

# 查看命令执行结果
ls -l /backup/nginx  # 验证复制结果
stat script.sh      # 验证权限修改

危险操作防护

# 在rm命令前先确认文件列表
find /tmp -name "*.cache" -exec echo {} \;
# 确认无误后再执行删除

练习建议

  1. 分阶段练习:先完成基础题,掌握语法后再挑战进阶和综合题

  2. 善用手册:不熟悉的命令随时通过man [命令][命令] --help查询

  3. 安全操作:危险操作(如rm -rf)可先在/tmp目录测试

  4. 环境隔离:推荐使用虚拟机或Docker容器练习,避免影响主机系统

扩展练习建议

  1. 尝试用awk实现更复杂的文本处理

  2. 组合findxargs处理批量操作

  3. 编写Shell脚本自动化重复任务

通过系统化练习可快速掌握Linux核心操作技能,为运维、开发等岗位打下坚实基础。 

实验一:Linux基础操作 1)练习使用启动Linux虚拟机 2)练习同时使用多个控制台登录Linux 3)练习使用date、shutdown、exit、halt、reboot等命令 a.使用date命令修正系统时间,改为当前日期时间 b.使用shutdown命令发出警告信息,查看其他控制台上的用户是否收到信息。 c.通过Internet查找,是否还有其他的关机命令 4)练习操作shell中的特殊按键 在做以下实验之前,用root登录到虚拟控制台1(下面简称vc1),增加一个普通用户,用户名自定: 添加用户命令:useradd 用户名 修改用户密码命令:passwd 用户名 然后用新增加的用户分别登录虚拟控制台2和3 在虚拟控制台3下用新增加的用户登录成功后,运行如下命令: su (变换身份到超级用户,需要输入root的密码) 5)练习所学习的基础命令,完成以下问题: a.logname和whoami的区别,举例说明 b.从vc1向vc3用write命令发信息,写出这条完整的命令 c.假设当前路径为:/var/log,需要变换到绝对路径为/etc/init.d目录下,则该命令用相对路径怎么写? 6)用tar命令实现如下备份和恢复:(备份文件均放在/root目录下,做本实验前须先将系统时间设置为2013年9月26日) a.对/home目录进行压缩备份(采用gzip压缩),备份文件名为home.tar.gz b.对/home目录进行压缩备份(采用bzip2压缩),备份文件名为home.tar.bz2,比较二种工具的压缩能力 c.在/home目录下建立文件a,在/home目录下建立目录test,在/home/test目录下建立文件b(用vi编辑任意内容) d.对/home目录进行增量备份,备份2013年9月26日以来变化的文件,备份文件名为home.20130926.tar e.删除目录/home,会出现什么情况?然后利用上述备份恢复所有文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EchoZeal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值