实验目标:
通过本实验掌握批量建立, 移动, 复制文件或目录的操作, 也可以作为后续 shell 编程的基础.
实验步骤:
1, 现在有十台终端机器, 要为每台机器建立 3 个文件, 总共要建立 30 个文件.
文件名称为 system_change-machineY-month_Z.txt
其中 Y 为机器编号, 1-10,Z 为月份, jan,feb,mar
2, 一次性创建 3 个目录, 分别为 jan,feb,mar, 根据月份把新建的文件移动到相应的目录
3, 删除和机器 9, 机器 10 相关的所有文件
参考命令:
1, 批量建立文件
[[email protected] student]# touch systemchange-machine{1..10}-month{jan,feb,mar}.txt
{1..10} : 这里的名称为 1 到 10 共 10 个, 中间是两个句点
{jan,feb,mar} : 这里的名称为 3 个, 用逗号隔开, 总文件是 10x3=30 个
ls system* : 显示所有 system 开头的文件, 这里的星号为通配符, 意思匹配任何字符
2.2 批量建立文件夹
[[email protected] student]# mkdir -p /home/syschanges/{jan,feb,mar}
mkdir -p , 自动建立多层目录, 比如 mkdir -p /home/1/2/3, 会把三个目录都建立
{jan,feb,mar} , 建立平行的子目录, 而不是多层次目录
通过 ls -l 查看结果
2.3 批量移动文件
建立 3 个目录
- [[email protected] student]# mkdir -p /home/student/system_change-machine/jan
- [[email protected] student]# mkdir -p /home/student/system_change-machine/feb
- [[email protected] student]# mkdir -p /home/student/system_change-machine/mar
批量移动 (这里的星号为通配符)
- [[email protected] student]# mv system_change-machine*jan.txt /home/student/system_change-machine/jan
- [[email protected] student]# mv system_change-machine*feb.txt /home/student/system_change-machine/feb
- [[email protected] student]# mv system_change-machine*mar.txt /home/student/system_change-machine/mar
查看结果
2.4 批量删除
[[email protected] jan]# rm -f /home/student/system_change-machine//system_change-machine{9,10}.txt
中间的星号代表任何文件夹, 这里是 jan,feb,mar 三个文件夹下
{9,10}, 代表文件名 machine 后面有 9 或 10 的文件
后面的星号代表任何字符
rm -f ,f 参数为强制删除, 不问 yes 或 no
查看结果, 这里的 cd ../ 为上一层目录的意思
来源: http://www.bubuko.com/infodetail-3117131.html