一、实验目的

熟悉Linux的文件和目录管理

二、实验环境

CentOS 6.5系统。

三、实验内容

1. 文件和目录的创建、编辑、复制、移动、删除

2. 文件内容的过滤、排序、去重

3. 文件和目录的查找、压缩、解压、打包、解包、分割和重组

4. 文件名通配符的使用,shell的输入输出重定向和管道

四、实验步骤:

1. 了解Linux目录组织结构

(1) 进入根目录

命令:_cd /_

(2) 查看根目录内容

命令:_ls_

(3) 进入并浏览根目录中的各子目录,了解这些目录主要存放哪方面内容

2. 创建实验文件

(1) 回到主目录

命令:_cd ~_

(2) 执行以下命令:(注意:仔细检查每个字符,包括空格!)

$ touch{report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}

(3) 查看当前目录中文件名以reportmemograph开头的文件

命令:_ls {report,memo,graph}*_

3. 整理新建的文件(把新文件分门别类地整理到相应目录中去)

(1) 在主目录中建立5个目录:

a_reportsseptemberoctobernovemberdecember

命令:_mkdir{a_reports,September,October,November,December}_

(2) 进入目录a_reports

命令:_cd a_reports_

(3) 在当前目录中建立3个子目录:123

命令:_mkdir {1,2,3}_

(4) 回到父目录

命令:_cd .._

(5) 列出所有文件名以“decxbx”结尾的文件(x可以是单个任意字符)

命令:_ls *dec?b?_

(6) 把文件graph_dec_b1移动到目录december

命令:_mv graph_dec_b1 december_

(7) 把所有其余文件名以“decxbx”结尾的文件(x可以是单个任意字符)移动到目录december

命令:_mv *dec?b? december_

(8) 把所有文件名以“sepxbx”结尾的文件(x可以是单个任意字符)移到目录september

命令:_mv *sep?b? september_

(8) 把所有文件名以“octxbx”结尾的文件(x可以是单个任意字符)移到目录october

命令:_mv *oct?b? october_

(10) 把所有文件名以“novxbx”结尾的文件(x可以是单个任意字符)移到目录november

命令:_mv *nov?b? november_

(11) 进入a_reports目录,查看a_reports目录的内容

命令组合:_cd a_reports;ls_

(12) 把主目录中所有文件名以“_a1”结尾的文件移动到子目录1

命令:_mv *_a1 a_reports/1_

(13) 进入子目录1中,并查看所有文件名包含“sep”的文件

命令组合:_cd 1;ls *sep*_

(14) 删除当前目录中文件名包含“sep”的文件,并查看当前目录内容进行验证

命令组合:_rm –d *sep*;ls_

(15) 查看当前目录

命令:_ls_

(16) 使用绝对路径名查看主目录中文件名包含“a2”的文件列表

命令:_ls /home/ronaldqinbiao/shangji2/*a2*_

(17) 使用绝对路径名将主目录中文件名包含“a2”的文件移到主目录下的

a_reports目录的2子目录中

命令:_mv /home/ronaldqinbiao/shangji2/*a2*a_reports/2_

(18) 使用相对路径名查看主目录中文件名包含“a3”的文件列表

命令:_ls ../../*a3*_

(19) 使用相对路径名将主目录中文件名包含“a3”的文件移到主目录下的

a_reports目录的3子目录中

命令:_mv ../../*a3* ../3_

(20) 返回主目录,并查看主目录内容

命令组合:_cd ~;ls_

主目录中剩下的新文件其文件名是否都是以“cx”结尾(x可以是单个任意字符)__

(21) 创建目录archive,该目录将用于重要文件的存档

命令:_mkdir archive_

(22) 利用通配符把文件名以“c1”“c2”结尾的文件复制到目录archive

命令:_cp *{c1,c2} archive_

(23) 把所有文件名以“report_dec”开头的文件复制到目录archive

命令:_cp report_dec* archive_

(24) 查看并删除主目录下剩余的文件名以“cx”的文件(x可以是单个任意字符)

查看命令:_ls *c?_

删除命令:_rm –d *c?_

(25) 查看主目录的及各子目录,检查文件是否放在合理位置,重要文件是否被分到

archive目录中。

4. 文件内容处理

(1) vi编辑器创建文件mobile-phone.list,内容如下:

Iphone5s,apple,2013,1GB,4.0inch,1136*640,1560mAh,4400

Galaxy S5,samsung,2014,2GB,5.1inch,1920*1080,2800mAh,4999

Honor 6,Huawei,2014,3GB,5.0inch,1920*1080,3100mAh,1999

M4,xiaomi,2014,3GB,5.0inch,1920*1080,3080mAh,1999

Mx 4,meizu,2014,2GB,5.36inch,1920*1152,3100mAh,1799

HTC One M8,htc,2014,2GB,5.0inch,1920*1080,2600mAh,3680

Galaxy Note 3,samsung,2013,3GB,5.7inch,1920*1080,3200mAh,3200

Mate 7,Huawei,2014,2GB,6.0inch,1920*1080,4100mAh,2999

Honor3X,Huawei,2013,2GB,5.5inch,1280*720,3000mAh,1450

A8,Lenovo,2014,2GB,5.0inch,1280*720,2500mAh,798

(2) 找出huawei2014年发布的手机的信息

命令:_grep Huawei,2014 mobile-phone.list_

(3) 按照手机电池容量进行排序(由高到低排)

命令:_sort –t ‘,’ –rnk 6 mobile-phone.list_

(4) 列出所有不同的屏幕分辨率(不要重复)

命令:_cut –d ‘,’ –f 6 mobile-phone.list | sort -u_

5. 查找、压缩、解压缩、打包、解包、分割、重组

(1) /usr目录下查找文件大小大于20M的文件并将找到的文件复制到主目录

命令:_cp –r bin ~_

(2) 回到主目录

命令:_cd ~_

(3) 将这些大于20M的文件打包并压缩成bigfiles.tar.bz2

命令:_Find /usr –size +20M –exec cp {} ~ \;

tar –cjvfbigfiles.tar.bz2 bin_

(4) 删除被打包压缩的原始文件

命令:_rm –drf bin_

(5) 将文件bigfiles.tar.bz2分割成10M一个的若干文件bigfiles.tar.bz2.01bigfiles.tar.bz2.02,......

命令:_split –b 10m bigfiles.tar.bz2 –dbigfiles.tar.bz2._

(6) 将分割后的文件重新组合成bigfiles_bak.tar.bz2

命令:_cat bigfiles.tar.bz2.*>bigfiles_bak.tar.bz2_

(7) 通过md5散列值验证重新组合后的bigfiles_bak.tar.bz2和原始文件bigfiles.tar.bz2相同

命令:_md5sum bigfiles.tar.bz2;md5sumbigfiles_bak.tar.bz2_

(8) 删除bigfiles.tar.bz2文件

命令:_rm –dfbigfiles.tar.bz2_

(9) 解压缩解包bigfiles_bak.tar.bz2文件

命令:_tar –xjvf bigfiles_bak.tar.bz2_